Change doc-string comments to `new style' [w/`doc:' keyword].
[bpt/emacs.git] / src / ChangeLog
CommitLineData
2df5238c
PJ
12001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2
48b0f3ae
PJ
3 * coding.c: Change doc-string comments to `new style' [w/`doc:'
4 keyword].
5
2df5238c
PJ
6 * eval.c (top_level_value, top_level_set): Remove commented and
7 #ifdef'd-out code.
8 (Fdefvar): Fix usage in doc-string.
9
3ecaf7e5
RS
102001-11-03 Richard M. Stallman <rms@gnu.org>
11
12 * xfns.c: Include unistd.h, if it exists.
13
14 * editfns.c: Move the include of ctype.h after unistd.h.
15
16 * gmalloc.c: Test BROKEN_PROTOTYPES.
17
8db2e33b
KR
182001-11-03 Ken Raeburn <raeburn@gnu.org>
19
20 * lisp.h (CHECK_STRING_CAR): New macro.
21 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
22 treating XCAR and XCDR as lvalues.
23 (openp): Use CHECK_STRING_CAR.
24 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
25
aed29b97
EZ
262001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
27
28 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 29 (SIGMASKTYPE): Define.
aed29b97
EZ
30
31 * syssignal.h (sigunblock): Don't define if already defined.
32
6cb16f95
PJ
332001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
34
16b45be4
EZ
35 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
36 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
37 Fix typos in comments.
38
020f9b38
PJ
39 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
40 and #ifdef'd-out code.
41 Fix and reindent comments.
42
43 * mocklisp.h: Remove comment which is a copy of comment in
44 mocklisp.c.
45
6cb16f95
PJ
46 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
47 argument `i' in macros.
48
49 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
50 `i' in macros.
51
16b45be4
EZ
52 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
53 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
54 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
55 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
56 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
57 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
58 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
59 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
60 in macros.
61
62 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
63 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
64 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
65 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
66 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
67 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
68 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
69 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
70 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
71 (remove unused second argument).
72
7e9d3c2f
SM
732001-11-02 Stefan Monnier <monnier@cs.yale.edu>
74
75 * syntax.c (describe_syntax): New wrapper.
76 (Finternal_describe_syntax_value): Rename from describe_syntax.
77 Don't insert space at front and \n at the end.
78 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
79
80 * regex.c (re_wctype): Try to fix some warnings.
81 (regcomp, regexec): Don't forget the __restrict.
82
e6bff182
RS
832001-11-02 Richard M. Stallman <rms@gnu.org>
84
85 * textprop.c (Fget_char_property): Doc fix.
86
9ba48103
PJ
872001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
88
89 * process.c (Fstart_process): Add usage to doc-string.
90
91 * data.c (Fsetq_default): Ditto.
92
93 * callint.c (Finteractive): Ditto.
94
c22e59e1
SM
952001-11-01 Stefan Monnier <monnier@cs.yale.edu>
96
97 * macros.c: Don't include keymap.h any more.
98
9271ed2c
RS
992001-11-01 Richard M. Stallman <rms@gnu.org>
100
e6bff182
RS
101 * data.c (Fmake_local_variable): Doc fix.
102
103 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
104 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
105
9271ed2c
RS
106 * keymap.c (Fdescribe_buffer_bindings): Print character property
107 bindings along with or instead of the buffer local map.
108 Make the overriding maps override what they should.
109
8b8bd9c6
PJ
1102001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
111
112 * window.c (grow_mini_window): Fix typo in comment.
113
27188d11
GM
1142001-11-01 Gerd Moellmann <gerd@gnu.org>
115
7b49b9d2
GM
116 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
117 (XTset_vertical_scroll_bar): Likewise.
118
43f7c3ea
GM
119 * xfns.c (x_build_heuristic_mask): Use four_corners_best
120 instead of IMAGE_BACKGROUND.
c22e59e1 121
b350c2e5
GM
122 * xfns.c (four_corners_best): Reindent.
123
c22e59e1 124 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
125 Handle :box so that it is possible to specify sexprs.
126
d576358b
PJ
1272001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
128
129 * xfaces.c (Finternal_merge_in_global_face): Reindent.
130 (Fface_font): Ditto.
131 (Finternal_set_alternative_font_registry_alist): Ditto.
132 (Ftty_suppress_bold_inverse_default_colors): Ditto.
133
134 * xfns.c (x-get-resource): Reindent.
135
bf00d461
EZ
1362001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
137
138 * s/hpux11.h: New file.
139
4e10df59
PJ
1402001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
141
2b209b97
PJ
142 * emacs.c (USAGE1): Show command line option --no-window-system
143 instead of --no-windows in usage.
144 (standard_args): Rename --no-windows to --no-window-system.
145 (bug_reporting_address): Follow Emacs coding conventions.
146
9dbc9081
PJ
147 * eval.c (Fcommandp): Doc fix.
148 Change doc-string comments to `new style' [w/`doc:' keyword].
149
4e10df59
PJ
150 * frame.c (Fframe_live_p): Doc fix.
151
152 * buffer.c (selective-display-ellipses): Doc fix.
153
dd387b25
GM
1542001-10-31 Gerd Moellmann <gerd@gnu.org>
155
fe957e65
GM
156 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
157
dd387b25
GM
158 * xfaces.c (realize_x_face): If C is not a single-byte character,
159 set the face's colors_copied_bitwise_p instead of the defaulted_p
160 members which have a different meaning.
161 (free_face_colors): Do nothing for a face whose colors have been
162 copied bitwise.
163
c22e59e1 164 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 165
2e1280f8
PJ
1662001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
167
687784e8
PJ
168 * marker.c, mocklisp.c: Change doc-string comments to `new style'
169 [w/`doc:' keyword].
2e1280f8 170
b9d9a9b9
GM
1712001-10-31 Gerd Moellmann <gerd@gnu.org>
172
173 * fns.c (require_unwind): Return Lisp_Object.
174
48400103
PJ
1752001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
176
fa1361cb
PJ
177 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
178 (last-input-char): Revert doc-string to be the same as the
179 doc-string of `last-input-event'.
180
48400103
PJ
181 * xdisp.c: Fix typos in comments.
182
eafa3196
GM
1832001-10-31 Gerd Moellmann <gerd@gnu.org>
184
185 * window.c (grow_mini_window): Handle case that the root
186 window is already smaller than the nominal mininum height.
187
747d3f2a
SM
1882001-10-30 Stefan Monnier <monnier@cs.yale.edu>
189
bf9bb76f
SM
190 * emacs.c (main): Don't call keys_of_macros any more.
191
192 * lisp.h (keys_of_macros): Remove.
193
194 * macros.c (keys_of_macros): Remove.
195
747d3f2a
SM
196 * xfaces.c (Fface_attribute_relative_p): Declare args.
197
5e905a57
JR
1982001-10-30 Jason Rumney <jasonr@gnu.org>
199
200 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
201 (enum_font_cb2): Ignore fonts with vertical orientation.
202
3a426197
RS
2032001-10-30 Richard M. Stallman <rms@gnu.org>
204
205 * keyboard.c (Finput_pending_p): Doc fix.
206
a742d646
GM
2072001-10-30 Gerd Moellmann <gerd@gnu.org>
208
259cf6bc
GM
209 * xterm.c (x_after_update_window_line): Don't run the code
210 clearing in borders for rows whose visible height is 0.
211
3f99f948
GM
212 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
213 resized_p flag is set. If not set, use the much less flickering
214 method previously used.
215
216 * dispnew.c (change_frame_size_1): Set frame's resized_p.
217
218 * frame.h (struct frame) <resized_p>: New member.
219
b4a3be43
GM
220 * lread.c (to_multibyte): Ensure read_buffer is at least twice
221 as large as the number of bytes to convert.
747d3f2a 222
a742d646
GM
223 * lread.c (to_multibyte): New function.
224 (read1): Use it.
225
cacbb9e9
EZ
2262001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
227
228 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
229
99cb6b2f
GM
2302001-10-30 Gerd Moellmann <gerd@gnu.org>
231
327f42ee 232 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
233 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
234 if the row's fill_line_p is set and drawing the last glyph with
235 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 236
99cb6b2f
GM
237 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
238
8e8223e2
SM
2392001-10-29 Stefan Monnier <monnier@cs.yale.edu>
240
241 * xmenu.c: Include coding.h and charset.h.
242 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
243 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
244 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
245 Explicitly set wv->help. Use `TRUE' rather than `True'.
246 (menu_help_callback): Use empty_string.
247
248 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
249 (Fx_popup_dialog): Explicitly init f.
250 (w32_menu_display_help): Use empty_string.
251
4d083a8f
RS
2522001-10-29 Richard M. Stallman <rms@gnu.org>
253
b2304472
RS
254 * fns.c (Frequire): Detect recursive try to require the same
255 feature 3 or more levels deep, and get error.
256 (require_unwind): New subroutine.
257 (require_nesting_list): New variable.
258 (syms_of_fns): Init and staticpro it.
259
4d083a8f
RS
260 * print.c (print_object): Clarify indication of insertion type.
261
2fe41216
EZ
2622001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
263
90480000
EZ
264 * coding.c (syms_of_coding): Document that locale-coding-system is
265 used for decoding input on X.
266
2fe41216
EZ
267 * window.c (Fscroll_left, Fscroll_right): Doc fix.
268
74e79967
PJ
2692001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
270
271 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
272 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
273
60ebcfe8
GM
2742001-10-29 Gerd Moellmann <gerd@gnu.org>
275
9a7bdceb
GM
276 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
277 use NO_CURSOR if cursor_in_non_selected_windows is false.
278
3f08fcd2
GM
279 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
280 the slant attribute if FRAME is t.
281
0ccfdad2
GM
282 * xfns.c (x_set_internal_border_width): Set frame garbaged
283 when X window doesn't exist yet.
284
ef253080
GM
285 * xterm.c (x_after_update_window_line): Clear internal border
286 in different circumstances.
287
60ebcfe8
GM
288 * xterm.c (XTread_socket) <KeyPress>: Don't use
289 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
290 <handa@etl.go.jp>.
291
73d25f9c
EZ
2922001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
293
294 * m/ibms390.h: New file. From Adam Thornton
295 <athornton@sinenomine.net>.
296
cac1daf0
GM
2972001-10-28 Gerd Moellmann <gerd@gnu.org>
298
053b3256
GM
299 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
300
cac1daf0
GM
301 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
302 a loop counter.
303
13b1a09c
PJ
3042001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
305
186486eb
PJ
306 * emacs.c: Use argv[0] instead of emacs when -t was specified.
307
4707d2d0
PJ
308 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
309 keyword].
310 Fix typos in comments.
311
d883731c
PJ
312 * emacs.c (bug_reporting_address): New function.
313 Use it when displaying usage message.
314
04012254
PJ
315 * minibuf.c (read_minibuf): Remove unused external declaration of
316 variable `Qread_only'.
317
13b1a09c
PJ
318 * keymap.c (access_keymap): Remove unused variable `charset'.
319
5bbf4378
MB
3202001-10-28 Miles Bader <miles@gnu.org>
321
322 * xfaces.c (merge_face_heights): Handle TO being relative as well.
323 Remove #ifdef'd-out code.
324 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
325 (syms_of_xfaces): Initialize them.
326
1ce1e4ee
JR
3272001-10-27 Jason Rumney <jasonr@gnu.org>
328
329 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
330 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
331 position using the system caret.
332
333 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
334 (w32_system_caret_height, w32_system_caret_x)
335 (w32_system_caret_y): New variables for tracking system caret.
336 (w32_initialize): Initialize them.
c2d53558 337 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 338
c2d53558
SM
339 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
340 New messages types.
1ce1e4ee
JR
341
342 * w32term.c (note_mouse_highlight): Clear old help_echo.
343
4e30ce42
PJ
3442001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
345
bb4600a4
PJ
346 * xterm.c: Fix typo in a comment.
347
7db35a48
PJ
348 * emacs.c: Fix typos in comments.
349 Remove unnecessary spaces.
350 Change doc-string comments to `new style' [w/`doc:' keyword].
351 (USAGE2): Fix typos in usage string.
352
a7248e4f
PJ
353 * xterm.c: Fix typo in a comment.
354
4e30ce42
PJ
355 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
356 emacs.c.
357
62725a92
GM
3582001-10-27 Gerd Moellmann <gerd@gnu.org>
359
798dbe1f 360 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 361 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
362 farther backward when target_y was not reached.
363
62725a92
GM
364 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
365 Display errno only if non-zero.
366 (sound_warning): New function.
367 (vox_configure): Don't treat failing to set sample rate as error.
368 (various places): Improve error messages.
369
d4e34d24
EZ
3702001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
371
944e6f60
EZ
372 * fileio.c (Faccess_file): Run the argument filename through
373 Fexpand_file_name, before using it.
374
d4e34d24
EZ
375 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
376 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
377
38d2af0c
GM
3782001-10-26 Gerd Moellmann <gerd@gnu.org>
379
da80a8d5
GM
380 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
381
38d2af0c
GM
382 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
383 Fix clearing in the case of scroll bars on the right.
c2d53558 384
56f508dd
EZ
3852001-10-26 Juanma Barranquero <lektu@terra.es>
386
387 * w32gui.h (XImage): Add a dummy typedef.
388
fbd5ceb2
GM
3892001-10-26 Gerd Moellmann <gerd@gnu.org>
390
c2d53558 391 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 392
b23236fb
EZ
3932001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
394
395 * frame.c (Fframe_parameter): Fix last change.
396
5d991fc4
EZ
397 * fileio.c: Revert last change (which removed old commented-out
398 version of expand-file-name). Add a comment that explains why
399 this old version should not be removed.
400
879eadc3
GM
4012001-10-25 Gerd Moellmann <gerd@gnu.org>
402
75700ff2
GM
403 * frame.c (Fframe_parameter): Fix a bug whereby some
404 ``artificial'' frame parameters, like `minibuffer' were not
405 obtained by calling Fframe_parameters.
406
dfe92a6a
GM
407 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
408 cursor differently.
409
879eadc3
GM
410 * xdisp.c (move_it_vertically_backward): Compute line height
411 differently. Add heuristic to try to be more compatible to 20.x.
412
e1010ebe
SM
4132001-10-25 Stefan Monnier <monnier@cs.yale.edu>
414
d73a471b
SM
415 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
416
d6da5a06
GM
417 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
418 boolean.
e1010ebe 419
f66bd220
MB
4202001-10-25 Miles Bader <miles@gnu.org>
421
422 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
423 BG is a pointer to a structure, not a structure.
424 (gif_format, png_format): Add missing commas.
425
d436d538
RS
4262001-10-24 Richard M. Stallman <rms@gnu.org>
427
428 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 429 (syms_of_xfaces): Defsubr it.
d436d538 430
075c507b
PJ
4312001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
432
433 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
434 variable `area'.
435
d492b584
PJ
4362001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
437
c2d53558 438 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 439
e2a57b34
MB
4402001-10-25 Miles Bader <miles@gnu.org>
441
442 * dispextern.h (struct image): Add `background',
443 `background_valid', and `background_transparent' fields.
444 (image_background, image_background_transparent): New declarations.
445 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
446 * xfns.c (image_background, image_background_transparent)
447 (four_corners_best): New functions.
c2d53558 448 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
449 (gs_format): Add `:background' entry.
450 (lookup_image): Set IMG's background color if specified.
451 (pbm_load, xbm_load_image, png_load): Set IMG's background field
452 when appropriate.
453 (x_clear_image_1): Reset `background_valid' and
454 `background_transparent_valid' fields.
455 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
456 calculating it here. Set IMG's background_transparent field.
457 (enum xpm_keyword_index): Add XPM_BACKGROUND.
458 (enum png_keyword_index): Add PNG_BACKGROUND.
459 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
460 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
461 (enum gif_keyword_index): Add GIF_BACKGROUND.
462 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 463 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
464 Pre-calculate image background color where necessary.
465 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
466 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
467 color to use for image glyph reliefs.
468
b547b6e8
GM
4692001-10-24 Gerd Moellmann <gerd@gnu.org>
470
d9e3b8c6
GM
471 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
472 in full-width rows.
c2d53558 473
b547b6e8
GM
474 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
475 Fix clearing of area not covered by scroll bar.
476
2beb36f9
PJ
4772001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
478
479 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
480 and `real_start'.
c2d53558 481 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
482 (glyph_rect): Remove unused variable `area'.
483
76cb5e06
GM
4842001-10-24 Gerd Moellmann <gerd@gnu.org>
485
bdbdebff 486 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
487
488 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
489 (row_containing_pos): Take additional argument DY.
490 Treat rows ending in middle of char differently.
62e33982
GM
491 (display_line): Handle tabs on window systems differently.
492
493 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
494 with additional argument.
495
496 * dispextern.h (row_containing_pos): Adjust prototype.
497
76cb5e06
GM
498 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
499 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
500 (try_window_id, try_window_reusing_current_matrix)
501 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
502 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
503
996fee11
PJ
5042001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
505
c9e60620
PJ
506 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
507 gnuemacs).
508 (HAVE_BOXES): Fix typo in comment.
509 (push_menu_pane): Fix typo in comment.
510
3b552d56
PJ
511 * xdisp.c: (display_prop_string_p): Remove unused local declaration
512 of `Qwhen'.
513 (single_display_prop_string_p): Remove unused local declarations
514 of `Qwhen' and `Qmargin'.
515 (string_buffer_position): Remove unused variable `around'.
516 (store_frame_title): Remove unused variable `width'.
517
15c565ac
PJ
518 * window.c: Don't define max.
519 (coordinates_in_window): Remove unused variable `uy'.
520
a8818eb9
PJ
521 * widget.c: Don't define max.
522
996fee11
PJ
523 * process.c: Don't define max.
524 (create_process): Remove unused variable `buffer'.
525
496e1a5b
GM
5262001-10-23 Gerd Moellmann <gerd@gnu.org>
527
c2d53558 528 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 529
5905ae8b
EZ
5302001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
531
532 * xfaces.c (Finternal_set_lisp_face_attribute)
533 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
534 frame is on a windowed display.
535
24db49fb
GM
5362001-10-23 Gerd Moellmann <gerd@gnu.org>
537
c2d53558
SM
538 * dispnew.c (sync_window_with_frame_matrix_rows):
539 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
540 of marginal areas.
541
c2d53558 542 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 543
f0487f05
EZ
5442001-10-23 Andreas Schwab <schwab@suse.de>
545
546 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
547 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
548
f0a48a01
GM
5492001-10-23 Gerd Moellmann <gerd@gnu.org>
550
c2d53558 551 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
552 REAL_END. Notice if cursor gets overwritten.
553 (notice_overwritten_cursor): Take X positions as parameters.
554 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
555 around call to x_draw_glyphs.
556
a50a10a0
PJ
5572001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
558
fc11dff0
PJ
559 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
560 instead of C) and usage.
a50a10a0 561
fc11dff0
PJ
562 * editfns.c (char-to-string): Fix argument names (use CHAR instead
563 of C) and usage.
a50a10a0
PJ
564
565 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
566 `left', `max_width' and `max_height'.
567
8738febd
GM
5682001-10-23 Gerd Moellmann <gerd@gnu.org>
569
570 * xdisp.c (display_line): For a tab continued to the next line,
571 set row's ends_in_middle_of_char_p.
572
653c329b
GM
5732001-10-22 Gerd Moellmann <gerd@gnu.org>
574
575 * xdisp.c (display_line): Fix computation of continuation lines
576 width for TABs.
577
f958c5ac
PJ
5782001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
579
7ba51063
PJ
580 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
581 `Qlaplace'.
582
f958c5ac
PJ
583 * fileio.c: Remove unused code.
584
eb360291
MB
5852001-10-22 Miles Bader <miles@gnu.org>
586
587 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
588 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
589 Remove `DOC_STRINGS_IN_COMMENTS' cases.
590
98515cf0
JR
5912001-10-21 Jason Rumney <jasonr@gnu.org>
592
593 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
594
93026d88
EZ
5952001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
596
597 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
598 (Finsert_string): Avoid the multi-line string literals warning.
599
c9a95b79
MB
6002001-10-22 Miles Bader <miles@gnu.org>
601
602 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
603 (Fdocumentation): Don't use it.
604 (syms_of_doc): Don't initialize it.
605
606 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
607 * print.c (Fwith_output_to_temp_buffer): Likewise.
608 * window.c (Fsave_window_excursion): Likewise.
c2d53558 609 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 610 (Fsave_restriction): Likewise.
c2d53558
SM
611 * eval.c (Frun_hooks, Frun_hook_with_args)
612 (Frun_hook_with_args_until_failure)
613 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
614 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
615 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
616 (Funwind_protect, Fcondition_case): Likewise.
617 * coding.c (Ffind_operation_coding_system): Likewise.
618 * keyboard.c (Ftrack_mouse): Likewise.
619
a3b10252
MB
6202001-10-21 Miles Bader <miles@gnu.org>
621
c2d53558 622 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
623 (Fmake_hash_table): Add usage: string to doc string.
624 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 625 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
626 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
627 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
628 (Fml_prefix_argument_loop): Likewise.
629
c6f73eec
PJ
6302001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
631
c2d53558 632 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 633
c6f73eec
PJ
634 * sysdep.c (init_sys_modes): Change doc-string comments to `new
635 style' [w/`doc:' keyword].
636
637 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
638 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
639 comments to `new style' [w/`doc:' keyword].
640
3cf3436e
JR
6412001-10-21 Jason Rumney <jasonr@gnu.org>
642
643 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
644
c169b8f1
JR
645 * w32term.c (remember_mouse_glyph): New function.
646 (w32_mouse_position): Use it.
647 (note_mouse_movement): If the mouse moved off the glyph, remember
648 its new position.
c2d53558 649
4fdd691b
JR
650 * w32term.h (struct w32_output): Correct spelling of x_compatible.
651 (w32_display_info): Add mouse_face_overlay.
652
c169b8f1
JR
653 * w32term.c (notice_overwritten_cursor): Renamed from
654 note_overwritten_text_cursor. Rewritten to take glyph widths into
655 account.
656 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
657 (fast_find_string_pos): New function.
658 (fast_find_position): Return the correct vpos. Add parameter
659 STOP. In the final row, stop before glyphs having STOP as object.
660 Don't consider glyphs that are not from a buffer.
661 (fast_find_position) [0]: Add a presumably more correct version
662 for after 21.1.
663 (expose_window_tree, expose_frame): Don't compute intersections here.
664 (expose_window): Do it here instead.
665 (expose_window_tree, expose_window, expose_line): Return 1 when
666 overwriting mouse-face.
667 (expose_window): If W is the window currently being updated, mark
668 the frame garbaged.
669 (expose_frame): If mouse-face was overwritten, redo it.
670 (x_use_underline_position_properties): New variable.
671 (syms_of_xterm): DEFVAR_BOOL it.
672 (x_draw_glyph_string): Add comment to use it in future.
673 (x_draw_glyph_string): Restore clipping after drawing box.
674 Fix a computation of the underline position.
675 (w32_get_glyph_string_clip_rect): Minor cleanup.
676 (x_fill_stretch_glyph_string): Remove an assertion.
677 (x_produce_glyphs): Don't convert multibyte characters
678 to unibyte characters in unibyte buffers.
679 (cursor_in_mouse_face_p): New function.
680 (x_draw_stretch_glyph_string): Use it to choose a different GC
681 when drawing a cursor within highlighted text. Don't draw
682 background again if it has already been drawn.
683 (x_draw_glyph_string_box): Don't draw a full-width
684 box just because the glyph row's full_width_p flag is set.
685 (x_draw_glyphs): Fix computation of rightmost x for
686 full-width rows.
687 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
688 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
689 change bottom shadow accordingly. Some cleanup.
690 (x_update_window_end): Handle overwritten mouse face
691 also for tool bar windows.
692 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
693 DRAW is DRAW_IMAGE_RAISED.
694 (clear_mouse_face): Return 1 if text with mouse face was
695 actually redrawn. Make the function static. Reset
696 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
697 optimize away highlighting if we pass over that same overlay again.
698 (note_mouse_highlight): Call mouse_face_overlay_overlaps
699 to detect a case where we have to highlight a different region
700 despite not having left the currently highlighted region.
701 Set mouse_face_overlay in the x_display_info. Avoid changing the
702 mouse pointer shape when show_mouse_face has already done it, or
703 there is no need. Handle mouse-face and help-echo in strings.
704 (glyph_rect): New function.
705 (w32_mouse_position): Use it to raise the threshold for mouse
706 movement event generation.
707 (w32_initialize_display_info): Initialize the x_display_info's
708 mouse_face_overlay.
709 (w32_set_vertical_scroll_bar): Don't clear a zero height
710 or width area.
711 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
712 a widget to zero height.
713
3cf3436e 714 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 715 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
716 equivalents in menu_items.
717 (w32_menu_show): Don't overwrite an item's name with its key
718 description in case the description is a multibyte string.
719 (single_submenu): Some cleanup.
720
721 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
722 (postprocess_image): New function.
723 (lookup_image): Call it for all image types except PostScript.
724 (x_kill_gs_process): Call postprocess_image.
725 (tiff_error_handler, tiff_warning_handler): New functions.
726 (tiff_load): Install them as handlers.
727 (x_kill_gs_process): Recognize if someone has cleared the image
728 cache under us.
729 (valid_image_p): Protect better against invalid image
730 specifications. Previous code could signal an error.
731 (Fx_hide_tip, Fshow_tip): Doc fix.
732 (Fv_max_tooltip_size): New variable.
733 (syns_of_xfns): DEFVAR_LISP it.
734 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
735 window buffer to *tip* right after creating the frame. Set frame's
736 window_width. Use a maximum tooltip size specified by
737 Vx_max_tooltip_size, if that has valid contents.
738 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
739 Make sure the tooltip is completely visible.
740 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
741 (Fx_create_frame): Adjust the frame's height for presence
742 of the tool bar before calling x_figure_window_size.
743 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
744 when the window gets smaller.
745 (x_set_foreground_color): Set frame's cursor_pixel.
746 (x_set_foreground_color, x_set_background_color): Cleaned up.
747 (x_set_font): Handle case of x_new_fontset returning the same name
748 as before, although there was a change in fontsets.
749
386ca361
MB
7502001-10-21 Miles Bader <miles@gnu.org>
751
c2d53558 752 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
753 (Flogxor): Add usage: string to doc string.
754 * charset.c (Fstring): Likewise.
755 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
756 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
757
14ff1ee0
PJ
7582001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
759
03be2694
PJ
760 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
761
762 * alloc.c: Reindent DEFUNs with doc: keywords.
763
764 * abbrev.c (Finsert_abbrev_table_description): Reindent.
765
14ff1ee0
PJ
766 * frame.c: Change doc-string comments to `new style' [w/`doc:'
767 keyword].
768
71431a0e
GM
7692001-10-20 Gerd Moellmann <gerd@gnu.org>
770
6aa97356 771 * (Version 21.1 released.)
71431a0e 772
39f624fa
PJ
7732001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
774
c2d53558 775 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
776
777 * xdisp.c (invisible_text_between_p): Put prototype inside #if
778 0 because unused.
779
780 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
781 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
782 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 783
abcce93a
MB
7842001-10-20 Miles Bader <miles@gnu.org>
785
786 The following changes remove the glyph_row `inverse_p' field,
787 which is never set anymore, due to other changes:
788
789 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
790 (reassert_line_highlight, change_line_highlight): Declarations removed.
791 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
792 (line_hash_code, row_equal_p, fake_current_matrices)
793 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
794 (update_frame_line, update_frame_line, update_frame_line):
795 Don't use `inverse_p' field.
796 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
797 change_line_highlight_hook.
798 (XTreassert_line_highlight, x_change_line_highlight):
799 Functions removed.
c2d53558 800 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
801 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
802 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
803 `inverse_p' field.
c2d53558 804 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
805 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
806 (w32_reassert_line_highlight, x_change_line_highlight):
807 Functions removed.
808 * w32console.c (reassert_line_highlight, change_line_highlight):
809 Functions removed.
810 (initialize_w32_display): Don't set reassert_line_highlight_hook
811 or change_line_highlight_hook.
812 (hl_mode): Function removed.
c2d53558
SM
813 (reset_terminal_modes, set_terminal_modes, update_begin)
814 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
815 (clear_frame, ins_del_lines): Don't call it.
816 * termhooks.h (reassert_line_highlight_hook)
817 (change_line_highlight_hook): Declarations removed.
818 * term.c (reassert_line_highlight_hook)
819 (change_line_highlight_hook): Variables removed.
820 (reassert_line_highlight, change_line_highlight): Functions removed.
821 * msdos.c (IT_reassert_line_highlight)
822 (IT_change_line_highlight): Functions removed.
823 (internal_terminal_init): Don't set reassert_line_highlight_hook
824 or change_line_highlight_hook.
825 (highlight): Variable removed.
c2d53558 826 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
827 (IT_set_terminal_modes): Don't set or use it.
828
829 The following changes remove inverse-video support for terminals
830 that use a `magic cookie' standout mode. Due to changes in the
831 way mode-lines are displayed, such support no longer works
832 anyway, and it's probable that almost no one uses such terminals
833 anymore:
834
835 * term.c (standout_requested): Variable removed.
836 (update_end, highlight_if_desired): Don't use it.
837 (chars_wasted, copybuf): Variables removed.
838 (write_standout_marker): Function removed.
c2d53558 839 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
840 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
841 Don't use `chars_wasted' or `copybuf'.
842 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
843 Set `costs_set' to true.
844 (cursor_to, clear_end_of_line): Test `costs_set' instead of
845 `chars_wasted'.
846 (clear_end_of_line): Function removed.
847 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
848 (clear_to_end): Call `clear_end_of_line' instead of
849 `clear_end_of_line_raw'.
54800acb
MB
850 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
851 (term_init): Don't set them.
852 Turn off any standout/underline modes that require magic cookies.
c2d53558 853 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
854 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
855 Remove special processing for magic-cookie standout modes.
856 (turn_off_face, turn_on_face): Remove special processing for
857 underline magic-cookie glitch.
abcce93a 858
0b5f679f
RS
8592001-10-19 Richard M. Stallman <rms@gnu.org>
860
861 * eval.c (syms_of_eval): Doc fixes.
862
5a4a5bd4
GM
8632001-10-19 Gerd Moellmann <gerd@gnu.org>
864
865 * xdisp.c (redisplay_internal): Don't clear echo area if the
866 mini-window is selected.
867
79f1f96c
MB
8682001-10-19 Miles Bader <miles@gnu.org>
869
b57c2708
MB
870 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
871 doesn't take precedence if the affected property's value is nil.
872
873 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
874
79f1f96c
MB
875 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
876 with fields and suggest using `forward-line' to avoid them.
877 * editfns.c (Fline_beginning_position, Fline_end_position):
878 Clarify documentation.
879
ef879104
SM
8802001-10-18 Stefan Monnier <monnier@cs.yale.edu>
881
882 * keymap.c (current_minor_maps): `override' only shadows its
883 correspondent in minor-mode-map-alist, not the whole tail.
884
97f4db8c
AI
8852001-10-18 Andrew Innes <andrewi@gnu.org>
886
887 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
888 optimization. The fontp->encoding array was not being initialized
889 correctly when compiled with optimizations by MSVC.
890
e6b70fd8
GM
8912001-10-18 Gerd Moellmann <gerd@gnu.org>
892
30903479 893 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 894
0e804d38
AI
8952001-10-17 Andrew Innes <andrewi@gnu.org>
896
897 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
898
899 * w32fns.c (w32_load_system_font): Cache codepage for font, in
900 font_info.charset field.
901
902 * w32term.c (w32_encode_char): Get cached codepage from font_info,
903 rather than working it out by calling w32_codepage_for_font for
904 every glyph.
905
66e5868a
AI
9062001-10-17 Andrew Innes <andrewi@gnu.org>
907
908 * w32term.c (w32_read_socket): Determine clipping rectangle for
909 the entire frame, including areas covered by scrollbars and the
910 menubar. This avoids internal arguments about whether a frame is
911 fully obscured or not.
912
15b00083
GM
9132001-10-17 Gerd Moellmann <gerd@gnu.org>
914
23e8bd86
GM
915 * xdisp.c (try_window_id): Undo last change. Give up if
916 window ends in strings.
30903479 917
9c6ba6d1 918 * xdisp.c (try_window_id): Don't display lines after the window
30903479 919 end if the rest of the window after the window end was already blank.
23e8bd86 920
30903479 921 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
922 for the release of 21.1.
923
30903479 924 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 925
945220bd
MB
9262001-10-17 Miles Bader <miles@gnu.org>
927
928 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
929 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
930 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
931 Change doc-string comments to `new style' [w/`doc:' keyword].
932 (DOC_STRINGS_IN_COMMENTS): Macro removed.
933 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
934 out make-docfile.
935
14242528
MB
9362001-10-16 Miles Bader <miles@gnu.org>
937
938 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
939
3ddf952f
GM
9402001-10-16 Gerd Moellmann <gerd@gnu.org>
941
942 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
943 *scratch*.
944
f3fbd155
KR
9452001-10-16 Ken Raeburn <raeburn@gnu.org>
946
947 Avoid the assumption that car and cdr slots of cons cells are
948 addressable lvalues; this allows for easier experimentation with
949 other lisp implementations that may not permit such accesses for
950 various reasons. Not quite complete -- buffer.c still needs some
951 work, and w32/mac files need rechecking -- so compile-time
952 enforcement is left disabled for now.
953
954 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 955 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
956 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
957 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
958 (XSETCAR, XSETCDR): New macros.
959 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
960 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
961 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
962 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
963 XSETCDR.
964 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
965 * buffer.c (record_buffer, Fbury_buffer)
966 (swap_out_buffer_local_variables, recenter_overlay_lists)
967 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
968 fields of a cons cell respectively.
969 * callint.c (quotify_args, Fcall_interactively): Likewise.
970 * ccl.c (Fregister_code_conversion_map): Likewise.
971 * coding.c (detect_coding_system): Likewise.
972 * composite.c (get_composition_id, make_composition_value_copy):
973 Likewise.
30903479
SM
974 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
975 (swap_in_symval_forwarding, set_internal, Fset_default)
976 (Fmake_variable_buffer_local, Fmake_local_variable)
977 (Fmake_variable_frame_local): Likewise.
f3fbd155 978 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 979 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 980 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
981 * minibuf.c (get_minibuffer): Likewise.
982 * search.c (Fmatch_data): Likewise.
983 * textprop.c (extend_property_ranges): Likewise.
c2d53558 984 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
985 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
986 Likewise.
987 * w32term.c (x_delete_display): Likewise.
988 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
989 Likewise.
c2d53558 990 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 991 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 992 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
993 (Fread_file_name): Use XSETCAR.
994 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
995 CHECK_NUMBER_CDR.
996 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
997 * frame.c (Fmake_terminal_frame): Use XSETCDR.
998 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
999 CHECK_NUMBER_CDR.
1000 * keyboard.c (read_char): Alter list traversal to avoid taking the
1001 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1002 (parse_menu_item): Use XSETCAR and XSETCDR.
1003 (reach_char_x_menu_prompt): Use XSETCAR.
1004 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1005 (Fcommand_execute): Use XSETCDR.
1006 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1007 (openp): Change list traversal to avoid using XCAR as lvalue.
1008 (read_list): Use XSETCDR.
1009 * process.c (wait_reading_process_input): Change wait_for_cell
1010 handling to avoid taking addresses of cons cell slots.
30903479
SM
1011 * xselect.c (x_own_selection, x_handle_selection_clear)
1012 (x_clear_frame_selections): Use XSETCDR.
1013 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1014 (x_handle_property_notify, x_get_foreign_selection)
1015 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1016
502150e5
PJ
10172001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1018
018ba359
PJ
1019 * buffer.c: Put doc strings in comments.
1020
30903479 1021 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1022
b56ba8de
SS
10232001-10-15 Sam Steingold <sds@gnu.org>
1024
1025 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1026
6a0b793a
PJ
10272001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1028
30903479
SM
1029 * process.c (process-inherit-coding-system-flag)
1030 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1031 in comment.
1032
a1f17501 1033 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1034 arguments. Put doc strings in comments.
a65da641
PJ
1035
1036 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1037
aa601ad0
GM
10382001-10-15 Gerd Moellmann <gerd@gnu.org>
1039
30903479 1040 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1041
aa601ad0
GM
1042 * window.c (select_window_1): Unfreeze window start. Remove a
1043 doubled test for WINDOW being live.
1044
288148a1
PJ
10452001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1046
dd8d1e71
PJ
1047 * fns.c (Fmapconcat): Fix typo in a doc string.
1048
288148a1
PJ
1049 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1050
9f5eb4a3
GM
10512001-10-15 Gerd Moellmann <gerd@gnu.org>
1052
1053 * xterm.c (x_draw_glyph_string): Restore clipping after
1054 drawing box.
1055
dbae44c8
PJ
10562001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1057
30903479 1058 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1059
0c88c937
SM
10602001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1061
56378db4
GM
1062 * indent.c (skip_invisible): Use new retval of
1063 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1064
845e4cf4
SM
1065 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1066 If a parent is reached and noinherit is set, exit immediately.
1067 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1068
0c88c937
SM
1069 * s/ms-w32.h (EXEC_SUFFIXES):
1070 * s/msdos.h (EXEC_SUFFIXES):
1071 * process.h (EXEC_SUFFIXES): Remove.
1072
1073 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1074 (decode_suffixes): Remove.
1075
1076 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1077 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1078 (invisible_ellipsis_p): Remove.
0c88c937
SM
1079
1080 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1081 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1082 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1083 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1084 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1085
d19be8a9
PJ
10862001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1087
04d7d066
PJ
1088 * lisp.h (Ftop_level): Add prototype.
1089
d624284c
PJ
1090 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1091 (XTread_socket): Improve style of comments to follow other
1092 comments.
1093
a87414f9
PJ
1094 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1095 is already prototyped in included lisp.h).
1096
d19be8a9
PJ
1097 * frame.c (Fset_mouse_position): Improve style of comment to
1098 follow other comments.
1099 (Fset_mouse_pixel_position): Improve style of comment to follow
1100 other comments.
1101 (Fmake_frame_visible): Doc fix and typo in comment.
1102 (Fmake_frame_invisible): Doc fix and typo in comment.
1103 (Ficonify_frame): Fix typo in comment.
1104
c061c855
GM
11052001-10-14 Gerd Moellmann <gerd@gnu.org>
1106
37f6b5b6 1107 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1108 * term.c, alloc.c: Put doc strings in comments.
c061c855 1109
e641b454
GM
11102001-10-13 Gerd Moellmann <gerd@gnu.org>
1111
1112 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1113 Provide definitions for doc strings in comments.
1114
1115 * fns.c: Put doc strings in comments.
1116
51724e26
EZ
11172001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1118
1119 * dired.c (file_name_completion): Ignore a candidate directory if
1120 it matches an element in completion-ignored-extensions that ends
1121 in a slash.
1122 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1123 feature in the doc string.
1124 (Ffile_name_completion): Ditto.
1125
be5fc59b
SM
11262001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1127
5a1373f3
SM
1128 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1129
1130 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1131
1132 * lisp.h (Fprovide): Update prototype.
1133 (Ffeaturep, invisible_p): Remove.
1134
bbc4a3d3 1135 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1136 (DOLIST, LOOP_PROPVAL): New macros.
1137 (invisible_p, invisible_ellipsis_p): Use them.
1138 (invisible_noellipsis_p): New function.
1139 (syms_of_xdisp): Use empty_string.
1140
1141 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1142
1143 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1144 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1145
1146 * print.c (Fwith_output_to_temp_buffer): Align with
1147 internal_with_output_to_temp_buffer.
1148 (print_preprocess): Use traverse_intervals_noorder.
1149 (print_object): Update call to traverse_intervals.
1150
1151 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1152 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1153
1154 * intervals.c (traverse_intervals_noorder): New function.
1155 (search_for_interval, count_intervals): Use it.
1156 (traverse_intervals): Use less stack space and drop `depth' arg.
1157
1158 * fns.c (Ffeaturep): Add new `subfeature' arg.
1159 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1160 (Qsubfeatures): New var.
1161 (syms_of_fns): Initialize it.
1162
026f408d
SM
1163 * keymap.c (Fkey_description): Use empty_string.
1164 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1165 (syms_of_keymap): Setup inheritance between maps.
1166 Don't export Sdescribe_bindings_internal any more.
1167
be5fc59b
SM
1168 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1169
3365175e
GM
11702001-10-12 Gerd Moellmann <gerd@gnu.org>
1171
1172 * xterm.c (notice_overwritten_cursor): Renamed from
1173 note_overwritten_text_cursor. Rewritten to take glyph widths into
1174 account.
1175
2ab7765c
EZ
11762001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1177
1178 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1179 multi-line strings without a trailing "\n\".
1180
311346bb
PJ
11812001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1182
1183 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1184 defined.
1185
2168e04d
SM
11862001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1187
026f408d
SM
1188 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1189
c0ec53ad
SM
1190 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1191 * w32proc.c (sys_spawnve):
1192 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1193 * w32.c (check_windows_init_file):
1194 * sound.c (Fplay_sound):
026f408d 1195 * emacs.c (init_cmdargs):
c0ec53ad
SM
1196 * process.c (Fstart_process): Update calls to openp.
1197
1198 * callproc.c (Vexec_suffixes): New var.
1199 (Fcall_process): Update call to openp.
1200 (decode_suffixes): New function.
1201 (syms_of_callproc): Init exec-suffixes.
1202
1203 * lread.c (Vload_suffixes, default_suffixes): New vars.
1204 (openp): Take a lisp list of suffixes.
1205 Check for file-name-handlers even if the file was absolute already.
1206 (syms_of_lread): Declare load-suffixes.
1207 (Fload): Fix up call to openp.
1208 Don't bother checking for file-name-handler at the very beginning.
1209
f6333468
SM
1210 * keymap.h (Fcopy_keymap): Don't export.
1211
1212 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1213 (Vload_suffixes, Vexec_suffixes): Declare.
1214 (openp): Update prototype.
f6333468
SM
1215
1216 * emacs.c (empty_string): New var.
1217 (syms_of_emacs): Initialize it.
1218
1219 * search.c (wordify): Use it.
1220
1221 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1222 selected window if it's not displayed there. Handle the case
1223 when the window is dedicated.
1224 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1225
1226 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1227
2168e04d
SM
1228 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1229 Remove left_ok and right_ok.
1230 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1231 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1232 new meaning of b_property.
1233
1234 * syntax.c (update_syntax_table): Simplify.
1235 (Fforward_comment): Don't skip quoted chars when going backward.
1236
13d95cc0
GM
12372001-10-11 Gerd Moellmann <gerd@gnu.org>
1238
beb0990f
GM
1239 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1240 in case I is of some unsigned type, in which case
1241 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1242 comparison becomes bogus.
1243
cb938d46
GM
1244 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1245 (Fuser_full_name): Fix bug treating a float as a fixnum.
1246
1247 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1248
1249 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1250
13d95cc0
GM
1251 * lisp.h (circular_list_error): Add prototype.
1252
1253 * data.c (Qcircular_list): New variable.
1254 (circular_list_error): New function.
1255 (syms_of_data): Initialize it Qcircular_list.
1256
e35f6ff7
SM
12572001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1258
1259 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1260 casefiddle.c, buffer.c: Include keymap.h.
1261
619632ac
GM
12622001-10-10 Gerd Moellmann <gerd@gnu.org>
1263
1264 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1265 options. From Dave Love <d.love@dl.ac.uk>.
1266
5e5388f6
GM
12672001-10-09 Gerd Moellmann <gerd@gnu.org>
1268
1269 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1270 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1271
14a3dff7
GM
1272 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1273 unsigned char.
1274 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1275
76ba8daf
AI
12762001-10-08 Andrew Innes <andrewi@gnu.org>
1277
1278 * lisp.h [max]: Undef min and max before redefining them.
1279
1280 * w32gui.h: Do not undef min and max.
1281
1282 * w32heap.h: Do not undef min and max.
1283
1284 * s/ms-w32.h: Do not undef min and max.
1285
166253cb
SM
12862001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1287
1288 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1289
0c4d9527
SS
12902001-10-08 Sam Steingold <sds@gnu.org>
1291
1292 * keymap.c (current-active-maps): Quote newlines (compilation error).
1293
14bfa771
EZ
12942001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1295
1296 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1297 bindings.elc, since otherwise doc strings in bindings.el get wrong
1298 offsets in etc/DOC.
1299
bdb7aa47
SM
13002001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1301
9985827f
SM
1302 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1303
1304 * keyboard.h (map_prompt): Remove.
1305
1306 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1307 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1308
bdb7aa47
SM
1309 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1310
1311 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1312
1313 * keyboard.c (map_prompt): Remove.
1314 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1315 Use Fkeymap_prompt.
1316
1317 * keymap.h: New file. Extracted from lisp.h.
1318
9985827f
SM
1319 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1320 (accessible_keymaps_1): New function.
1321 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1322 (Fwhere_is_internal): Use Fcurrent_active_maps.
1323 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1324 Insert in current buffer rather than standard-output.
1325 Don't call `help-mode'. Export to elisp.
1326 (describe_buffer_bindings): New wrapper.
1327 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1328 and Sdescribe_buffer_bindings.
1329
402c9a51
GM
13302001-10-08 Gerd Moellmann <gerd@gnu.org>
1331
9985827f 1332 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1333 Remove code setting signal handler.
1334
9985827f 1335 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1336 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1337
3fe81fdf
PJ
13382001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1339
1340 * keyboard.c: Don't define min/max.
1341
55fa7820
GM
13422001-10-08 Gerd Moellmann <gerd@gnu.org>
1343
9985827f 1344 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1345 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1346 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1347 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1348 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1349 Don't define min/max.
1350
1351 * lisp.h (min, max): New macros.
1352
55fa7820
GM
1353 * puresize.h (BASE_PURESIZE): Increase to 725000.
1354
1aad31e4
PJ
13552001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1356
9180dc8c
PJ
1357 * xfaces.c (free_frame_menubar): Add prototype.
1358
01f67d2c
PJ
1359 * lisp.h (init_window): Add prototype.
1360
1361 * editfns.c: Include ctype.h.
1362
1363 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1364 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1365 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1366 variable `sb'.
1367
5f351ff1
PJ
1368 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1369 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1370 `popup_activated_flag' and `title'.
1371
479dfe87
PJ
1372 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1373
dff49fc8
PJ
1374 * emacs.c (main): Remove extra `;'.
1375
248ac615
PJ
1376 * atimer.h (struct atimer): Fix typos in a comment.
1377
1378 * atimer.c: Fix typo.
1379
af232c7d
PJ
1380 * Makefile.in: Fix typo.
1381
1382 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1383
d876f455
MB
13842001-10-07 Miles Bader <miles@gnu.org>
1385
1386 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1387
0037e2f2
KR
13882001-10-07 Ken Raeburn <raeburn@gnu.org>
1389
b056f36d
KR
1390 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1391 Lisp_Object.
1392
0037e2f2
KR
1393 * lisp.h (Ffield_end): Declare.
1394
1a4372ef
GM
13952001-10-07 Gerd Moellmann <gerd@gnu.org>
1396
a4a74e8c
GM
1397 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1398
1399 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1400
1401 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1402
1403 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1404
1a4372ef
GM
1405 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1406 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1407
1408 * alloc.c (inhibit_garbage_collection): Simplify.
1409 (Fmemory_use_counts): Ditto.
1410
9985827f 1411 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1412 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1413 most-negative-fixnum.
1414
9985827f 1415 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1416 (FIXNUM_OVERFLOW_P): New macros.
1417
4650e362
MB
14182001-10-06 Miles Bader <miles@gnu.org>
1419
1420 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1421 scroll_bar_bottom_shadow_pixel fields.
1422 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1423 for the shadows, and tell the toolkit about them if we succeed.
1424 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1425 Free scroll-bar shadow colors.
1426 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1427 Free scroll-bar shadow colors when the background color changes.
1428 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1429 Initialize scroll-bar shadow-color fields.
1430
ace64e0a
GM
14312001-10-05 Gerd Moellmann <gerd@gnu.org>
1432
1433 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1434
ec66bdc7
MB
14352001-10-05 Miles Bader <miles@gnu.org>
1436
9985827f
SM
1437 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1438 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1439 New functions (were in simple.el).
9985827f 1440 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1441 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1442 (syms_of_minibuf): Initialize them.
1443
a0fb4492
GM
14442001-10-05 Gerd Moellmann <gerd@gnu.org>
1445
1446 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1447 (tiff_load): Install them as error and warning handler.
1448
0bcf87c1
AI
14492001-10-04 Andrew Innes <andrewi@gnu.org>
1450
1451 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1452 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1453 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1454 (x_to_w32_charset): Handle private format for unknown charsets.
1455 Handle wildcards in charset spec, by ignoring them.
1456 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1457 "*-" prefix from charset.
1458 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1459 handle the truncated font spec form constructed by font_list_1, so
1460 that we correctly identify the charset fields. Don't remove "*-"
1461 prefix from charset.
1462 (w32_list_synthesized_fonts): Fix argument to alloca.
1463
c89e4bc5
GM
14642001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1465
1466 * window.h (MINI_WINDOW_P): Use NILP.
1467
1468 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1469
1470 * termhooks.h (struct input_event): Use proper type for `kind'.
1471
14722001-10-04 Gerd Moellmann <gerd@gnu.org>
1473
1474 This handles unknown keysyms better than before. For example,
1475 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1476 Emacs formerly completely ignored F5. With the change, it derives
1477 a key symbol from the name of the X keysym, `ccaron' in this case.
1478 Reported by Martin Buchholz.
1479
1480 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1481 unknown keysyms.
1482
1483 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1484 that EVENT->code isn't a function key, use the keysym's name.
1485
14862001-10-04 Gerd Moellmann <gerd@gnu.org>
1487
1488 FOREACH is a macro that should make it easier to loop over Lisp
1489 lists with checks for cycles and proper lists.
1490
1491 * lisp.h (LIST_END_P, FOREACH): New macros.
1492
14932001-10-04 Gerd Moellmann <gerd@gnu.org>
1494
1495 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1496 called for a lost connection. Prevent dumping core in this case.
1497 Instead print the X error, and exit. On user request.
1498
1499 * xterm.c (error_msg): New variable.
1500 (x_fatal_error_signal): New function.
1501 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1502 as fatal_error_signal_hook around the call to XtCloseDisplay.
1503
1504 * emacs.c (fatal_error_signal_hook): New variable.
1505 (fatal_error_signal): Call that function.
1506
15072001-10-04 Gerd Moellmann <gerd@gnu.org>
1508
1509 With this, Emacs prints how much pure storage it will
1510 approximately need in case pure storage overflows while dumping.
1511
1512 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1513 New variables.
1514 (init_alloc_once): Initialize new variables.
1515 (PURE_POINTER_P): Use new variables.
1516 (pure_alloc): If pure storage overflows, allocate from the heap.
1517 (check_pure_size): New function.
1518 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1519
1520 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1521 (check_pure_size): Add prototype.
1522
1523 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1524
15252001-10-04 Gerd Moellmann <gerd@gnu.org>
1526
1527 This adds a post-gc-hook that's run with GC inhibited.
1528 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1529
1530 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1531 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1532 (Fgarbage_collect): Run post-gc-hook.
1533
15342001-10-04 Gerd Moellmann <gerd@gnu.org>
1535
1536 This adds `defvaralias' and `indirect-variable'. Changes not
1537 directly related to this feature are there to gain the same
1538 performance again as before variable aliases.
1539
1540 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1541 code to get and set symbol values, to take defvaralias into account.
1542
1543 (Note: the new `constant' bit-flag in symbols would make it
1544 possible to define arbitrary read-only variables, e.g. with
1545 `defconst'.)
1546
1547 Documentation is in lispref/variables.texi. Added to NEWS.
1548
1549 * lisp.h (enum symbol_interned): New enumeration.
1550 (struct Lisp_Symbol): Remove member `obarray', add
1551 `indirect_variable', `constant', and `interned'.
1552 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1553 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1554 (indirect_variable): Add prototype.
1555
1556 * print.c (print_preprocess, print_object): Test internedness of
1557 symbols differently.
1558
1559 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1560 bit-fields.
1561 (init_obarray): Likewise for t and nil.
1562
1563 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1564 (Fdefvaralias): New function.
1565 (specbind): Simplify the test if symbol is a constant.
1566 (syms_of_eval): Defsubr Fdefvaralias.
1567
1568 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1569 (Qcyclic_variable_indirection): New variable.
1570 (Fkeywordp): Check for internedness differently.
1571 (Fmakunbound): Simplify the test if symbol is a constant.
1572 (indirect_variable, Findirect_variable): New functions.
1573 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1574 aliased symbol.
1575 (let_shadows_buffer_binding_p): Check for variable aliases.
1576 (set_internal): Simplify the test if SYMBOL is a constant.
1577 If SYMBOL has a buffer-local value and is an alias, use the aliased
1578 symbol instead.
1579 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1580 Sindirect_variable.
1581
1582 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1583 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1584 set directly.
1585
1586 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1587
1588 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1589 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1590 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1591
ab952a4f
GM
15922001-10-04 Gerd Moellmann <gerd@gnu.org>
1593
1594 * Branch for 21.1.
b56ba8de 1595
ba88ff28
MB
15962001-10-03 Miles Bader <miles@gnu.org>
1597
1598 * callproc.c (syms_of_callproc): Explicitly state in the
1599 documentation for `process-environment' that earlier entries take
1600 precedence over later ones.
1601
ae1a9581
MB
16022001-10-02 Miles Bader <miles@gnu.org>
1603
1604 * textprop.c (Fnext_char_property_change)
1605 (Fprevious_char_property_change): Remove reference to non-existant
1606 argument OBJECT from doc-string.
1607
257e3f57
GM
16082001-10-01 Gerd Moellmann <gerd@gnu.org>
1609
1610 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1611 (try_window_id): Skip back over lines ending in a newline from a
1612 string.
1613
1614 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1615 New bit flag
1616
c1f29759
RS
16172001-10-01 Richard M. Stallman <rms@gnu.org>
1618
1619 * search.c (Freplace_match): Doc fix.
1620
c30dce3d
AI
16212001-09-28 Andrew Innes <andrewi@gnu.org>
1622
1623 * w32menu.c (set_frame_menubar): Take into account that
1624 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1625 <raeburn@gnu.org>.
1626
03be5931
EZ
16272001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1628
1629 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1630
75bec752
PJ
16312001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1632
1633 * s/gnu-linux.h: Fix a typo in comment.
1634
83100e0a
AS
16352001-09-28 Andreas Schwab <schwab@suse.de>
1636
1637 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1638 nocombreloc, in case -z combreloc is the default.
1639
a74b48cf
GM
16402001-09-28 Gerd Moellmann <gerd@gnu.org>
1641
1642 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1643 really going on here.
1644
09c4719e
SM
16452001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1646
1647 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1648
f7d5d963
EZ
16492001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1650
1651 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1652 utf-8, menu-bar, and latin-N.
1653 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1654 unconditionally now.
1655 (lisp): Add latin-N, since they are preloaded.
1656
9240e746
GM
16572001-09-27 Gerd Moellmann <gerd@gnu.org>
1658
14531065
GM
1659 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1660 to the left. Some cleanup.
1661
9240e746
GM
1662 * xdisp.c (display_mode_element): One more case where a string's
1663 multibyteness should be used for display.
1664
edd1e654
GM
16652001-09-26 Gerd Moellmann <gerd@gnu.org>
1666
b02439c8
GM
1667 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1668 reading at EOF.
1669
032906b1 1670 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1671 of the only temporarily set echoing flag for deciding when
032906b1
GM
1672 the cancel echoing.
1673
1674 * keyboard.c (echo_kboard): Make externally visible.
1675
1676 * lisp.h (echo_kboard): Declare extern.
1677
cb617e7c 1678 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1679 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1680 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1681 this round of redisplay if make_cursor_line_fully_visible fails.
1682 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1683 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1684
1685 * dispextern.h (required_matrix_width, required_matrix_height):
1686 Add prototypes.
1687
09c4719e
SM
1688 * dispnew.c (required_matrix_width, required_matrix_height):
1689 New functions.
cb617e7c 1690 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1691 (allocate_matrices_for_frame_redisplay: Use them.
1692 Remove parameters CH_DIM.
cb617e7c 1693
edd1e654
GM
1694 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1695 and selected_window to the frame of the window whose mode-lines
1696 are displayed, and to the window itself.
1697 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1698 here.
edd1e654 1699
924b604c
GM
17002001-09-25 Gerd Moellmann <gerd@gnu.org>
1701
daba7643
GM
1702 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1703 the image cache under us.
1704
b7a22712 1705 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1706 with a string value, use that string's multibyteness for displaying.
b7a22712 1707
ad648212
GM
1708 * keyboard.c (read_char): Don't clear a message for a switch-frame
1709 event. From Stefan Monnier <monnier@cs.yale.edu>.
1710
9f8531e5
GM
1711 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1712 version for after 21.1.
1713
1714 * xdisp.c (row_containing_pos): Make externally visible.
1715
1716 * dispextern.h (row_containing_pos): Add prototype.
1717
924b604c
GM
1718 * process.c (send_process): Disable composition if from_byte < 0.
1719 From Kenichi Handa <handa@etl.go.jp>.
1720
6f3f0db4
GM
17212001-09-24 Gerd Moellmann <gerd@gnu.org>
1722
c69c0ebc
GM
1723 * xterm.c (refreshicon): Function removed.
1724
d1182bc4
GM
1725 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1726
1727 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1728
1729 * xterm.c (toplevel): Remove includes in #if 0.
1730
6f3f0db4
GM
1731 * process.c (sigchld_handler) [LINUX]: Don't return from
1732 the signal handler at the end of the loop.
1733
59957f85
GM
17342001-09-21 Gerd Moellmann <gerd@gnu.org>
1735
09c4719e
SM
1736 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1737 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1738
a0528984
EZ
17392001-09-21 Markus Rost <rost@math.ohio-state.edu>
1740
1741 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1742
db92b288
GM
17432001-09-20 Gerd Moellmann <gerd@gnu.org>
1744
3fed8ad5
GM
1745 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1746 since this function can be called during GC.
1747
db92b288
GM
1748 * callproc.c (Fcall_process): Handle errors from pipe(2).
1749 (child_setup): Delete code in #ifdef vipc.
1750
7121b85a
GM
17512001-09-19 Gerd Moellmann <gerd@gnu.org>
1752
72f62cb5
GM
1753 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1754 (display_mode_element): Display the string from decode_mode_spec
1755 depending on its multibyteness.
1756
a2697022
GM
1757 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1758
7121b85a
GM
1759 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1760
bfc97351
GM
17612001-09-18 Gerd Moellmann <gerd@gnu.org>
1762
c9063433
GM
1763 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1764 recursive_edit_unwind.
1765 (recursive_edit_unwind): Set kboard state according to
1766 SINGLE-KBOARD.
1767
3fbdba3e
GM
1768 * buffer.c (modify_overlay): Don't do nothing if START == END;
1769 This can still be a modification, for example when an overlay has
1770 a before-string or after-string.
1771 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1772 an overlay with before-string or after-string.
1773
1270031d
GM
1774 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1775 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1776
bfc97351
GM
1777 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1778 first_unchanged_at_end_row is in front of
1779 last_unchanged_at_beg_row. This code should be removed after the
1780 release of 21.1.
1781
d8a973aa
GM
17822001-09-17 Gerd Moellmann <gerd@gnu.org>
1783
e18c8b8d
GM
1784 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1785 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1786
d8a973aa
GM
1787 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1788 versions >= 2.95.
1789
ed7d6ba4
EZ
17902001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1791
1792 * dired.c (Ffile_attributes): Doc fix.
1793
551629f9
GM
17942001-09-14 Gerd Moellmann <gerd@gnu.org>
1795
1796 * fileio.c (Ffile_symlink_p): Fix last change.
1797
1798 * filelock.c (current_lock_owner): Fix last change.
1799
4c8c7926
GM
18002001-09-13 Gerd Moellmann <gerd@gnu.org>
1801
620c4704
GM
1802 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1803 take that to mean that the buffer is too small.
1804
81c3310d
GM
1805 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1806 that to mean that the buffer is too small.
1807
06fd3792
GM
1808 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1809 current buffer's multibyteness when discarding the iterator's
1810 stack.
1811
4c8c7926
GM
1812 * xfns.c (Fx_window_property): Handle case that property gets
1813 deleted between the two calls to XGetWindowProperty.
1814
9a72e4c1
GM
18152001-09-11 Gerd Moellmann <gerd@gnu.org>
1816
bd819d14 1817 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 1818
a41edd99
GM
1819 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
1820 in addition to read-only.
1821
1822 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
1823 to t in addition to read-only.
1824
1825 * lisp.h (Qinhibit_modification_hooks): Declare.
1826
1827 * insdel.c (Qinhibit_modification_hooks): New variable.
1828 (syms_of_insdel): Initialize and staticpro it.
1829
d4881c6a
GM
1830 * textprop.c (verify_interval_modification): Don't run
1831 modification-hooks if inhibit_modification_hooks.
1832
1833 * dispnew.c (set_window_cursor_after_update): Fix code
1834 finding glyph row containing cursor when cursor_in_echo_area
1835 is >= 0.
1836
9a72e4c1
GM
1837 * xdisp.c (init_from_display_pos): Put some code in #if 0.
1838 (add_to_log): Use bcopy instead of strcpy.
1839 (init_from_display_pos): Use an explicit loop over bytes in
1840 overlay strings instead of calling index.
1841
f4a374a1
GM
18422001-09-10 Gerd Moellmann <gerd@gnu.org>
1843
300e57bd
GM
1844 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
1845
1846 * dispnew.c (direct_output_for_insert): Don't change IT's
1847 stop_charpos to something in front of its current position.
1848
f4a374a1
GM
1849 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
1850 `format'.
1851
7e4cbc91
RS
18522001-09-10 Richard M. Stallman <rms@gnu.org>
1853
1854 * frame.c (Fmouse_position): Doc fix.
1855
6afad91e
GM
18562001-09-07 Gerd Moellmann <gerd@gnu.org>
1857
1858 * xdisp.c (init_from_display_pos): Don't compare the result
1859 of calling index with NULL.
1860
f76e0368
GM
18612001-09-06 Gerd Moellmann <gerd@gnu.org>
1862
1863 * xfns.c (x_set_background_color): Don't change the colors
1864 of the X window of scroll bar widgets.
1865
9ead1b60
AI
18662001-09-05 Andrew Innes <andrewi@gnu.org>
1867
1868 * w32fns.c (w32_createwindow): Undo last change.
1869
c3b497b3
GM
18702001-09-05 Gerd Moellmann <gerd@gnu.org>
1871
08e1d6df
GM
1872 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1873
c3b497b3
GM
1874 * xdisp.c (string_buffer_position): Use *single_char_property*
1875 functions instead of the *single_property* functions.
b56ba8de 1876
8f860180
AI
18772001-09-04 Andrew Innes <andrewi@gnu.org>
1878
9a72e4c1
GM
1879 * w32term.c (w32_read_socket): Add more information to debugging
1880 output.
8f860180
AI
1881
1882 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1883 from Emacs frames, so that calls to GetClipBox in w32term.c
1884 correctly report when part of a frame is visible (including
1885 scrollbars, etc). This prevents repeated redrawing of frames when
1886 only a scrollbar is visible.
1887 (w32_wnd_proc): Add more frame information to debugging output.
1888
2ee1aa00
SM
18892001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1890
1891 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1892
e3b22517
GM
18932001-09-03 Gerd Moellmann <gerd@gnu.org>
1894
7e376260
GM
1895 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1896 help-echo for a string which doesn't have help-echo itself, use
1897 get-char-property to obtain the help-echo from the string's buffer
1898 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1899 have mouse-face, look ``under'' the string for mouse-face from an
1900 overlay.
1901 (fast_find_position): Add parameter STOP. In the final row, stop
1902 before glyphs having STOP as object. Don't consider glyphs that
1903 are not from a buffer.
1904
e3b22517
GM
1905 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1906
9a249bba
EZ
19072001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1908
1909 * fns.c (Fmd5): Doc fix.
1910
c9979669
GM
19112001-08-31 Gerd Moellmann <gerd@gnu.org>
1912
1913 * composite.c (update_compositions): Do nothing if
1914 inhibit-modification-hooks is set.
1915
9584e63a
GM
19162001-08-30 Gerd Moellmann <gerd@gnu.org>
1917
986ec8f2 1918 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1919 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1920 glyph matrices etc. in a core dump.
1921
92a25631
GM
1922 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1923 (syms_of_xdisp): Initialize them.
1924 (handle_single_display_prop): Don't change point, bind `object',
1925 `position', and `buffer-position' instead to the object having the
2ee1aa00 1926 `display' property, position in the object and position in the buffer.
92a25631 1927
9584e63a
GM
1928 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1929 of the buffer if REPLACE is non-nil.
1930
d38633a3
GM
19312001-08-29 Gerd Moellmann <gerd@gnu.org>
1932
1933 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1934
f4fccc1e
EZ
19352001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1936
1937 * w32term.c (x_set_glyph_string_background_width)
1938 (show_mouse_face): Track the last changes in xterm.c.
1939
eaaa65b0
GM
19402001-08-28 Gerd Moellmann <gerd@gnu.org>
1941
7b0870b2
GM
1942 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1943 string's background width so that multi-line mouse-face is drawn
1944 to the right edge of the window.
1945 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1946 glyphs.
1947
6b6e2422 1948 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1949 before inserting/writing glyphs.
6b6e2422 1950
eaaa65b0
GM
1951 * xdisp.c (display_mode_element): Use string_byte_to_char to
1952 determine character positions in strings, use chars_in_text
1953 instead of strwidth.
1954 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1955 a matrix as parameter; this is easier to use from GDB.
1956
9ad62cf8
MB
19572001-08-28 Miles Bader <miles@gnu.org>
1958
2ee1aa00
SM
1959 * textprop.c (Fprevious_single_char_property_change)
1960 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 1961
32171635
GM
19622001-08-27 Gerd Moellmann <gerd@gnu.org>
1963
47d57b22
GM
1964 * fileio.c (Finsert_file_contents): Allocate, restore, and
1965 free composition data in the case of REPLACE not being nil.
1966
1967 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1968 there exist overlay strings with newlines at POS.
1969 (text_outside_line_unchanged_p): Return 0 if changes start at
1970 START and overlays exist at START. Likewise for END.
1971 (try_window_id): Give up if init_to_row_end returns 0.
1972
32171635
GM
1973 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1974 unconditionally.
1975
e1249666
GM
19762001-08-24 Gerd Moellmann <gerd@gnu.org>
1977
33954c45
GM
1978 * keymap.c (access_keymap): Return the cdr of the binding of
1979 a generic character instead of its definition (KEY . BINDING).
1980
e1249666
GM
1981 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1982 to 0 also in the REPLACE case.
1983
fb4c6c96
AC
19842001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1985
1986 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1987 open to determine whether file is readable (as for DOS_NT).
1988
59ecf80b
GM
19892001-08-23 Gerd Moellmann <gerd@gnu.org>
1990
1991 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1992 coding.type is coding_type_no_conversion or coding_type_raw_text,
1993 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1994 non-nil instead of just setting enable_multibyte_characters in the
1995 buffer to nil.
1996
40e33037
GM
19972001-08-22 Gerd Moellmann <gerd@gnu.org>
1998
374388c3
GM
1999 * dispextern.h (struct face_cache): Add member
2000 menu_face_changed_p.
2001
2002 * xfaces.c (menu_face_changed_default): New variable.
2003 (menu_face_changed_count): Variable removed.
2004 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2005 the menu_face_changed_default flag, otherwise set the FRAME's
2006 menu_face_changed_p flag if the `menu' face has been changed.
2007 Prevent calling set_font_frame_param if FRAME is t.
2008 (make_face_cache): Initialize cache's menu_face_changed_p
2009 from menu_face_changed_default.
2010 (realize_basic_faces): Look into the frame's face cache to
2011 determine if the menu appearance needs updating.
2012
40e33037
GM
2013 * keymap.c (access_keymap): Fix last change to not consider
2014 IDX when it has modifiers.
2015
859ea4b8
GM
20162001-08-21 Gerd Moellmann <gerd@gnu.org>
2017
2018 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2019 . BINDING) exists, where GENERIC-CHAR is the generic character of
2020 the charset of IDX, return BINDING unless there exists a binding
2021 for IDX itself.
2022
e8660d73
GM
20232001-08-16 Gerd Moellmann <gerd@gnu.org>
2024
cca1b1d7
GM
2025 * xrdb.c (SYSV): Don't define on Solaris 2.
2026 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2027
e8660d73 2028 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2029 of the screen line, not text line, containing IT's current position.
e8660d73 2030
93aba6fc
GM
20312001-08-15 Gerd Moellmann <gerd@gnu.org>
2032
288d4e06
GM
2033 * window.c (window_scroll_pixel_based): Don't recenter if
2034 PT is partially visible in the window.
2035
3452efc2
SM
2036 * xterm.c (expose_window_tree, expose_window, expose_line):
2037 Return 1 when overwriting mouse-face.
82f053ab
GM
2038 (expose_frame): If mouse-face was overwritten, redo it.
2039
93aba6fc
GM
2040 * xfaces.c (x_update_menu_appearance): Don't call
2041 set_frame_menubar, let the next redisplay do it.
2042
858a55c1
AI
20432001-08-14 Andrew Innes <andrewi@gnu.org>
2044
2045 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2046 drawing glyph string.
2047
3a990b67
EZ
20482001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2049
2050 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2051 running HI-UX/MPP.
2052
04386463
GM
20532001-08-14 Gerd Moellmann <gerd@gnu.org>
2054
2055 * xfaces.c (x_update_menu_appearance): Save and restore value of
2056 interrupt_input_blocked.
2057
3e6385a4
GM
20582001-08-13 Gerd Moellmann <gerd@gnu.org>
2059
b0e619b4
GM
2060 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2061 a line start, move back to the line start.
3452efc2 2062
0de73d5a
GM
2063 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2064 exactly when a mini-buffer is active.
2065
3e6385a4
GM
2066 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2067 in units of 1/8 character on non window-system frames.
2068 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2069
d1b5f629
EZ
20702001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2071
2072 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2073 a doc string.
2074
eaa2319f
GM
20752001-08-09 Gerd Moellmann <gerd@gnu.org>
2076
8e3189f0
GM
2077 * keyboard.c (Vpre_help_message): New variable.
2078 (syms_of_keyboard): Initialize and staticpro it.
2079 (show_help_echo): Record current message before displaying a
2080 help-echo, and restore that message when clearing the help.
2081
eaa2319f
GM
2082 * xfns.c (x_create_im): Remove prototype.
2083
2084 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2085
2086 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2087
eaa2319f
GM
20882001-08-08 Gerd Moellmann <gerd@gnu.org>
2089
2090 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2091 windows whose height has changed, disable partially visible lines.
eaa2319f 2092
17fdcfc8
GM
20932001-08-07 Gerd Moellmann <gerd@gnu.org>
2094
22d01aed 2095 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2096 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2097
17fdcfc8
GM
2098 * xdisp.c (start_display): Don't try to determine the continuation
2099 lines width if lines are truncated. It's superfluous and leads to
2100 incorrect results if POS is not visible in the window after
2101 reseating the iterator at the previous line start.
2102
8e3fe78e
GM
21032001-08-06 Gerd Moellmann <gerd@gnu.org>
2104
2105 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2106
98a8938c
GM
21072001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2108
2109 * alloc.c (init_stack): Remove declaration.
2110
18f9986a
GM
21112001-08-03 Gerd Moellmann <gerd@gnu.org>
2112
5e1f85e0
GM
2113 * keyboard.c (read_key_sequence): Check that key is an integer
2114 before comparing it with quit_char.
2115 (add_command_key): Use larger_vector.
2116 (read_char_x_menu_prompt): Instead of converting symbol and
2117 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2118 which cannot be confused with valid events.
5e1f85e0
GM
2119 (read_char): When reading from Vunread_command_events, check for
2120 events of the form (EVENT . disabled) instead of
2121 (EVENT . nil).
2122
18f9986a
GM
2123 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2124 a float, determine the max height from the frame's height.
2125
fbc7f2a6
GM
21262001-08-02 Gerd Moellmann <gerd@gnu.org>
2127
2128 * xdisp.c (redisplay_internal): Take message_cleared_p into
2129 account only if minibuf_level == 0.
2130
81b1a79d
GM
21312001-08-01 Gerd Moellmann <gerd@gnu.org>
2132
e5c60873
GM
2133 * xdisp.c (redisplay_internal): Add a check for the last
2134 displayed message.
3452efc2 2135
6e019995
GM
2136 * xdisp.c (message_cleared_p): New variable.
2137 (clear_message): Set message_cleared_p when clearing the current
2138 message.
2139 (redisplay_internal): Look at message_cleared_p to capture
2140 the case that the echo area should be cleared.
2141
308a74d8
GM
2142 * keyboard.c (command_loop_1): Fix spelling of
2143 resize_echo_area_exactly.
2144
3452efc2 2145 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2146
2147 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2148
81b1a79d
GM
2149 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2150 current matrix when the window gets smaller.
2151
ada329e6
EZ
21522001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2153
2154 * print.c (strout): Cast the character passed to insert_char to
2155 unsigned char, to avoid sign extension when it is promoted to int.
2156
ed86208c
GM
21572001-07-31 Gerd Moellmann <gerd@gnu.org>
2158
2159 * fileio.c (Finsert_file_contents): Don't treat a return value
2160 of 0 from emacs_read as an IO error.
2161
6594ac22
GM
21622001-07-30 Gerd Moellmann <gerd@gnu.org>
2163
cef68af5
GM
2164 * keyboard.c (abs): New macro.
2165 (double_click_fuzz): New variable.
2166 (make_lispy_event): Use it to determine what makes a double-click.
2167 (syms_of_keyboard): DEFVAR_INT it.
2168
6594ac22
GM
2169 * xmenu.c (set_frame_menubar): Take into account that
2170 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2171 <raeburn@gnu.org>.
2172
75c5350a
GM
21732001-07-27 Gerd Moellmann <gerd@gnu.org>
2174
2175 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2176
2177 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2178 of row's visible height.
2179
2180 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2181 deal with the first overlay string having an image `display' property.
2182 (try_window_reusing_current_matrix, compute_line_metrics):
2183 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2184 row is invisible above and part of the row is at the same time
2185 invisible below the window.
2186
ac49effe
GM
21872001-07-26 Gerd Moellmann <gerd@gnu.org>
2188
2189 * xfns.c (x-show-tip): Doc fix.
3452efc2 2190
ac49effe
GM
2191 * xfns.c (Vx_max_tooltip_size): New variable.
2192 (syms_of_xfns): DEFVAR_LISP it.
2193 (Fx_show_tip): Set frame's window_width to the width of the
2194 window. Use a maximum tooltip size specified by
2195 Vx_max_tooltip_size, if that has valid contents.
2196 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2197
8c3b00cb
AI
21982001-07-26 Andrew Innes <andrewi@gnu.org>
2199
2200 * w32term.c (x_display_list): New variable.
2201 (w32_term_init): Set it.
2202
2203 * w32term.h (x_display_list): New extern.
2204
16098288
GM
22052001-07-26 Gerd Moellmann <gerd@gnu.org>
2206
2207 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2208 is non-nil, instead of when redisplaying_p is non-zero.
2209 See comment there.
16098288
GM
2210 (mark_window_display_accurate_1): Add an assertion.
2211
64c5be50
GM
22122001-07-25 Gerd Moellmann <gerd@gnu.org>
2213
e743f599
GM
2214 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2215
563b384d
GM
2216 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2217 events so that we get a chance of processing expose events.
2218
64c5be50
GM
2219 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2220
296808a5
GM
22212001-07-24 Gerd Moellmann <gerd@gnu.org>
2222
2223 * xfns.c (valid_image_p): Protect better against invalid image
2224 specifications. Previous code could signal an error.
2225
5247262a
GM
22262001-07-23 Gerd Moellmann <gerd@gnu.org>
2227
3452efc2 2228 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2229 presence of display table entries.
2230 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2231
dd42b31a
GM
2232 * dispnew.c (adjust_glyph_matrix): In the optimization for
2233 windows whose height has changed, use the new window height
2234 to compute which rows to invalidate.
2235
9e5a7f2a
GM
2236 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2237 (MAX_10_EXP): New macro.
2238 (Fformat): Use it.
2239
5247262a
GM
2240 * coding.c (code_convert_region): Handle the multibyte case if
2241 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2242
177ab8ce
GM
22432001-07-20 Gerd Moellmann <gerd@gnu.org>
2244
6e07c0a5
GM
2245 * dispextern.h (struct face): Change type of `stipple' to
2246 int; it's an ID.
2247
177ab8ce
GM
2248 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2249
b5b80599
GM
22502001-07-19 Gerd Moellmann <gerd@gnu.org>
2251
4e2a256b
GM
2252 * dispnew.c (update_window): Don't set the cursor at the end
2253 of the update if display update has been paused.
2254
3452efc2 2255 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2256
c1fd9232
KR
22572001-07-18 Ken Raeburn <raeburn@gnu.org>
2258
2259 * fns.c (Fset_char_table_default): Check that a charset is defined
2260 before checking its dimension.
2261
928a85c1
KR
22622001-07-17 Ken Raeburn <raeburn@gnu.org>
2263
2264 * coding.c (setup_coding_system): Don't do any designation based
2265 on reg_bits if charset is not yet defined.
2266
fb4c6c96 2267 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2268 pointer, using eassert.
2269
de11c1ea
GM
22702001-07-17 Gerd Moellmann <gerd@gnu.org>
2271
3452efc2
SM
2272 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2273 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2274
467f1209
GM
22752001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2276
2277 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2278
c3d6be34
GM
22792001-07-16 Gerd Moellmann <gerd@gnu.org>
2280
c1d61a7d
GM
2281 * fileio.c (unwind_read): Function removed.
2282 (read_non_regular, read_non_regular_quit): New functions.
2283 (Finsert_file_contents): When reading from non-regular files,
2284 arrange to catch a `quit' and terminate the loop. Rearrange
2285 code so that a `quit' when reading from a regular file doesn't
2286 insert text in the buffer.
2287
c3d6be34
GM
2288 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2289 Clear faces afterwards.
2290 (clear_font_table): Take a x_display_info parameter. Don't free
2291 fonts being the default font of any frame on the given display.
2292
e06aa1f9
GM
22932001-07-13 Gerd Moellmann <gerd@gnu.org>
2294
2295 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2296 instead of CHAR_STRING which can signal an error.
2297
2298 * charset.c (char_to_string_1): Extracted from char_to_string.
2299 Return -1 instead of signaling an error.
2300 (char_to_string): Use it.
2301
2302 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2303
176c92e6
SM
23042001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2305
2306 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2307 is t, don't try to append anything to it.
2308
1c56232f
EZ
23092001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2310
2311 * dired.c (file_name_completion): Pass dp->d_name to
2312 Fstring_match, not elt, which is always nil here.
2313
1d2b2268
GM
23142001-07-12 Gerd Moellmann <gerd@gnu.org>
2315
2316 * xselect.c (x_decline_selection_request): Handle errors
2317 caused by receivers that have vanished.
2318
2319 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2320 ignoring events on foreign windows in #if 0. Always dispatch
2321 the event after checking it with x_handle_property_notify.
2322
2323 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2324 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2325 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2326 (toplevel): Add prototypes for file-local functions.
2327 (x_atom_to_symbol): Remove DPYINFO parameter.
2328
fe5a0162
SM
23292001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2330
2331 * w32menu.c (menubar_selection_callback, w32_menu_show):
2332 Initialize `entry' to nil.
2333 (w32_dialog_show): Remove unused `save_wv' variable.
2334 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2335
a777242c
GM
23362001-07-11 Gerd Moellmann <gerd@gnu.org>
2337
8ee5b6a3
GM
2338 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2339
d0e2444e
GM
2340 * fileio.c (unwind_read): Print a message when discarding inserted
2341 text or switching the buffer to unibyte. Change parameter.
2342 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2343
a777242c
GM
2344 * fileio.c (unwind_read): New function.
2345 (Finsert_file_contents): Record it as unwind-function for
2346 the case that reading is interrupted by C-g.
2347
ae794295
GM
23482001-07-10 Gerd Moellmann <gerd@gnu.org>
2349
fe5a0162 2350 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2351 update when scrolling_window returns 0.
2352
6b05fae3
GM
2353 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2354
2355 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2356 for the case that x_decode_color signals an error.
6b05fae3 2357
ae794295
GM
2358 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2359
bb6e8cee
GM
23602001-07-09 Gerd Moellmann <gerd@gnu.org>
2361
2362 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2363 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2364 around ioctls.
2365
36b40a8a
EZ
23662001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2367
24b97d4b
EZ
2368 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2369 doc string line for dos-timezone-offset.
2370
36b40a8a
EZ
2371 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2372 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2373 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2374 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2375
2376 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2377
0967b4b0
GM
23782001-07-05 Gerd Moellmann <gerd@gnu.org>
2379
f25cfe53
GM
2380 * sound.c: Include Emacs' header files with #include "...".
2381
0967b4b0
GM
2382 * eval.c (specbind): Additionally record the buffer that was
2383 current when a buffer-local or frame-local variable was bound.
2384
c347a1c3
GM
23852001-07-04 Gerd Moellmann <gerd@gnu.org>
2386
2387 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2388 to unibyte characters in unibyte buffers.
2389
6332ca8a
GM
23902001-07-03 Gerd Moellmann <gerd@gnu.org>
2391
38472d44
GM
2392 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2393 the frame on the binding stack. Change format of entries for
2394 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2395 (unbind_to): Handle unbinding a frame-local variable.
2396
6332ca8a 2397 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2398 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2399 (dump_glyph_row): Print row's continuation_lines_width.
2400 (try_window_id): Take the shortcut if ZV is visible in the
2401 window, but there are actually no changes at ZV.
2402
63d1b174
GM
24032001-07-02 Gerd Moellmann <gerd@gnu.org>
2404
4c175203
GM
2405 * xterm.h (x_free_dpy_colors): Add prototype.
2406
2407 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2408 right number of arguments.
2409
0b54ce28
GM
2410 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2411 ($(lwlibdir)TAGS): New target.
4c175203 2412 (TAGS): Fix dependency list.
0b54ce28 2413
63d1b174
GM
2414 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2415 with input blocked.
2416
d827466c
GM
24172001-06-30 Gerd Moellmann <gerd@gnu.org>
2418
2419 * emacs.c (main): Remove extern declaration for sys_nerr, which
2420 isn't used and causes a compilation error with GCC 3.0 on
2421 FreeBSD 4.3.
2422
b5cb1ada
GM
24232001-06-27 Gerd Moellmann <gerd@gnu.org>
2424
a5d3ec3f 2425 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2426 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2427 (toplevel): Include <signal.h> and syssignal.h.
2428
b5cb1ada
GM
2429 * sound.c (vox_configure, vox_close): Turn off atimers
2430 around ioctls.
2431
d9bad487
GM
24322001-06-26 Gerd Moellmann <gerd@gnu.org>
2433
fdbb67fe
GM
2434 * keyboard.c (read_char) <non_reread>: Record the previous idle
2435 start time before calling timer_stop_idle.
2436 (read_char) <reread_first>: After processing a help-echo event,
2437 restore the previous idle start time.
2438
d9bad487
GM
2439 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2440 the start of invisible text.
2441 (setup_for_ellipsis): New function.
2442 (next_overlay_string): After all overlay strings have been
2443 processed, display an ellipsis if necessary.
2444 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2445 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2446
2447 * dispextern.h (struct iterator_stack_entry): Add member
2448 display_ellipsis_p.
2449
2b9c25e0
GM
24502001-06-25 Gerd Moellmann <gerd@gnu.org>
2451
80de57df
GM
2452 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2453 on the value of the wait-for-wm frame parameter.
2454
2455 * xterm.h (struct x_output): Add member wait_for_wm.
2456
2457 * xfns.c (Qwait_for_wm): New variable.
2458 (x_frame_parms): Add entry for `wait-for-wm".
2459 (x_set_wait_for_wm): New function.
2460 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2461 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2462
2b9c25e0
GM
2463 * xdisp.c (try_window_id) <all changes below window end>: Don't
2464 take this shortcut if ZV is visible in the window.
2465 (try_window_id): When checking for window start being in changed
2466 text, don't check that the buffer's size has changed.
2467
f772775c
RS
24682001-06-23 Richard M. Stallman <rms@gnu.org>
2469
2470 * minibuf.c (Fcompleting_read): Doc fix.
2471
fa9090b8
GM
24722001-06-19 Gerd Moellmann <gerd@gnu.org>
2473
2474 * composite.c (Ffind_composition_internal): Accept ZV
2475 and a string's end position as POS.
2476
f6f1beba
GM
24772001-06-18 Gerd Moellmann <gerd@gnu.org>
2478
2479 * composite.c (Ffind_composition_internal): Check POS
2480 for validity.
2481
0ae83348
EZ
24822001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2483
2484 * editfns.c (Fmessage_box): If the frame is not under a window
2485 system, output the message in the echo area.
2486
e4cdc335
RS
24872001-06-14 Richard M. Stallman <rms@gnu.org>
2488
2489 * xdisp.c (try_window_id): When EOB is visible, don't treat
2490 insertion at EOB as if it were "off the bottom of the screen."
2491
a55a5f3c
AI
24922001-06-11 Andrew Innes <andrewi@gnu.org>
2493
2494 * w32proc.c (create_child): Add new parameter is_gui_app.
2495 (w32_executable_type): Add new parameter is_gui_app.
2496 (sys_spawnve): Use it.
2497 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2498 SIGQUIT. This matches better how the signals are interpreted by
2499 MSVC compiled programs.
2500 (syms_of_ntproc): Update docstring.
2501
1b85dc1c
SM
25022001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2503
2504 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2505 well otherwise note_mouse_highlight might optimize away highlighting
2506 if we pass over that same overlay again.
2507
b75f8eab
EZ
25082001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2509
2510 * lread.c (Fload): Document that the argument is run via
2511 substitute-in-file-name.
2512
94843cc1
GM
25132001-05-31 Gerd Moellmann <gerd@gnu.org>
2514
b14659e6
GM
2515 * Makefile.in (bootstrap-doc): New target.
2516 (bootstrap-emacs): Depend on it.
2517
0894672f
GM
2518 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2519 auto-save-list-file-name when shutting down Emacs, because
2520 creating the directory might signal an error, and leaves
2521 Emacs in a strange state.
2522
94843cc1
GM
2523 * term.c: (tty_cursor_hidden): New variable.
2524 (update_begin): Don't call tty_hide_cursor. Clean up.
2525 (update_end, set_terminal_window, set_scroll_region): Clean up.
2526 (ring_bell, reset_terminal_modes): Clean up.
2527 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2528 on tty_cursor_hidden.
2529 (write_glyphs): Call tty_hide_cursor.
2530
db3a49a6
SM
25312001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2532
2533 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2534
8bd189fb
GM
25352001-05-30 Gerd Moellmann <gerd@gnu.org>
2536
6f1be3b9
GM
2537 * xfns.c (enum image_value_type): New enumerator
2538 IMAGE_STRING_OR_NIL_VALUE.
2539 (parse_image_spec): Handle it.
2540 (xbm_format, pbm_format): Use it for :foreground and :background.
2541 (xbm_load, pbm_load): Check for nil color names.
2542
8bd189fb
GM
2543 * xterm.c (note_mouse_highlight): If an overlapping overlay
2544 exists, but we find that we highlight the same overlay as before,
2545 don't do the highlighting again.
2546
7bdba03c
GM
25472001-05-29 Gerd Moellmann <gerd@gnu.org>
2548
4c329aa8
GM
2549 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2550 Protect unibyte strings created by replacing their multibyte
2551 equivalents in menu_items.
2552
e15e2828
GM
2553 * keymap.c (Fsingle_key_description): NUL-terminate the string
2554 buffer before calling build_string.
2555
7bdba03c
GM
2556 * callproc.c (Fcall_process): Deal with decode_coding returning
2557 CODING_FINISH_INCONSISTENT_EOL.
2558
89c8dc6c
GM
25592001-05-28 Gerd Moellmann <gerd@gnu.org>
2560
db3a49a6 2561 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2562 an item's name with its key description in case the description
2563 is a multibyte string.
2564
2565 * keymap.c (Fsingle_key_description): Create a multibyte string
2566 only if necessary.
2567
eb04d6cd
GM
2568 * macros.c (Fstart_kbd_macro): Doc fix.
2569
8bd6307f
GM
2570 * xterm.c (cursor_in_mouse_face_p): New function.
2571 (x_draw_stretch_glyph_string): Use it to choose a different GC
2572 when drawing a cursor within highlighted text.
2573
e26c4089
GM
2574 * editfns.c (char_property_eq): Put in #if 0.
2575
2576 * indent.c (string_display_width): Put in #if 0.
2577
2578 * lread.c (Fload): Remove unused label.
2579
89c8dc6c
GM
2580 * termcap.c (speeds): Put in #if 0.
2581
9a1211f2
GM
25822001-05-18 Gerd Moellmann <gerd@gnu.org>
2583
29148a3f
GM
2584 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2585
9a1211f2
GM
2586 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2587 transformation matrix by 10.
2588
09393d07
GM
25892001-05-16 Gerd Moellmann <gerd@gnu.org>
2590
2591 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2592 only if it's equal to the former foreground pixel color.
db3a49a6 2593 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2594 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2595
460e6bae
GM
25962001-05-16 Dave Love <fx@gnu.org>
2597
2598 * insdel.c (signal_before_change, signal_after_change): Consider a
2599 local change hook which changes the buffer.
99c78ce8
GM
2600
2601 * process.c (read_process_output): Don't call signal_after_change
2602 and update_compositions after insert_from_string_before_markers.
2603
dbcf3c03
GM
26042001-05-16 Gerd Moellmann <gerd@gnu.org>
2605
a90b3d3c
GM
2606 * xfaces.c (split_font_name): Use the right field when
2607 checking for `[...]' syntax.
2608
1b7818b4
GM
2609 * buffer.c (copy_overlays): New function.
2610 (clone_per_buffer_values): Use it.
2611
2612 * buffer.h (OVERLAY_PLIST): New macro.
2613
9bae8781
GM
2614 * keymap.c (Fsingle_key_description): Replace a build_string with
2615 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2616
dbcf3c03
GM
2617 * fontset.c (Ffontset_info): Check that face is non-null
2618 before accessing its fields.
2619
8a1ae4dd
GM
26202001-05-15 Gerd Moellmann <gerd@gnu.org>
2621
18a0a39e
GM
2622 * keyboard.c (read_key_sequence): Prevent generating a fake
2623 prefix key twice.
2624
e335b66a
GM
2625 * xfaces.c (split_font_name): Handle `[...]' for the right
2626 font name fields.
2627
8a1ae4dd
GM
2628 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2629 of CCL_STAT_INVALID_CMD.
2630
3cf80731
SM
26312001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2632
33568849
SM
2633 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2634 in <var> has no default value yet.
2635
3cf80731
SM
2636 * xfaces.c (try_alternative_families): First try the FAMILY.
2637 And if nothing is found in the end, try again with scalable fonts.
2638 (try_font_list): Let try_alternative_families do a bit more of
2639 the work. Only use FAMILY if it is not nil.
2640 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2641
933b0249
GM
26422001-05-14 Gerd Moellmann <gerd@gnu.org>
2643
58e5af83
GM
2644 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2645 pointer shape when show_mouse_face has already done it.
33568849 2646
58e5af83 2647 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2648 full-width rows.
2649
7b16a6bf
GM
2650 * xfaces.c (split_font_name): Make sure to leave the loop
2651 with the right value of `i'.
3cf80731 2652
933b0249
GM
2653 * xfaces.c (split_font_name): Handle matrix transformations
2654 in the pixel and point size fields of XLFD font names.
2655 (xlfd_point_size): Likewise.
2656
dddcbf00
EZ
26572001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2658
3cf80731 2659 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2660 (x_to_w32_font): Add prototype.
2661
7689ef0b
EZ
2662 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2663 redefining, to avoid compiler warnings.
2664
e7c15bba
EZ
2665 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2666
dddcbf00
EZ
2667 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2668 (w32_get_bdf_glyph): Cast between unsigned char and char when
2669 passing arguments to subroutines, to shut up compiler warnings.
2670 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2671 GET_HEX_VAL.
2672
2673 * xfaces.c: Include keyboard.h before frame.h, not after it.
2674
2675 * widget.c: Include keyboard.h before frame.h.
2676
2677 * w32term.h (struct image, struct face): Forward declaration, to
2678 avoid compiler warnings.
2679
7bd2d083
GM
26802001-05-11 Gerd Moellmann <gerd@gnu.org>
2681
47e72862
GM
2682 * keyboard.c (read_key_sequence): Don't modify events when
2683 generating fake prefix keys (mode-line, scroll-bar, ...) since
2684 this prevents proper processing of such events when pushed back
2685 into unread-command-events.
2686
dd5f324b
GM
2687 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2688 actually redrawn. Make the function static.
2689 (note_mouse_highlight): Fix a case where the mouse cursor
2690 was changed back to the text cursor.
2691
2692 * xterm.h (clear_mouse_face): Remove prototype.
2693
d88a79d4
GM
2694 * xdisp.c (try_window_id): Fix the fix and set the right
2695 window_end_vpos.
2696
2697 * xdisp.c (try_window_id): Fix computation of window end in the
2698 case that lines were deleted at the end of the window. Add some
2699 more debug_method_adds.
0416532f 2700
7bd2d083
GM
2701 * xfaces.c (try_alternative_families): New function.
2702 (try_font_list): Use it. If ATTRS specifies a family, check
2703 fonts from that family first.
2704 (choose_face_font): Remove code setting the family part of
2705 the pattern to nil.
2706
23fca891
GM
27072001-05-10 Gerd Moellmann <gerd@gnu.org>
2708
ff9aa2ca
GM
2709 * xdisp.c (try_window_id): Fix case of all changes before
2710 the window start.
7b2654b5 2711
23fca891
GM
2712 * xdisp.c (try_window_id): Add some xasserts.
2713
e9726794
GM
27142001-05-09 Gerd Moellmann <gerd@gnu.org>
2715
2716 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2717
9e53a675
GM
27182001-05-09 Dave Love <fx@gnu.org>
2719
2720 * xdisp.c (GIVE_UP): Fix for K&R C.
2721
0d487c52
GM
27222001-05-09 Gerd Moellmann <gerd@gnu.org>
2723
fe88d421
GM
2724 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2725
0d487c52
GM
2726 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2727 back to the text cursor shape without need.
2728
1e9fc92e
GM
27292001-05-07 Gerd Moellmann <gerd@gnu.org>
2730
a2a6232e
GM
2731 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2732
2733 * dispextern.h (inverse_video): Declare extern.
2734
1e9fc92e
GM
2735 * keyboard.c (delete_kboard): Handle the case that selected_frame
2736 has been deleted in the course of x_connection_closed.
2737
12949a7f
EZ
27382001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2739
7b2654b5
SM
2740 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2741 Fix the change from 2001-04-30.
12949a7f 2742
2fa2f461
GM
27432001-05-03 Gerd Moellmann <gerd@gnu.org>
2744
a779d213
GM
2745 * xfns.c (file_dialog_unmap_cb): New function.
2746 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2747 where a dialog is closed via the window manager.
2748
7b2654b5 2749 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2750 the window start or all below the window end mostly rewritten.
2751 (redisplay_window): Move the tests if try_window_id is
2752 applicable to try_window_id.
2753 (GIVE_UP): New macro.
2754
3356df63
GM
27552001-05-02 Gerd Moellmann <gerd@gnu.org>
2756
a39202f6 2757 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2758 currently being updated, mark the frame garbaged.
2759 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2760 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2761
3356df63
GM
2762 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2763 again if it has already been drawn.
2764
a9d2fd1d
SM
27652001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2766
2767 * syntax.c (update_syntax_table): Check that oldi has the same
2768 properties as old_prop before deciding not to invalidate.
2769
c95fc5f1
GM
27702001-04-30 Gerd Moellmann <gerd@gnu.org>
2771
a9793e45
GM
2772 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2773 read-only text that is so because of text properties.
2774
c95fc5f1 2775 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2776 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2777 windows that are components of a Lucid menu bar.
2778
5a5d9185
GM
27792001-04-27 Gerd Moellmann <gerd@gnu.org>
2780
2781 * term.c (turn_on_face): Fix reverse video handling on terminals
2782 that don't support colors.
2783
ba973f7a
GM
27842001-04-26 Gerd Moellmann <gerd@gnu.org>
2785
2786 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2787 a non-buffer.
2788
8c56a983
GM
27892001-04-25 Gerd Moellmann <gerd@gnu.org>
2790
a728644c
GM
2791 * term.c (toggle_highlight): New function.
2792 (turn_on_face): Change handling of reverse video.
2793
7b2654b5
SM
2794 * process.c (wait_reading_process_input):
2795 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2796
bfd8410f
GM
2797 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2798 of the number of overlays to check.
2799
be2488ca
GM
2800 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2801
8c56a983
GM
2802 * xdisp.c (try_window_id): Fix a case where window_end_pos
2803 and window_end_bytepos were not adjusted.
2804
522d42f7
GM
28052001-04-23 Gerd Moellmann <gerd@gnu.org>
2806
2807 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2808 zero instead of -1.
2809
78c1afb6
EZ
28102001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2811
a9d2fd1d
SM
2812 * process.c (wait_reading_process_input) [!subprocesses]:
2813 Don't reference waiting_for_user_input_p, it's not defined in the
2814 branch without async subprocesses support.
78c1afb6 2815
a2fab450
GM
28162001-04-19 Gerd Moellmann <gerd@gnu.org>
2817
a122a38e
GM
2818 * keyboard.c (delete_kboard): Prevent a dangling reference
2819 from current_kboard to KB, which is freed.
2820
a9d2fd1d
SM
2821 * process.c (wait_reading_process_input):
2822 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
2823 read_key_sequence aware of buffer changes from under it.
2824
0f8d6dc7
GM
28252001-04-18 Gerd Moellmann <gerd@gnu.org>
2826
eeffb293
GM
2827 * xfaces.c (Qscalable_fonts_allowed): New variable.
2828 (realizing_basic_faces_p): Removed.
2fa2f461
GM
2829 (x_face_list_fonts): Special handling for realizing_basic_faces_p
2830 removed.
eeffb293 2831 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
2832 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
2833 for scalable-fonts-allowed to t.
eeffb293 2834
0f8d6dc7
GM
2835 * fileio.c (Finsert_file_contents): If the file size returned from
2836 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 2837 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 2838
eec2d1de
EZ
28392001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
2840
2841 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
2842 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
2843 (__memalign_hook): Make the two prototypes consistent.
2844
f4f480bd
GM
28452001-04-17 Gerd Moellmann <gerd@gnu.org>
2846
2847 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
2848 matrix of mini-windows.
2849
52283633
SM
28502001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2851
2852 * intervals.c (find_interval): Don't rebalance during signal handling.
2853
ec2423c9
GM
28542001-04-11 Gerd Moellmann <gerd@gnu.org>
2855
30cb0001 2856 * fns.c: Include blockinput.h.
52283633 2857
ec2423c9
GM
2858 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
2859
719d83ad
GM
28602001-04-10 Gerd Moellmann <gerd@gnu.org>
2861
60f8d735
GM
2862 * fns.c (Fcompare_strings): Fix return values.
2863
afffeb57
GM
2864 * window.c (window_scroll): Change the meaning of N to mean
2865 N screen-fulls or N lines.
2866 (window_scroll_pixel_based, window_scroll_line_based)
2867 (scroll_command, Fscroll_other_window): Change accordingly.
2868
52283633
SM
2869 * window.c (window_scroll_pixel_based, Frecenter):
2870 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2871 height of the window.
2872
2873 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2874 instead of using it.last_visible_y for the height of the window.
52283633 2875
719d83ad 2876 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2877 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2878
2879 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2880 able to write to hidden and system files. From Dan Holmsand
2881 <dan@eyebee.com>.
719d83ad 2882
8ddf3ee1
GM
2883 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2884 Holmsand <dan@eyebee.com>.
719d83ad 2885
522ed7fb
GM
28862001-04-09 Gerd Moellmann <gerd@gnu.org>
2887
9170e5d4
GM
2888 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2889
522ed7fb
GM
2890 * window.c (window_internal_height): Return 1 less if the
2891 window has a header line.
2892
2893 * xdisp.c (try_window_id): When scrolling on a terminal, take
2894 the change of window_internal_height into account.
2895
ceeb3d7d
EZ
28962001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2897
2898 * gmalloc.c (align): If the argument SIZE would overflow
2899 __malloc_ptrdiff_t, fail right away.
2900
63685b9d
GM
29012001-04-06 Gerd Moellmann <gerd@gnu.org>
2902
2903 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2904 Make sure the tooltip is completely visible.
2905 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2906
2907 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2908
2909 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2910
3ffb33bb
DL
29112001-04-06 Dave Love <fx@gnu.org>
2912
52283633
SM
2913 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2914 Fix test of `from'.
3ffb33bb 2915
869fb12c
GM
29162001-04-06 Gerd Moellmann <gerd@gnu.org>
2917
52283633 2918 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2919
869fb12c
GM
2920 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2921
441bf856
GM
29222001-04-05 Gerd Moellmann <gerd@gnu.org>
2923
4d664b04
GM
2924 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2925
52283633 2926 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2927
30ca89f5
GM
2928 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2929 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2930
2931 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2932 shell widget's position only if it is non-null.
2933
52283633
SM
2934 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2935 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2936
81a81c0f
GM
2937 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2938 FILENAME to bring it in synch with the documentation.
2939
441bf856
GM
2940 * xfaces.c (realizing_basic_faces_p): Renamed from
2941 realize_default_face_p.
2942 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2943 (realize_default_face): Don't set the flag.
2944
702a1e8e
GM
29452001-04-04 Gerd Moellmann <gerd@gnu.org>
2946
1013f4e3
GM
2947 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2948
52283633
SM
2949 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2950
1013f4e3
GM
2951 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2952 the buffer that was used for echoing.
2953
702a1e8e
GM
2954 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2955 (first_font_matching): Removed unused function.
2956 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2957 (may_use_scalable_font_p): Remove parameter FONT; rename
2958 parameter NAME to FONT.
2959 (x_face_list_fonts): Fix missing bounds check.
2960 (realizing_default_face_p): New variable.
2961 (realize_default_face): Set and clear that flag.
2962 (x_face_list_fonts): When called during the realization of the
2963 default face, and no matching fonts are found when ignoring
2964 scalable fonts and fonts matching a regexp from
2965 face-ignored-fonts, try without ignoring fonts.
2966
f9dbcda4
GM
29672001-04-03 Gerd Moellmann <gerd@gnu.org>
2968
ad18ffb1
GM
2969 * xfns.c (postprocess_image): New function.
2970 (lookup_image): Call it for all image types except PostScript.
2971 (x_kill_gs_process): Call postprocess_image.
2972
f9dbcda4
GM
2973 * xterm.c (x_use_underline_position_properties): New variable.
2974 (x_draw_glyph_string): Use it.
2975 (syms_of_xterm): DEFVAR_BOOL it.
2976
651f03b6
GM
29772001-04-02 Gerd Moellmann <gerd@gnu.org>
2978
2979 * xterm.c (x_alloc_nearest_color_1): New function.
2980 (x_alloc_nearest_color): Use it.
2981 (x_color_cells): Take a Display as argument, instead of a frame.
2982 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2983 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2984 (x_initialize): Register cvt_string_to_pixel as resource converter
2985 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2986
73d75a62
GM
29872001-03-30 Gerd Moellmann <gerd@gnu.org>
2988
b2046df8
GM
2989 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2990 (set_iterator_to_next): If a string from a display property ends,
2991 consider the case that this might also be the end of an
2992 overlay string having the display property.
2993
52283633 2994 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 2995
87d8eba4
GM
2996 * xdisp.c (reseat_to_string): Undo last change.
2997
73d75a62
GM
2998 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
2999 matrix of a window when the header line changes, when
3000 new rows are allocated, or when the width changes.
3001
911a2406
EZ
30022001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3003
52283633 3004 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3005
aea51abe
EZ
30062001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3007
3008 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3009 deprecated.
3010
176bc847
GM
30112001-03-29 Gerd Moellmann <gerd@gnu.org>
3012
ed31fabf
GM
3013 * data.c (Fsubr_interactive_form): New function.
3014 (syms_of_data): Defsubr it.
3015
176bc847
GM
3016 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3017 (live_float_p, live_misc_p): Return 1 only if the offset of the
3018 pointer in its block is >= 0.
3019
e59d0e9d
GM
30202001-03-28 Paul Eggert <eggert@twinsun.com>
3021
3022 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3023 microseconds calcuation. Avoid double-rounding problem.
3024 In doc string, warn that the result is approximate.
3025
f827b862
GM
30262001-03-28 Gerd Moellmann <gerd@gnu.org>
3027
30a3f61c
GM
3028 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3029 bind `inhibit-eval-during-redisplay' to t.
3030
3031 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3032
3033 * xdisp.c (inhibit_eval_during_redisplay)
3034 (Qinhibit_eval_during_redisplay): New variables.
3035 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3036 don't eval, return nil instead.
3037 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3038 Initialize Qinhibit_eval_during_redisplay.
3039
e719f5ae
GM
3040 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3041 the iterator's multibyte_p flag.
3042
deb2613a
GM
3043 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3044 instead of setting it to zero; it's incremented for each frame
3045 where the menu face is changed.
3046
52283633
SM
3047 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3048 change bottom shadow accordingly.
3049
3050 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3051 intersections here.
3052 (expose_window): Do it here instead.
52283633 3053 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3054
f827b862
GM
3055 * bytecode.c (BYTE_CODE_QUIT): New macro.
3056 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3057
4bde0ebb
GM
30582001-03-27 Gerd Moellmann <gerd@gnu.org>
3059
607ec83c
GM
3060 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3061 Give up if matrix starts in an ellipsis.
3062 (init_from_display_pos): Do nothing if POS doesn't specify
3063 a dpvec_index but the iterator has such a position.
3064
0245398f
GM
3065 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3066
aba25348
GM
3067 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3068 x/y position is (0, 0) after destroying the menu bar, restore
3069 its original position.
3070
4bde0ebb
GM
3071 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3072 (init_from_display_pos): Use it.
3073 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3074
8cdb267e
GM
30752001-03-26 Gerd Moellmann <gerd@gnu.org>
3076
3077 * xdisp.c (try_window_id): Undo last change.
3078
9948db79
EZ
30792001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3080
3081 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3082
3083 * buffer.c (syms_of_buffer): Doc fix.
3084
2eddf899
GM
30852001-03-26 Gerd Moellmann <gerd@gnu.org>
3086
3087 * xfaces.c (x_update_menu_appearance): Use local variable
3088 popup_path for setting font resources.
3089
6c145d35
EZ
30902001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3091
6a65b1b5
EZ
3092 * frame.c (Fframe_list): Don't reference tip_frame if
3093 HAVE_WINDOW_SYSTEM is not defined.
3094
6c145d35
EZ
3095 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3096 <wl@gnu.org>.
3097
d74c1900
GM
30982001-03-25 Gerd Moellmann <gerd@gnu.org>
3099
20fbd925
GM
3100 * xdisp.c (init_from_display_pos): Test invisible property
3101 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3102
927c5b3b
GM
3103 * xdisp.c (redisplay_internal) <update one window>: Make sure
3104 last_arrow_position and last_arrow_string are set.
3105
d74c1900
GM
3106 * frame.c (Fframe_list): Don't return a tooltip frame.
3107
091f8878
GM
31082001-03-23 Gerd Moellmann <gerd@gnu.org>
3109
52283633
SM
3110 * xdisp.c (mark_window_display_accurate_1): New function,
3111 extracted from mark_window_display_accurate.
3112 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3113 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3114 (mark_window_display_accurate): Use it.
3115 (redisplay_internal): Use it for the selected window.
3116 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3117 for the selected frame.
3118
ac90c44f
GM
3119 * xdisp.c Use make_number, for readability.
3120 (try_window_id): Disable rows below the window end.
3121 (try_window_reusing_current_matrix): Use cursor_row_p.
3122 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3123 of rows.
3124 (init_from_display_pos): If POS specifies a position in a display
3125 vector, maybe get the iterator set up for that ellipsis.
43c09969 3126
091f8878
GM
3127 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3128
991786dd
EZ
31292001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3130
3131 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3132
6c29b43c
GM
31332001-03-23 Gerd Moellmann <gerd@gnu.org>
3134
3135 * xfaces.c (x_update_menu_appearance): Use a different path
3136 for Lucid popup menus.
3137
d8731202
SM
31382001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3139
3140 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3141
3142 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3143 (string_buffer_position): Use `make_number'.
3144
f61a541b
GM
31452001-03-22 Gerd Moellmann <gerd@gnu.org>
3146
3c9e997b
GM
3147 * xfaces.c (x_update_menu_appearance): Renamed from
3148 x_set_menu_face_resources. Use different resources for popups.
3149
3150 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3151 (GC_CHECK_STRING_BYTES): Don't define.
3152
364cd450
GM
3153 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3154 Removed, together with subroutines.
3155 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3156 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3157
d8731202
SM
3158 * dispextern.h (x_set_menu_resources_from_menu_face):
3159 Remove prototype.
364cd450 3160
d8731202 3161 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3162 Remove calls to x_set_menu_resources_from_menu_face.
3163
d8731202
SM
3164 * xfaces.c (xm_set_menu_resources_from_menu_face):
3165 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3166
3167 * xmenu.c: Include widget.h.
3168 (single_submenu): Return int. Some cleanup.
3169 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3170
140330de
GM
31712001-03-21 Gerd Moellmann <gerd@gnu.org>
3172
3173 * xterm.c (x_update_window_end): Handle overwritten mouse face
3174 also for tool bar windows.
3175 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3176 DRAW is DRAW_IMAGE_RAISED.
3177
1741905c
GM
31782001-03-20 Gerd Moellmann <gerd@gnu.org>
3179
fa88947e
GM
3180 * print.c (syms_of_print): Doc fixes.
3181
1741905c
GM
3182 * fns.c (Fmd5): Doc fix.
3183
ade0bee1
GM
31842001-03-19 Gerd Moellmann <gerd@gnu.org>
3185
357e7376
GM
3186 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3187 Clear area of the frame not occupied by the scroll bar.
3188
c2c097cc
GM
3189 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3190 tip frame's root window buffer to *tip* right after creating
3191 the frame.
3192
ade0bee1
GM
3193 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3194 is an integer don't have to be for space characters.
3195
88c6e37e
GM
31962001-03-16 Gerd Moellmann <gerd@gnu.org>
3197
52283633
SM
3198 * indent.c (current_column, current_column_1, Fmove_to_column)
3199 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3200
c62eed76
KH
32012001-03-15 Kenichi Handa <handa@etl.go.jp>
3202
3203 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3204 drawing glyph string.
3205
c899e7e6
GM
32062001-03-15 Gerd Moellmann <gerd@gnu.org>
3207
d0bbfc99
GM
3208 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3209 (command_loop_1): Undo last change.
3210
03d1a189
GM
3211 * xterm.c (fast_find_position): Return the correct vpos.
3212
c899e7e6 3213 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3214 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3215 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3216 Call store_symval_forwarding with BUF null.
3217 (set_internal): Call store_symval_forwarding with the BUF
3218 parameter passed to set_internal. Formerly, the value was always
3219 set in the current buffer; the buffer recorded in specbind for
3220 this case wasn't used.
3221 (arith_driver): Reindent.
3222
52283633
SM
3223 * buffer.c (swap_out_buffer_local_variables):
3224 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3225
3226 * lisp.h (store_symval_forwarding): Change prototype.
3227
3228 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3229
57ac7c81
GM
32302001-03-14 Gerd Moellmann <gerd@gnu.org>
3231
697617d9
GM
3232 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3233 FOR_DELETION. Avoid resizing the mini-window of the selected
3234 frame if FOR_DELETION is set.
3235 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3236 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3237 signature.
3238
3239 * window.c (Fset_window_configuration): Change call to
3240 do_switch_frame to new format.
3241
3242 * keyboard.c (quit_throw_to_read_char): Change call to
3243 do_switch_frame to new format.
3244
3245 * lisp.h (do_switch_frame): Change prototype.
3246
819dce0f
GM
3247 * frame.c (Fframe_parameters): In the `buffer-list' frame
3248 parameter, store the buffer list of FRAME, not the list of the
3249 selected frame.
3250
57ac7c81
GM
3251 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3252 box just because the glyph row's full_width_p flag is set.
3253
65008712
GM
32542001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3255
3256 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3257 skip the padding blanks inserted in extend_face_to_end_of_line,
3258 before checking for trailing whitespace.
3259
159cf431
GM
32602001-03-13 Gerd Moellmann <gerd@gnu.org>
3261
52283633 3262 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3263 Remove special handling for LessTif/Motif.
3264 (toplevel): Don't include Xm/Xm.h.
3265
52283633
SM
3266 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3267 Remove workaround code for LessTif; it doesn't work anymore.
3268
2564ea1b 3269 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3270 Xm/ScrollBarP.h.
afcdc0a1 3271
52283633
SM
3272 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3273 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3274 contemporary LessTif.
3275
52283633
SM
3276 * xfaces.c (xm_set_menu_resources_from_menu_face):
3277 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3278
159cf431
GM
3279 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3280 removing button grabs.
3281
c6f7429a
KH
32822001-03-13 Kenichi Handa <handa@etl.go.jp>
3283
cb82d767
KH
3284 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3285 and clip-large-size-font as obsolete.
3286
c6f7429a
KH
3287 * lread.c (read_multibyte): Check the validity of multibyte
3288 sequence. If invalid, return the first byte.
3289
760cefb5
GM
32902001-03-12 Gerd Moellmann <gerd@gnu.org>
3291
3292 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3293 before running the command; timer functions or process
3294 filters may have set it.
3295
5141f9d0
EZ
32962001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3297
3298 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3299 Doc fix.
3300
b6a15240
GM
33012001-03-12 Gerd Moellmann <gerd@gnu.org>
3302
3303 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3304 to sprintf.
3305
95522746
GM
33062001-03-09 Gerd Moellmann <gerd@gnu.org>
3307
db14cfc5
GM
3308 * dispextern.h (string_buffer_position): Add prototype.
3309
52283633 3310 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3311 (single_display_prop_string_p): New functions.
3312
3313 * xterm.c (note_mouse_highlight): If there's no help-echo on
3314 a string, look at the buffer text ``under'' it.
3315
3316 * keyboard.c (make_lispy_event): Add string info to the event,
3317 analogous to what's done on mode lines.
3318 (read_key_sequence): For a click on a string, consider `local-map'
3319 and `keymap' of that string.
3320
52283633
SM
3321 * keyboard.c (make_lispy_event, make_lispy_movement):
3322 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3323
3324 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3325
3326 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3327 POS; return void.
3328
95522746
GM
3329 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3330 flags argument to emacs_open; it seems to conflict with O_EXCL.
3331
898a399d
KH
33322001-03-09 Kenichi Handa <handa@etl.go.jp>
3333
28cd4910
KH
3334 * composite.h (struct composition): Change types of members;
3335 glyph_len to unsigned, width to unsigned short.
898a399d 3336
4cdf6a6c
AI
33372001-03-08 Andrew Innes <andrewi@gnu.org>
3338
3339 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3340 menu titles.
3341
129004d3
GM
33422001-03-08 Gerd Moellmann <gerd@gnu.org>
3343
221dd3e7
GM
3344 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3345 instead of nil.
3346
52283633 3347 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3348 help-echo in strings.
3349 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3350 (fast_find_string_pos): New function.
3351
52283633
SM
3352 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3353 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3354
3355 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3356 Handle `mouse-face'.
3357
3358 * dispextern.h (face_at_string_position): Change prototype.
3359
52283633 3360 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3361
129004d3
GM
3362 * keyboard.c (make_lispy_event): Avoid generating drag events
3363 if the mouse hasn't actually moved to another buffer position.
52283633 3364
80c8ab8c
DL
33652001-03-08 Dave Love <fx@gnu.org>
3366
129004d3 3367 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3368
989521fd
GM
33692001-03-08 Gerd Moellmann <gerd@gnu.org>
3370
3371 * process.c (Fset_process_window_size): Fix a typo.
3372
bb5c338d
KH
33732001-03-08 Kenichi Handa <handa@etl.go.jp>
3374
3375 * coding.c (detect_coding_sjis): Do more rigid check.
3376 (detect_coding_big5): Likewise.
3377 (decode_coding_sjis_big5): Likewise.
3378 (Fdetect_coding_region): Call detect_coding_system with tailing
3379 anchor byte `\0' for more rigid detection.
52283633 3380 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3381 (Fdetect_coding_string): Likewise.
3382
8b8f9197
SM
33832001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3384
3385 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3386 a string before extracting its data.
3387
3bdf2660
GM
33882001-03-07 Gerd Moellmann <gerd@gnu.org>
3389
3390 * window.c (Frecenter): Rewrite code handling negative values
3391 of ARG on graphical frames.
3392
33932001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3394
3395 * window.c (displayed_window_lines): If W->start is outside the
3396 accessible portion of the buffer, call start_display with BEGV or
3397 ZV instead of W->start.
3398
471f86b9
GM
33992001-03-07 Gerd Moellmann <gerd@gnu.org>
3400
2ab62c6c
GM
3401 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3402
471f86b9
GM
3403 * process.c (Fset_process_filter): Don't crash if the input
3404 file descriptor of PROCESS is closed.
3405 (Fset_process_window_size): Likewise.
3406
101922c3
GM
34072001-03-06 Kenichi Handa <handa@etl.go.jp>
3408
3409 * xterm.c (XTflash): Make the timeout of select shorter, and call
3410 select repeatedly until the desired time expires.
3411
45d051a7
GM
34122001-03-06 Gerd Moellmann <gerd@gnu.org>
3413
3414 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3415
3416 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3417
3418 * lisp.h (Vwindow_list): Declare extern.
3419
8f372c46
EZ
34202001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3421
3422 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3423
f16a7aa5
GM
34242001-03-06 Gerd Moellmann <gerd@gnu.org>
3425
157ae273
GM
3426 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3427 to detect a case where we have to highlight a different region
3428 despite not having left the currently highlighted region.
3429 Set mouse_face_overlay in the x_display_info.
45d051a7 3430 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3431
3432 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3433
3434 * buffer.c (mouse_face_overlay_overlaps): New function.
3435
3436 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3437 (Qmouse_face): Declare extern.
3438
f16a7aa5
GM
3439 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3440 if face_change_count is non-zero.
3441
827afcac
KH
34422001-03-06 Kenichi Handa <handa@etl.go.jp>
3443
3444 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3445 that the source is unibyte.
3446
14c7242e
DL
34472001-03-05 Dave Love <fx@gnu.org>
3448
827afcac 3449 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3450
c28b847b
GM
34512001-03-05 Gerd Moellmann <gerd@gnu.org>
3452
3453 * minibuf.c (read_minibuf): Clean up the binding stack if
3454 called noninteractively.
3455
b86644f2
KH
34562001-03-05 Kenichi Handa <handa@etl.go.jp>
3457
3458 * coding.c (syms_of_coding): Docstring modified.
3459
203682cc 34602001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3461
3462 * charset.c (char_to_string): If a single byte char has modifier
3463 bits that can't be reflected to the character code, ignore them
45d051a7 3464 instead of signaling an error.
b86644f2 3465
e30bd7b7
EZ
34662001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3467
3468 * s/msdos.h: Update copyright notice.
3469
3470 * dosfns.h: Update copyright notice.
3471
3472 * dosfns.c: Update copyright notice.
3473
3474 * msdos.c: Update copyright notice.
3475
b52b65bd
GM
34762001-03-02 Gerd Moellmann <gerd@gnu.org>
3477
3478 * xterm.c (glyph_rect): New function.
3479 (XTmouse_position): Use it to raise the threshold for mouse
3480 movement event generation.
3481
53c4b1e6
EZ
34822001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3483
3484 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3485 specifies (reverse . t), reverse the initial screen colors.
3486 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3487 but we are reversing the colors, set bg_set, not fg_set.
3488 Likewise for setting background-color and reversing: set fg_set.
3489 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3490 in effect.
3491
3492 * xfaces.c (Finternal_set_lisp_face_attribute)
3493 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3494 parameters alist.
3495
f964b4d7
GM
34962001-03-02 Gerd Moellmann <gerd@gnu.org>
3497
ef53d75e
GM
3498 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3499 to a single slash in the middle of file names.
3500
52283633 3501 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3502 Accept only alphanumeric time zone names.
3503
f964b4d7
GM
3504 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3505 or width area.
3506 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3507 a widget to zero height.
52283633 3508
c3c45f65
GM
35092001-03-01 Gerd Moellmann <gerd@gnu.org>
3510
3511 * window.c (Fwindow_end): Call move_it_past_eol only if
3512 ending up on a partially visible line.
3513
028d739a
DL
35142001-03-01 Dave Love <fx@gnu.org>
3515
3516 * ccl.c (Fccl_execute): Doc fix.
3517
57c5889c
GM
35182001-03-01 Gerd Moellmann <gerd@gnu.org>
3519
35f59f6b
GM
3520 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3521 of the tool bar before calling x_figure_window_size.
3522
f84ff02c
GM
3523 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3524 NULL after destroying it, otherwise XTread_socket can access a
3525 destroyed widget when input is unblocked.
3526
8b8f9197 3527 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3528
57c5889c
GM
3529 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3530 same name as before, although there was a change in fontsets.
3531
224227d1
KR
35322001-02-28 Ken Raeburn <raeburn@gnu.org>
3533
4560730a
KR
3534 * lisp.h (Fframe_parameter): Declare.
3535
224227d1 3536 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3537 Lisp_Object.
224227d1 3538
ece93c02
GM
35392001-02-28 Gerd Moellmann <gerd@gnu.org>
3540
11ef99b9
GM
3541 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3542 NULL instead.
3543
3544 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3545 NULL instead.
3546
ece93c02
GM
3547 * alloc.c (toplevel): Include process.h.
3548 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3549 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3550 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3551 (allocate_vector, allocate_hash_table, allocate_window)
3552 (allocate_frame, allocate_process, allocate_other_vector):
3553 New functions.
ece93c02
GM
3554 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3555 (mark_maybe_pointer): New function.
52283633 3556 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3557 remain and not Lisp_Objects.
3558 (min_heap_address, max_heap_address): New variables.
3559 (mem_find): Return MEM_NIL if START is below min_heap_address or
3560 above max_heap_address.
3561 (mem_insert): Compute min_heap_address and max_heap_address.
3562
3563 * process.c (make_process): Use allocate_process.
3564
3565 * frame.c (make_frame): Use allocate_frame.
3566
3567 * window.c (make_window, make_dummy_parent): Use allocate_window.
3568 (Fcurrent_window_configuration): Use allocate_other_vector.
3569
3570 * lisp.h (allocate_vectorlike): Remove prototype.
3571 (allocate_vector, allocate_other_vector, allocate_frame)
3572 (allocate_window, allocate_process, allocate_hash_table):
3573 Add prototypes.
3574
3575 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3576 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3577
063af457
KH
35782001-02-27 Kenichi Handa <handa@etl.go.jp>
3579
3580 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3581 treat the produced bytes as a valid multibyte sequence.
3582
3583 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3584 (ccl_driver) <CCL_WriteMultibyteChar2>:
3585 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3586 <ccl_finish>: Set ccl->eight_bit_control properly.
3587
3588 * ccl.h (struct ccl_program): New member eight_bit_control.
3589
f58c6494
SM
35902001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3591
3592 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3593 accessible_keymaps_char_table.
3594 (accessible_keymaps_char_table): Obey `is_metized'.
3595 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3596 Lisp_Object.
3597
c596c392
GM
35982001-02-26 Gerd Moellmann <gerd@gnu.org>
3599
3600 * dispnew.c: Check HAVE_TERM_H before including term.h.
3601
425de386
AI
36022001-02-24 Andrew Innes <andrewi@gnu.org>
3603
3604 * makefile.w32-in: Update copyright notice.
3605
2ba11bbd
SM
36062001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3607
3608 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3609
66c56ed1
KH
36102001-02-24 Kenichi Handa <handa@etl.go.jp>
3611
4c1593ce
KH
3612 * Makefile.in (lisp): Add international/utf-8.elc.
3613
66c56ed1
KH
3614 * fontset.c (Fnew_fontset): Fix handling of the case that an
3615 element of FONTLIST is a cons of family and registry.
3616
796ead7e
JR
36172001-02-23 Jason Rumney <jasonr@gnu.org>
3618
3619 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3620 to height unconditionally.
3621
3622 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3623 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3624 (x_insert_glyphs): Call window_box_left to obtain the left
3625 x-coordinate of the area to shift.
3626
3627 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3628 safe_run_hooks.
3629
f6839838
AI
36302001-02-22 Andrew Innes <andrewi@gnu.org>
3631
52283633 3632 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3633 ($(BLD)\dispnew.obj):
3634 ($(BLD)\editfns.obj):
3635 ($(BLD)\fileio.obj):
3636 ($(BLD)\filelock.obj):
3637 ($(BLD)\keyboard.obj):
3638 ($(BLD)\w32proc.obj):
3639 ($(BLD)\process.obj):
3640 ($(BLD)\sysdep.obj): Ditto.
3641
3642 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3643 header files.
52283633
SM
3644 ($(BLD)/dispnew.$(O)):
3645 ($(BLD)/editfns.$(O)):
3646 ($(BLD)/fileio.$(O)):
3647 ($(BLD)/filelock.$(O)):
3648 ($(BLD)/keyboard.$(O)):
3649 ($(BLD)/w32proc.$(O)):
3650 ($(BLD)/process.$(O)):
f6839838
AI
3651 ($(BLD)/sysdep.$(O)): Ditto.
3652
c224f70b
GM
36532001-02-22 Gerd Moellmann <gerd@gnu.org>
3654
51695746
GM
3655 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3656 at the start of the function, check that the \n in it->c is
3657 from the iterator's current position.
52283633 3658
a61b7058
GM
3659 * xdisp.c (handle_single_display_prop): Add parameter
3660 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3661 properties which replace the display of text with something else.
3662 (handle_display_prop): Call handle_single_display_prop with
3663 additional argument saying if we already replaced text display
3664 with something else. Use AREF.
52283633 3665 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3666 (decode_mode_spec_coding): Use AREF and ASIZE.
3667
3473f362
GM
3668 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3669 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3670 * vmstime.h: Files removed.
52283633 3671
2bb58df3
GM
3672 * unexencap.c, unexfx2800.c: Files removed.
3673
c224f70b
GM
3674 * dispnew.c (direct_output_for_insert): Give up if we are showing
3675 a message or just cleared the message because we might need to
3676 resize the echo area window or display an empty echo area.
3677
ffc9ff0c
GM
36782001-02-21 Gerd Moellmann <gerd@gnu.org>
3679
0528abe1
GM
3680 * xdisp.c (redisplay_internal): Do the
3681 mark_window_display_accurate after all windows have been
3682 redisplayed because this call resets flags in buffers which are
3683 needed for proper redisplay.
3684
52283633
SM
3685 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3686 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3687 the old names.
3688
52283633
SM
3689 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3690 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3691
3692 * msdos.h (struct x_output): Rename busy_window to
3693 hourglass_window, busy_p to hourglass_p.
3694
52283633
SM
3695 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3696 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3697
3698 * xfns.c: Rename everything containing *busy_cursor* and similar
3699 to *hourglass*.
3700 (syms_of_w32fns): Rename x-busy-pointer-shape to
3701 x-hourglass-pointer-shape, display-busy-cursor to
3702 display-hourglass, busy-cursor-delay to hourglass-delay.
3703
3704 * w32fns.c: Rename everything containing *busy_cursor* and similar
3705 to *hourglass*.
3706 (syms_of_w32fns): Rename x-busy-pointer-shape to
3707 x-hourglass-pointer-shape, display-busy-cursor to
3708 display-hourglass, busy-cursor-delay to hourglass-delay.
3709
3710 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3711 of its busy_p flag.
3712
3713 * dispextern.h (start_hourglass, cancel_hourglass)
3714 (display_hourglass_p): Renamed from *busy_cursor*.
3715
ab2c5f0a
GM
37162001-02-20 Gerd Moellmann <gerd@gnu.org>
3717
d17e49a8
GM
3718 * keyboard.c (read_char): When an event from unread-command-events
3719 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3720
fa97adf6
GM
3721 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3722 equal to the current buffer.
3723
ab2c5f0a
GM
3724 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3725 nil, otherwise we're left with truncate_lines t when a message
3726 is printed with message-truncate-lines bound to t.
3727
aeac019e
GM
37282001-02-19 Gerd Moellmann <gerd@gnu.org>
3729
c8bc6f65
GM
3730 * window.c (Fmove_to_window_line): Undo last change.
3731 (displayed_window_lines): Call line_bottom_y to determine
3732 the line's bottom position.
3733
3734 * dispextern.h (line_bottom_y): Add prototype.
3735
52283633 3736 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3737 (pos_visible_p): Use it.
3738
980a2d69
GM
3739 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3740 set redisplaying_p to 0 here instead of in Frecursive_edit.
3741 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3742 set redisplaying_p.
3743
52283633 3744 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3745 New variables.
3746 (syms_of_xdisp): Initialize new variables.
3747 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3748 Specbind `inhibit-menubar-update' when updating the menu bar.
3749
65048e97
GM
3750 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3751 safe_run_hooks.
3752
3753 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3754 safe_run_hooks.
3755
a57c4026
GM
3756 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3757 is null.
3758
aeac019e
GM
3759 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3760 to the start of the file.
3761
76846b31
GM
37622001-02-16 Gerd Moellmann <gerd@gnu.org>
3763
f3f053f3 3764 * window.c (set_window_buffer): Fix last change.
52283633 3765
f3f053f3
GM
3766 * window.c (set_window_buffer): Set window's vscroll to 0.
3767
dad75588
GM
3768 * window.c (coordinates_in_window): Increase width of area
3769 where the vertical line can be dragged.
3770
c220b753
GM
3771 * xterm.c (x_set_glyph_string_background_width): Extend the
3772 background face to the end of the drawing area in the text
3773 area, only.
3774
c56b1c1b
GM
3775 * xdisp.c (handle_single_display_prop): Set iterator's position
3776 to where the `display' property starts, like for images.
3777 (dump_glyph): New function.
3778 (dump_glyph_row): Use it. Dump info about marginal areas.
3779
3780 * dispnew.c (direct_output_for_insert): Recognize more cases where
3781 glyphs can be written instead of being inserted.
3782
3783 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3784 the left x-coordinate of the area to shift.
3785
76846b31
GM
3786 * dired.c (directory_files_internal): Set result list to nil
3787 before retrying.
3788
0fc71a77
KH
37892001-02-15 Kenichi Handa <handa@etl.go.jp>
3790
3791 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3792 invalid multibyte sequence, treat *SRC as a character of
3793 eight-bit-graphic.
3794
25078b54
EZ
37952001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3796
3797 * textprop.c (Fset_text_properties): Doc fix.
3798
8399f8a0
GM
37992001-02-15 Gerd Moellmann <gerd@gnu.org>
3800
3801 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3802
9a2a6f73
DL
38032001-02-14 Dave Love <fx@gnu.org>
3804
3805 * coding.c: Doc and message fixes.
3806
bf853fee
AI
38072001-02-14 Andrew Innes <andrewi@gnu.org>
3808
3809 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3810 Emacs frame above the screen size.
3811
78c663d8
GM
38122001-02-14 Gerd Moellmann <gerd@gnu.org>
3813
3814 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3815
7cc9f69f
GM
38162001-02-13 Gerd Moellmann <gerd@gnu.org>
3817
0a411995
GM
3818 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
3819 case that TO ends up beyond ZV after running before-change-functions.
3820
5ddc1b75
GM
3821 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
3822 the selected window if it is showing the buffer in question.
3823
7cc9f69f
GM
3824 * dired.c (directory_files_internal): Initialize errno.
3825 (toplevel): Include errno.h.
3826
2e6621ca
GM
38272001-02-13 Kenichi Handa <handa@etl.go.jp>
3828
3829 * xfaces.c (best_matching_font): New parameter width_ratio.
3830 Multiply avgwidth by width_ratio.
3831 (choose_face_font): Call best_matching_font with width_ratio
3832 calculated from the column width of C.
3833
60222d69
AI
38342001-02-12 Andrew Innes <andrewi@gnu.org>
3835
3836 The following changes are to draw box lines inside characters area
3837 if line-width is negative.
52283633 3838
60222d69
AI
3839 * w32term.c (x_produce_image_glyph): Pay attention to the case that
3840 face->box_line_width is negative.
3841 (x_produce_stretch_glyph): Likewise.
3842 (x_produce_glyphs): Likewise.
3843 (x_estimate_mode_line_height): Likewise.
3844 (x_draw_glyph_string_background): Likewise.
3845 (x_draw_glyph_string_foreground): Likewise.
3846 (x_draw_composite_glyph_string_foreground): Likewise.
3847 (x_draw_glyph_string_box): Likewise.
3848 (x_draw_image_foreground): Likewise.
3849 (x_draw_image_relief): Likewise.
3850 (x_draw_image_foreground_1): Likewise.
3851 (x_draw_image_glyph_string): Likewise.
3852
9804b846
KH
38532001-02-09 Kenichi Handa <handa@etl.go.jp>
3854
3855 The following changes are to draw box lines inside characters area
3856 if line-width is negative.
52283633 3857
9804b846
KH
3858 * xterm.c (x_produce_image_glyph): Pay attention to the case that
3859 face->box_line_width is negative.
3860 (x_produce_stretch_glyph): Likewise.
3861 (x_produce_glyphs): Likewise.
3862 (x_estimate_mode_line_height): Likewise.
3863 (x_draw_glyph_string_background): Likewise.
3864 (x_draw_glyph_string_foreground): Likewise.
3865 (x_draw_composite_glyph_string_foreground): Likewise.
3866 (x_draw_glyph_string_box): Likewise.
3867 (x_draw_image_foreground): Likewise.
3868 (x_draw_image_relief): Likewise.
3869 (x_draw_image_foreground_1): Likewise.
3870 (x_draw_image_glyph_string): Likewise.
3871
3872 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3873 and :line-width can be negative.
52283633 3874 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3875
49be9f70
JR
38762001-02-09 Jason Rumney <jasonr@gnu.org>
3877
3878 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3879 characters the same as ASCII and latin-1.
3880 (x_display_and_set_cursor): Check for the focus frame's selected
3881 window instead of selected_window.
3882 (x_after_update_window_line): Don't clear if frame's internal
3883 border width is zero.
3884 (x_new_font): Don't change a tooltip's size.
3885 (w32_initialize): Set char_ins_del_ok to 1.
3886
3887 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3888 (x_set_font): If font hasn't changed, avoid recomputing
3889 faces and other things.
52283633
SM
3890 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3891 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
3892 (x_create_tip_frame): Prevent changing the tooltip's
3893 background color by specifying a color for the default font
3894 in .Xdefaults.
3895 (Qcancel_timer): New variable.
3896 (syms_of_w32fns): Initialize and staticpro it.
3897 (Fx_hide_tip, Fx_show_tip): Use it.
3898 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3899 the timer.
3900 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3901
3902 * w32.c (init_environment): Duplicate local string before putenv.
3903
555e35d2
SZ
39042001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3905
3906 * charset.c (Fstring): A typo.
3907
19c92c94
KH
39082001-02-09 Kenichi Handa <handa@etl.go.jp>
3909
e47a1c33
KH
3910 * charset.c (Fstring): If all arguments are less than 256, return
3911 a unibyte string.
3912
3913 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3914 return a unibyte string.
3915
19c92c94
KH
3916 * coding.c (code_convert_region): After detecting a coding, if
3917 nothing found, set coding->composing to COMPOSITION_NO.
3918 (decode_coding_string): Likewise.
3919
d8e675f5
SM
39202001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3921
3922 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3923 to avoid overflow.
3924
bd503487
KH
39252001-02-07 Kenichi Handa <handa@etl.go.jp>
3926
3927 * charset.c (parse_str_to_multibyte): New function.
3928
3929 * charset.h (parse_str_to_multibyte): Extern it.
3930
3931 * print.c (print_string): If we are going to print a unibyte
3932 string into a multibyte buffer, convert the string to multibyte by
3933 str_to_multibyte.
3934
a8370d72
AI
39352001-02-06 Andrew Innes <andrewi@gnu.org>
3936
3937 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3938 been created. It seems we can get sent window messages such as
3939 WM_ERASEBKGND before we properly update a frame.
3940
c363a1d6
GM
39412001-02-06 Gerd Moellmann <gerd@gnu.org>
3942
3943 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3944 Avoid some unnecessary cursor positioning.
3945
a08332c0
GM
39462001-02-05 Gerd Moellmann <gerd@gnu.org>
3947
52283633 3948 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3949 (LFACE_AVGWIDTH): New macro.
3950 (LFACEP): Use AREF.
3951 (check_lface_attrs): Check LFACE_AVGWIDTH.
3952 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3953 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3954 (merge_face_vectors): Check LFACE_AVGWIDTH.
3955 (Finternal_make_lisp_face): Use AREF.
3956 (xm_set_menu_resources_from_menu_face)
3957 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3958 (Finternal_lisp_face_empty_p): Use AREF.
3959 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3960 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3961 Compare average widths..
3962 (best_matching_font): Arrange for comparing average widths.
3963
52283633
SM
3964 * dispextern.h (enum lface_attribute_index):
3965 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3966
5cb3c8d4
DL
39672001-02-05 Dave Love <fx@gnu.org>
3968
3969 * puresize.h: Revert last change following loadup.el change.
3970
193fba87
AI
39712001-02-05 Andrew Innes <andrewi@gnu.org>
3972
3973 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3974 invocation of temacs, to work with Windows 2000.
3975 (bootstrap-emacs): Ditto.
3976
e16f52ce
GM
39772001-02-05 Gerd Moellmann <gerd@gnu.org>
3978
7a58ab59
GM
3979 * xterm.c (x_display_and_set_cursor): Check for the focus
3980 frame's selected window instead of selected_window.
3981
e89aaabd
GM
3982 * xdisp.c (try_scrolling): If point is in the line below the
3983 window, make sure to move the iterator at least a canonical
3984 char height down.
3985
52283633 3986 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 3987
789ce875
KH
39882001-02-05 Kenichi Handa <handa@etl.go.jp>
3989
52283633
SM
3990 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3991 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
3992 (ccl_driver): If the CCL program is terminated because of
3993 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3994 destination instead of throwing them away.
3995
20b28f82
GM
39962001-02-02 Gerd Moellmann <gerd@gnu.org>
3997
79fb38c0
GM
3998 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
3999 faces and other things.
4000
20b28f82
GM
4001 * xdisp.c (get_next_display_element): Fix case of empty
4002 display table entry.
4003
5a72551e
EZ
40042001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4005
eb24d0bf
EZ
4006 * editfns.c (Fconstrain_to_field): Doc fix.
4007
6a3f48c7
EZ
4008 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4009 into `thoroughly', to make it consistent with the doc string.
4010
5a72551e
EZ
4011 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4012
01acdb05
GM
40132001-02-01 Gerd Moellmann <gerd@gnu.org>
4014
0353b28f
GM
4015 * search.c (search_buffer): Call set_search_regs with a byte
4016 position, not a character position.
4017
01acdb05
GM
4018 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4019 minibuffer-only,
4020
e86b5133
EZ
40212001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4022
4023 * frame.c (Fmodify_frame_parameters): Doc fix.
4024
7442878f
GM
40252001-01-31 Gerd Moellmann <gerd@gnu.org>
4026
01acdb05
GM
4027 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4028 identifier which is not reserved by Standard C.
52283633 4029
7442878f
GM
4030 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4031
4032 * window.c (enum window_part): New enumeration.
4033 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4034 Qright_bitmap_area.
4035 (coordinates_in_window): Return an enumerator from enum
4036 window_part. Fix handling of right scroll bar.
4037 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4038 `right-fringe' instead of `left-bitmap-area' and
4039 `right-bitmap-area'. Use enumerators from enum window_part
4040 instead of hard-coded integers.
52283633
SM
4041 (check_window_containing, window_from_coordinates):
4042 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4043 (syms_of_window): Replace Qleft_bitmap_area and
4044 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4045
7c132cba
EZ
40462001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4047
4048 * editfns.c (Fformat_time_string): Doc fix.
4049
c359dd9e
SM
40502001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4051
4052 * keymap.c (Fwhere_is_internal): Use the first valid binding
4053 if no ascii binding is found (when firstonly is t).
4054
ce070307
GM
40552001-01-31 Gerd Moellmann <gerd@gnu.org>
4056
b4f30ec5
GM
4057 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4058 instead of Finteractive_p.
4059
4060 * lisp.h (interactive_p): Add prototype.
4061
4062 * eval.c (interactive_p): New function.
4063 (Finteractive_p): Use it.
4064
ce070307
GM
4065 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4066
f57b6e64
DL
40672001-01-31 Dave Love <fx@gnu.org>
4068
d61c7afe
DL
4069 * .gdbinit (hook-run): Define to run xreload.
4070
f57b6e64
DL
4071 * textprop.c (Fset_text_properties): Fix newline in doc string.
4072
eef93f99
GM
40732001-01-30 Gerd Moellmann <gerd@gnu.org>
4074
52283633
SM
4075 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4076 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4077
4078 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4079 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4080 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4081
4082 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4083 height.
4084
d9c1f6f9
DL
40852001-01-30 Dave Love <fx@gnu.org>
4086
4087 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4088 AFTER_POTENTIAL_GC.
4089
e8f044a0
GM
40902001-01-29 Gerd Moellmann <gerd@gnu.org>
4091
52283633
SM
4092 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4093 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4094
8e1db7b3
EZ
40952001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4096
4097 * textprop.c (Fset_text_properties): Doc fix.
4098
4eefd9d2
GM
40992001-01-29 Gerd Moellmann <gerd@gnu.org>
4100
4101 * xdisp.c (forward_to_next_line_start): Remove xassert.
4102
fccb8288
EZ
41032001-01-29 Jason Rumney <jasonr@gnu.org>
4104
4eefd9d2 4105 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4106 returning without releasing it.
4107
76581eab
KH
41082001-01-29 Kenichi Handa <handa@etl.go.jp>
4109
4110 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4111 for '^', '$', and '\0'.
4112
83a96b4d
AC
41132001-01-28 Andrew Choi <akochoi@i-cable.com>
4114
5604ec34
AC
4115 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4116 regex for '^', '$', and '\0'.
4117
83a96b4d
AC
4118 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4119 only if current_sblock has been initialized.
4120
4121 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4122 terminal frame even if it is the only visible frame.
4123
c09a6440
KH
41242001-01-28 Kenichi Handa <handa@etl.go.jp>
4125
4126 * fontset.c (font_family_registry): Even if FONTNAME conform to
4127 XLFD, if it specifies other fields than family and registry,
52283633 4128 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4129 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4130 a signle byte character. Don't set FAMILY part to nil here.
4131 It is handled by the caller choose_face_font.
c09a6440
KH
4132 (Fnew_fontset): Call font_family_registry with FORCE 0.
4133 (Fset_fontset_font): Likewise.
4134
4dcd74e6
GM
41352001-01-27 Gerd Moellmann <gerd@gnu.org>
4136
4137 * xdisp.c (display_line): Don't treat a newline as fitting
4138 on the line.
4139
d2906bf8
GM
41402001-01-26 Gerd Moellmann <gerd@gnu.org>
4141
0130fe1a
GM
4142 * window.c (size_window): Set the window's orig_top to nil when
4143 changing heights, so that a future shrink_mini_window won't
4144 restore a bogus height.
4145
550f0e6a
GM
4146 * frame.c (do_switch_frame): If selected frame has a mini-window,
4147 resize that to exact size.
4148
b7b20fbd
GM
4149 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4150
a47b7816
GM
4151 * xdisp.c (display_line): Simplify check for glyphs fitting
4152 entirely in the line.
4153
d2906bf8
GM
4154 * xfns.c (xic_style): New variable.
4155 (create_frame_xic): Move static variable to global scope for
550f0e6a 4156 the case that `static' gets defined away.
d2906bf8 4157
73df2b1e
KH
41582001-01-26 Kenichi Handa <handa@etl.go.jp>
4159
4160 * coding.c (decode_coding): Set a flag for inhibiting
4161 inconsistent eol.
4162 (code_convert_region): Always set saved_coding_symbol.
4163 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4164 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4165
6613cfc4
GM
41662001-01-25 Gerd Moellmann <gerd@gnu.org>
4167
c5e6e06b
GM
4168 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4169 XClearArea.
4170
4171 * xterm.c (x_after_update_window_line): Don't clear if frame's
4172 internal border width is zero.
4173 (x_clear_area): New function.
4174 (x_after_update_window_line, x_clear_end_of_line)
4175 (x_scroll_bar_create, x_scroll_bar_set_handle)
4176 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4177 instead of XClearArea.
4178
4179 * xterm.h (x_clear_area): Add prototype.
4180
6613cfc4
GM
4181 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4182 which doesn't seem necessary anymore with Lesstif 0.92.
4183
650cc6cc
DL
41842001-01-25 Dave Love <fx@gnu.org>
4185
34ac3367
DL
4186 * puresize.h (BASE_PURESIZE): Up to 720000.
4187
650cc6cc
DL
4188 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4189
5e37dc22
GM
41902001-01-25 Gerd Moellmann <gerd@gnu.org>
4191
e1e441f9
GM
4192 * xdisp.c (echo_area_display): Don't call redisplay_internal
4193 when Emacs is shutting down. We can't run hooks etc. that
4194 would be necessary to do a redisplay.
4195
5e37dc22
GM
4196 * lread.c (read_integer): Use type EMACS_INT instead of int.
4197
0fb94c7f
EZ
41982001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4199
4200 * ccl.c (ccl_driver): Fix last change.
4201
e3778624
KH
42022001-01-25 Kenichi Handa <handa@etl.go.jp>
4203
4204 * ccl.h (sturct ccl_program): New member suppress_error.
4205
bb264518 4206 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4207 insert error message to the output.
4208 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4209
4210 * coding.h (struct coding_system): New member suppress_error.
4211
4212 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4213 (Fset_terminal_coding_system_internal): Set the member
4214 suppress_error to 1.
4215 (Fset_safe_terminal_coding_system_internal): Likewise.
4216
245ed2b1
SM
42172001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4218
4219 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4220 as if it was a `charset'.
4221
f9aaedb6
GM
42222001-01-24 Gerd Moellmann <gerd@gnu.org>
4223
4224 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4225 value in where_is_cache; the next lookup in the cache returns
4226 something bogus if we do.
4227
c3902c3e
EZ
42282001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4229
4230 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4231 if HAVE_WINDOW_SYSTEM isn't defined.
4232
3497f73e
GM
42332001-01-24 Gerd Moellmann <gerd@gnu.org>
4234
e7e41584
GM
4235 * fns.c (sweep_weak_table): Fix code taking items out of
4236 the hash collision chain. Some cleanup.
4237
3497f73e
GM
4238 * xterm.c (x_new_font): Don't change a tooltip's size.
4239
4240 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4241 background color by specifying a color for the default font
4242 in .Xdefaults.
4243
3d48e687
KH
42442001-01-24 Kenichi Handa <handa@etl.go.jp>
4245
96531b20
KH
4246 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4247 a workaround for SunOS 4's cc.
4248 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4249 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4250 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4251 statement.
3d48e687 4252
a30629d2
GM
42532001-01-23 Gerd Moellmann <gerd@gnu.org>
4254
4255 * xterm.c (x_set_window_size_1): New function extracted from
4256 x_set_window_size.
4257 (x_set_window_size): Use it.
4258 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4259 doesn't have a widget, like tooltips.
4260
5a43decf
EZ
42612001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4262
52283633 4263 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4264
b0e98867
KH
42652001-01-23 Kenichi Handa <handa@etl.go.jp>
4266
4267 * fns.c (Fset_char_table_default): Fix to make sub char-table
4268 correctly.
4269
50606b4c
GM
42702001-01-22 Gerd Moellmann <gerd@gnu.org>
4271
cb2ddc53 4272 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4273 a desired tool bar string, even if there are no tool bar items.
4274
57c28064
GM
4275 * xdisp.c (Ftool_bar_lines_needed): New function.
4276 (syms_of_xdisp): Defsubr it.
4277
50606b4c
GM
4278 * editfns.c (Fformat): Don't extend text properties from arguments
4279 to padding chars in the result.
4280
2f169c38
EZ
42812001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4282
4283 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4284
0f32f023
AI
42852001-01-20 Andrew Innes <andrewi@gnu.org>
4286
52283633 4287 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4288 (w32_initialize): Don't set term hooks that aren't actually needed
4289 in windowed mode.
4290
4291 * xfaces.c (realize_default_face):
4292 (realize_face):
4293 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4294
4295 * xdisp.c (handle_single_display_prop): Remove references to
4296 FRAME_W32_CONSOLE_P.
4297
52283633 4298 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4299
4300 * frame.h (output_method): Remove output_w32_console method.
4301 (FRAME_W32_CONSOLE_P): Remove macro.
4302
4303 * frame.c (Qw32_console): Remove variable.
4304 (Fframep): Remove references to it.
4305 (syms_of_frame): Ditto.
4306 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4307
4308 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4309 redefinition.
4310
7173eada
KH
43112001-01-20 Kenichi Handa <handa@etl.go.jp>
4312
4313 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4314
755b45ce
AI
43152001-01-19 Andrew Innes <andrewi@gnu.org>
4316
4317 * w32.c (init_environment): Add a version-independent site-lisp
4318 directory to EMACSLOADPATH, after the version dependent one.
4319
0a949811
GM
43202001-01-19 Gerd Moellmann <gerd@gnu.org>
4321
8501998a
GM
4322 * editfns.c (Fbuffer_substring): Doc fix.
4323
52283633
SM
4324 * xdisp.c (message_dolog, message2, message2_nolog):
4325 Rename parameter LEN to NBYTES.
0a949811 4326
e6ebcbbe
KH
43272001-01-19 Kenichi Handa <handa@etl.go.jp>
4328
200ecca2
KH
4329 * charset.c (strwidth): Use c_string_width.
4330 (c_string_width): New function.
4331 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4332 Caller changed.
4333
4334 * charset.h (c_string_width, lisp_string_width): Extern them.
4335
52283633 4336 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4337
e6ebcbbe
KH
4338 * indent.c (check_composition): Check validity of composition.
4339
200ecca2
KH
4340 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4341 characters by calling c_string_width.
4342 (x_consider_frame_title): Get byte length of frame tile string
4343 correctly.
4344 (display_mode_element): Pay attention to width of non-ASCII
4345 characters by calling strwidth.
4346
8692ca92
GM
43472001-01-18 Gerd Moellmann <gerd@gnu.org>
4348
8962e303
GM
4349 * xfns.c (Qcancel_timer): New variable.
4350 (syms_of_xfns): Initialize and staticpro it.
4351 (Fx_hide_tip, Fx_show_tip): Use it.
4352 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4353 the timer.
4354 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4355
91523be9
GM
4356 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4357
4358 * window.h (WINDOW_LIVE_P): New macro.
4359
b0b7ed0e
GM
4360 * window.c (window_size_fixed): New variable.
4361 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4362 the doc string.
4363
06bccf8e
GM
4364 * eval.c (specbind): If binding a per-buffer variable which
4365 doesn't have a buffer-local value in the current buffer, change
4366 the global value by changing the value of the symbol bound in all
4367 buffers not having their own value, to make it consistent with
4368 what happens with other buffer-local variables.
4369
8692ca92
GM
4370 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4371
4372 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4373 when searching for a newline.
4374
bb3a3b50
KH
43752001-01-18 Kenichi Handa <handa@etl.go.jp>
4376
4377 * xdisp.c (display_string): Fix previous change.
4378
c2cc16fa
JR
43792001-01-18 Jason Rumney <jasonr@gnu.org>
4380
4381 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4382 GLYPH_DEBUG is defined.
4383 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4384 true for images with `:ascent 100'.
4385 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4386 meantime, use face MOUSE_FACE_ID.
4387 If first glyph isn't a character glyph, use the ASCII NUL
4388 character to determine the face.
4389 (expose_area): Do not treat left margin specially.
4390 (note_mode_line_highlight): If no local_map, check global keymap.
4391 (note_mouse_highlight): Initialize overlay.
52283633 4392 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4393 (show_scroll_bars): Remove unused function.
4394 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4395 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4396 Clip to row.
52283633 4397 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4398 (x_free_frame_resources): Unload relief colors.
4399
9c11f79e
GM
44002001-01-17 Gerd Moellmann <gerd@gnu.org>
4401
3aec8722 4402 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4403 get_next_display_element when the newline is already found.
4404 This may change the iterator's position, when its current position is
3aec8722
GM
4405 equal to the iterator's stop_charpos.
4406
f3ffc2c3
GM
4407 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4408 zero, use this method only at the end of a line.
4409
52283633 4410 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4411 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4412 if SCALABLE_FONTS_P is set.
52283633 4413
d26d6fd9
GM
4414 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4415 so that scalable fonts are included.
4416
9c11f79e
GM
4417 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4418 In the cache, use a key containing the information if scalable
4419 fonts are included.
4420 (x_load_font): Adapt to change of keys in the font cache.
4421
44222001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4423
d26d6fd9
GM
4424 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4425 XListFonts to take advantage of font caching.
4426
9c11f79e
GM
4427 * xterm.c (x_list_fonts): Ensure caching font information when
4428 called for a null frame, which is the case frequently when Emacs
4429 starts.
4430
51446987
GM
44312001-01-17 Gerd Moellmann <gerd@gnu.org>
4432
f864120f
GM
4433 * xfns.c (QCconversion): Replaces QCalgorithm.
4434
4435 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4436
4437 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4438 of :algorithm.
52283633 4439
e37d1417
GM
4440 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4441 not everything could be displayed.
4442
51446987
GM
4443 * line.h, x-list-font.c: Files removed because unused.
4444
9ad4f3e5
AI
44452001-01-17 Andrew Innes <andrewi@gnu.org>
4446
4447 * dired.c (directory_files_internal): Convert result from readdir
4448 to a unibyte string initially, to avoid possible misinterpretation
4449 of some bytes as the internal form of Emacs characters.
4450
2eda09b5
KH
44512001-01-17 Kenichi Handa <handa@etl.go.jp>
4452
4453 * fns.c (concat): Be sure to avoid putting the same `composition'
4454 property on the adjacent regions.
4455
826f3788
GM
44562001-01-16 Gerd Moellmann <gerd@gnu.org>
4457
52283633 4458 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4459 (Fscroll_right, Fscroll_left): Set it here instead, if called
4460 interactively.
4461
d57b83b3
GM
4462 * buffer.c (Fset_buffer_modified_p): Set buffer's
4463 prevent_redisplay_optimizations_p flag.
4464
826f3788 4465 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4466 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4467 with additional arg.
4468
4469 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4470 Change prototype.
826f3788 4471
826f3788
GM
4472 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4473 FROM_WHERE, for debugging.
4474
261d788b
KH
44752001-01-16 Kenichi Handa <handa@etl.go.jp>
4476
4477 * ccl.c (Fregister_ccl_program): Handle the return value of
4478 resolve_symbol_ccl_program correctly.
52283633 4479 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4480
bccee4f2
GM
44812001-01-15 Gerd Moellmann <gerd@gnu.org>
4482
e4ded23c
GM
4483 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4484 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4485
4486 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4487 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4488 the display; we didn't open it.
4489
bccee4f2
GM
4490 * dispnew.c (save_or_restore_current_matrices): Function removed.
4491 (save_current_matrix, restore_current_matrix): New functions.
4492 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4493 restore the frame's current matrix. Due to the glyph pointer
4494 setup done in adjust_glyph_matrix, there is no easy way to make
4495 saving the current matrix in the desired matrix generally correct,
4496 so don't try it.
4497
ebeccffa
KH
44982001-01-15 Kenichi Handa <handa@etl.go.jp>
4499
4500 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4501 truncation glyphs.
4502 (display_line): Optimize for wide characters.
e4ded23c 4503 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4504 partially. On ttys, produce more than one truncation glyph for
4505 multi-column characters that don't fit on the line.
4506
64388126
KH
45072001-01-13 Kenichi Handa <handa@etl.go.jp>
4508
52283633
SM
4509 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4510 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4511
8edb0a6f
JR
45122001-01-13 Jason Rumney <jasonr@gnu.org>
4513
4514 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4515 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4516 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4517 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4518
52283633
SM
4519 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4520 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4521 (x_draw_image_glyph_string): Adapt to change of image margins.
4522
4523 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4524 variables.
4525
4526 * w32bdf.c (search_file_line, get_cached_font_char)
4527 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4528
4529 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4530
4531 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4532 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4533 (Fw32_send_sys_command): Remove unused variables.
4534 (w32_msg_pump): Add parentheses.
4535
4536 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4537 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4538 Add parentheses.
4539
4956d1ef
GM
45402001-01-12 Gerd Moellmann <gerd@gnu.org>
4541
b30623be
GM
4542 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4543 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4544 being a pair of margins.
4545 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4546 to DEFVAR_LISP. Extend doc.
4547
4548 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4549 margins.
4550 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4551 pair of integers `(X . Y)', use X for the horizontal and Y for the
4552 vertical margin.
4553 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4554 (parse_image_spec): Check it.
52283633
SM
4555 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4556 (tiff_format, gif_format, gs_format):
4557 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4558
52283633
SM
4559 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4560 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4561 (x_draw_image_glyph_string): Adapt to the change of image margins.
4562
4563 * dispextern.h (struct image): Replace member `margin' with
4564 `hmargin' and `vmargin'.
4565
4554cc79
GM
4566 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4567 and GLYPHS.
4568
4569 * dispnew.c (update_text_area): Put code which decrements the
4570 stop position when the row's face extends to the end of the
3bffc665 4571 line in #if 0.
4554cc79 4572
3cccce8d
GM
4573 * xfns.c (x_set_mouse_color): Fix color allocation.
4574
4956d1ef
GM
4575 * keyboard.c: Call get_local_map with new argument list.
4576
4577 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4578
4579 * intervals.h (enum map_property): Removed.
4580 (get_local_map): Change prototype.
4581
4582 * keymap.c: Call get_local_map with new argument list.
4583 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4584
2c2ff7f2
GM
45852001-01-11 Gerd Moellmann <gerd@gnu.org>
4586
a23887b9
GM
4587 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4588 of the size needed for the tool bar string. For the last image,
4589 use a `display' property that reaches to the end of the string.
4590
a7ee2d2e
GM
4591 * xselect.c (selection_request_dpyinfo): New variable.
4592 (x_handle_selection_request): Set it.
4593 (x_selection_request_lisp_error): Don't call
4594 x_decline_selection_request if selection request's display has
4595 been closed.
4596
52283633
SM
4597 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4598 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4599
457b792c
GM
46002001-01-10 Dave Love <fx@gnu.org>
4601
4602 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4603 ${SOME_MACHINE_LISP}, not ${lisp}.
4604
c1efd260
GM
46052001-01-10 Gerd Moellmann <gerd@gnu.org>
4606
52283633
SM
4607 * xdisp.c (display_line): On ttys, produce more than one truncation
4608 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4609
ac95a621
GM
4610 * xselect.c (x_reply_selection_request): Add a comment.
4611
c1efd260
GM
4612 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4613 XkbGetNames instead of XkbGetKeyboard.
4614
1bfb1345
DL
46152001-01-10 Dave Love <fx@gnu.org>
4616
4617 * sysdep.c (random): Revert the declaration.
4618
38119822
GM
46192001-01-09 Gerd Moellmann <gerd@gnu.org>
4620
52283633
SM
4621 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4622 Call function string_bytes.
35f464a7
GM
4623 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4624
4625 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4626 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4627 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4628 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4629 the current sblock.
4630 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4631 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4632 after sweeping strings, and at the end.
4633 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4634
38119822
GM
4635 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4636 ensure that pop_message is called.
4637
4638 * keyboard.c (Fexecute_extended_command): Use a
4639 record_unwind_protect to ensure that pop_message is called.
4640
4641 * lisp.h (push_message_unwind): Add prototype.
4642
4643 * xdisp.c (push_message_unwind): New function.
4644
4645 * fileio.c (do_auto_save_unwind): Do the pop_message here
4646 instead of in Fdo_auto_save.
4647 (Fdo_auto_save): Don't call pop_message.
4648
f47a9ec4
KR
46492001-01-08 Ken Raeburn <raeburn@gnu.org>
4650
4651 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4652 in inner block.
4653
a758f97d
GM
46542001-01-08 Gerd Moellmann <gerd@gnu.org>
4655
6d0afc03
GM
4656 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4657 when increasing window's vscroll.
4658
a758f97d
GM
4659 * macros.c (Qkbd_macro_termination_hook): New variable.
4660 (syms_of_macros): Initialize and staticpro it.
4661 (pop_kbd_macro): Run kbd-macro-termination-hook.
4662
4663 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4664
1bfb1345 46652001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4666
4667 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4668 arglist, for documentation's sake.
4669
0dac6924
AI
46702001-01-06 Andrew Innes <andrewi@gnu.org>
4671
4672 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4673 of *.pdb.
4674
8182406a
AI
46752001-01-05 Andrew Innes <andrewi@gnu.org>
4676
4677 * term.c (update_end): Don't check updating_frame; for some reason
4678 this can be 0 sometimes, such as after dismissing a popup menu,
4679 and isn't necessary given the explicit frame argument.
4680
3828218c
GM
46812001-01-05 Gerd Moellmann <gerd@gnu.org>
4682
4683 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4684 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4685
2f5ded21
GM
46862001-01-04 Gerd Moellmann <gerd@gnu.org>
4687
52283633 4688 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4689
4690 * xfns.c (x_create_tip_frame): Preserve the value of
4691 face_change_count around the creation of the tip frame.
52283633 4692
2f5ded21
GM
4693 * xfns.c (last_show_tip_args): New variable.
4694 (compute_tip_xy): New function.
4695 (Fx_show_tip): Reuse an existing tip frame, if possible.
4696 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4697
dfad65fa
DL
46982001-01-04 Dave Love <fx@gnu.org>
4699
64d4ec0f
DL
4700 * editfns.c (Fformat): Doc fix.
4701
dfad65fa
DL
4702 * systime.h (set_file_times): Prototype.
4703
4704 * widget.h (EmacsFrameSetCharSize_): Prototype.
4705
4706 * sysdep.c (random, srandom): Declare explicitly.
4707
4708 * dispextern.h (move_it_vertically_backward): Declare.
4709
85fe3b5e
GM
47102001-01-04 Gerd Moellmann <gerd@gnu.org>
4711
0f2ac578
GM
4712 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4713 like in Fx_create_frame.
4714
482cca61
GM
4715 * xfaces.c (set_font_frame_param): Don't do anything for
4716 non-graphical frames.
4717
85fe3b5e
GM
4718 * window.c (Fdelete_other_windows): Set window's window_end_valid
4719 to nil when changing the window's start. Don't change the
4720 window's start when its top position hasn't changed. If we do,
4721 this will set the window's optional_new_start, which act's like a
4722 force_start during redisplay with C-x 1 M-> under particular
4723 circumstances (see report from Per Starback to emacs-pretest-bug
4724 from 2000-12-13.).
4725
3e99d3b4
GM
47262001-01-03 Gerd Moellmann <gerd@gnu.org>
4727
a77dc1ec
GM
4728 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4729 short cut at the start of the function. Add an assertion.
4730 (reseat_at_next_visible_line_start): Add an assertion.
4731
2f3cad6c
GM
4732 * window.c (Frecenter): When changing the window start, set the
4733 window's window_end_valid to nil.
4734 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4735
4736 * dispextern.h (move_it_past_eol): Add prototype.
4737
4738 * xdisp.c (move_it_past_eol): New function.
4739
3e99d3b4
GM
4740 * window.c (Fwindow_end): Doc fix.
4741
47422001-01-03 Dave Love <fx@gnu.org>
4743
52283633 4744 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4745
bafb434c
GM
47462001-01-03 Gerd Moellmann <gerd@gnu.org>
4747
4748 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4749 the enabled_p flag of the glyph row at window_end_vpos to 0.
4750 (handle_single_display_prop): Fix last change.
4751
5297fb00
RS
47522001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4753
4754 * window.c (Frecenter): Doc fix.
4755
13d6a61c
AI
47562001-01-02 Andrew Innes <andrewi@gnu.org>
4757
4758 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4759
4760 * frame.h (output_method): Add output_w32_console method.
4761 (FRAME_W32_CONSOLE_P): New macro.
4762
4763 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4764 use output_w32_console method.
4765 (Qw32_console): New Lisp_Object.
4766 (Fframep): Return it.
4767 (syms_of_frame): Init it.
52283633 4768 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4769
4770 * xfaces.c (realize_default_face): Set face foreground and
4771 background to unspecified for w32_console frames.
4772 (realize_face): Realize face cache for w32_console frames.
4773 (realize_tty_face): Accept w32_console frames.
4774
52283633 4775 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4776 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4777 necessary, even if running interactively.
4778
4779 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4780 w32_console frames.
4781
52283633
SM
4782 * w32term.c (x_update_begin):
4783 (x_update_end):
4784 (x_clear_frame):
4785 (x_ins_del_lines):
4786 (x_change_line_highlight):
4787 (x_delete_glyphs):
4788 (w32_ring_bell):
4789 (x_update_begin):
4790 (x_update_end):
4791 (w32_reassert_line_highlight):
4792 (w32_frame_rehighlight):
13d6a61c
AI
4793 (w32_frame_raise_lower): Do nothing if not w32 frame.
4794
4795 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4796
4797 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4798 system doesn't tell us directly.
4799 (Fx_display_visual_class): Implement properly.
4800
d6bb0c0d
GM
48012001-01-02 Gerd Moellmann <gerd@gnu.org>
4802
4803 * window.c (Frecenter): Handle centering in graphical frames
4804 specially. Centering on the basis of line counts doesn't work
4805 reliably with variable-height lines.
52283633 4806
315f5865
EZ
48072001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4808
4809 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4810 and al[].
4811
52283633 4812 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
4813 (update_compositions): Remove unused variable `hook'.
4814
4815 * intervals.c (get_local_map): Remove unused variable `tem'.
4816
4817 * doprnt.c (doprnt1): Remove unused variable `size'.
4818
4819 * fns.c (Flength): Remove unused variable `tail'.
4820 (Fdelete): Remove unused variable `size'.
4821
4822 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
4823 and `gcpro2'.
4824
52283633 4825 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
4826
4827 * data.c (find_symbol_value): Remove extra 3rd argument in the
4828 call to swap_in_symval_forwarding.
4829
52283633 4830 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
4831
4832 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
4833 (trivial_regexp_p): Remove unused variable `c'.
4834 (boyer_moore): Remove unused variable `k'.
4835
4836 * indent.c (current_column): Remove unused variable `stopchar'.
4837 (Fcompute_motion): Remove unused variable `contin'.
4838
4839 * casefiddle.c (casify_object): Remove unused variable `tolen'.
4840
4841 * dired.c (directory_files_internal): Fix a typo in a comment.
4842 Remove an unused variable `handler'.
52283633 4843 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
4844 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
4845 on BSD4_2.
4846
52283633 4847 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
4848
4849 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
4850 and `buf'.
4851 (Fmarker_insertion_type): Remove unused variable `buf'.
4852
4853 * insdel.c (make_gap): Remove unused variable `result'.
4854
52283633 4855 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
4856 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
4857 (menu_bar_items): Remove unused function-scope variable `tem'.
4858
4859 * fontset.c (fontset_ref): Remove unused variable `i'.
4860 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 4861 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
4862 (make_fontset_for_ascii_face): Remove unused variable `name'.
4863 (fs_load_font): Remove unused variable `font_idx'.
52283633 4864 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
4865 (list_fontsets): Remove unused variable `tail'.
4866 (Fnew_fontset): Remove unused variables `family' and `registry'.
4867 (accumulate_font_info): Remove unused variable `tmp'.
4868 (Ffontset_font): Remove unused variable `id'.
4869 (syms_of_fontset): Remove unused variable `i'.
4870
4871 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4872 to x_term_init.
4873 (lookup_image): Remove unused variable `file'.
4874 (xbm_load): Remove unused variables `bitmap_data', `height', and
4875 `width'. Remove function-local variable `i', leave the
4876 block-local one.
4877 (gif_load): Remove unused variable `inc'.
4878
52283633 4879 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4880 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4881 leave only the one in the inner block.
4882
4883 * xfaces.c (face_fontset, realize_default_face): Remove unused
4884 variable `fontset'.
4885 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4886
4887 * term.c (encode_terminal_code): Remove unused variable `c'.
4888
4889 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4890 char *' instead of `char *'.
4891
4892 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 4893 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
4894 (Fchar_category_set): Remove unused variables `val', `charset',
4895 `c1' and `c2'.
4896
52283633
SM
4897 * coding.c (detect_coding_iso2022, setup_coding_system):
4898 Remove unused variable `i'.
315f5865
EZ
4899 (detect_coding_mask): Remove unused variable `idx'.
4900 (detect_coding): Remove unused variable `i'.
4901 (ccl_coding_driver): Remove unused variable `result'.
4902 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 4903 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
4904 (encode_coding_string): Remove unused variables `gcpro1' and
4905 `saved_coding_symbol'.
4906 (Ffind_coding_systems_region_internal): Remove function-local
4907 variable args[], leave only the block-local one.
4908 (code_convert_region1): Remove unused variable `len'.
4909
4910 * charset.c (char_printable_p): Remove unused variable `chars'.
4911 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4912 (str_to_multibyte): Remove unused variable `c'.
4913
4914 * window.c (size_window): Remove block-local variable `min_size'.
4915
4916 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4917 `header_line_height'.
4918 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4919 enum display_element_type.
4920
1a8a9daf
GM
49212001-01-02 Gerd Moellmann <gerd@gnu.org>
4922
6dde6abc 4923 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4924 statements that call X. Save away the error message in a local copy.
4925
1883b2c6
GM
4926 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4927 the start.
4928
a13be207
GM
4929 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4930 in or at the start of invisible text.
4931
1a8a9daf
GM
4932 * dispnew.c (update_window): Don't check_current_matrix_flags.
4933
3608c0f9
JR
49342001-01-01 Jason Rumney <jasonr@gnu.org>
4935
4936 * w32fns.c (x_figure_window_size): Do not allow new_height and
4937 new_width of frame to override specified values.
4938
abb1acc4
KH
49392000-12-30 Kenichi Handa <handa@etl.go.jp>
4940
52283633 4941 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4942
762a68ec
GM
49432000-12-29 Gerd Moellmann <gerd@gnu.org>
4944
52283633 4945 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4946 (update_window) [GLYPH_DEBUG]: Call it.
4947 (scrolling_window): Prevent including current rows which are below
4948 what's displayed in the window.
4949
4950 * xdisp.c (try_window_reusing_current_matrix)
4951 <new start <= old start>: Disable rows in the current matrix
4952 which are below the window after scrolling.
52283633 4953
762a68ec
GM
4954 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4955 is zero. It's not worth the complexity.
4956 (invisible_text_between_p): Put in #if 0 because unused.
4957
2d5912c1
GM
49582000-12-28 Gerd Moellmann <gerd@gnu.org>
4959
46f6a258
GM
4960 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4961 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4962
89f93679
GM
4963 * keyboard.c (echo_char): If C is an integer, always call
4964 push_key_description. Former code could signal an invalid
4965 character error.
4966
4967 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4968 If set, print multibyte text.
4969 (Fsingle_key_description): Call push_key_description with
4970 FORCE_MULTIBYTE set.
4971 (describe_buffer_bindings): Likewise.
4972
4973 * lisp.h (push_key_description): Add prototype.
4974
c06017fb
GM
4975 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4976 around the call to redisplay_internal.
4977
f1d2ce7f
GM
4978 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4979
2d5912c1
GM
4980 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4981
9371f831
KH
49822000-12-28 Kenichi Handa <handa@etl.go.jp>
4983
4984 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4985 (ccl_driver): New local variable `extra_bytes'.
4986
4987 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4988
52283633
SM
4989 * coding.c (setup_coding_system):
4990 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
4991 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4992
0c80628a
KH
49932000-12-28 Kenichi Handa <handa@etl.go.jp>
4994
4995 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4996 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4997 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
4998 (decode_composition_emacs_mule): New function.
4999 (decode_coding_emacs_mule): Decode composition sequence by calling
5000 decode_composition_emacs_mule.
5001 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5002 (encode_coding_emacs_mule): Changed from macro to function.
5003 If a text contains compositions, encode them correctly.
0c80628a
KH
5004 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5005 that decoding and encoding are required.
5006
3e32cc27
GM
50072000-12-27 Gerd Moellmann <gerd@gnu.org>
5008
5e25feee
GM
5009 * xfaces.c (PT_PER_INCH): New macro.
5010 (xlfd_point_size): Compute real point size from font's pixel size.
5011 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5012 instead of 72.
5013
892d8fcd
GM
5014 * .gdbinit: Comment out the line pointing to the Lesstif source
5015 directory.
5016
12c8b416
GM
5017 * window.c (Frecenter): Use displayed_window_lines instead
5018 of window_internal_height.
5019
6061fbf0
GM
5020 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5021 instead of x-toolkit-scroll-bars-p.
5022 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5023
5024 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5025 instead of x-toolkit-scroll-bars-p.
5026 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5027
3e32cc27
GM
5028 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5029 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5030 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5031 New variables.
5032 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5033 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5034 (build_frame_matrix_from_leaf_window): Remove unused code.
5035 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5036 redisplay history.
5037 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5038 (update_window) [GLYPH_DEBUG]: Likewise.
5039 (syms_of_display): Defsubr dump-redisplay-history.
5040
31798cfe
GM
50412000-12-23 Gerd Moellmann <gerd@gnu.org>
5042
f717c2ba
GM
5043 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5044 the end of the prompt. Set echo_after_prompt to the offset
5045 of echoptr in echobuf.
5046
aeb2b8fc
GM
5047 * xdisp.c (init_from_display_pos): Pop until the iterator's
5048 stack is empty; there may be frames for stretch or images
5049 on the stack.
5050
31798cfe
GM
5051 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5052 (save_or_restore_current_matrix): New function for the same
5053 purpose, but more efficient.
5054 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5055
f8156156
EZ
50562000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5057
5058 * xdisp.c (syms_of_xdisp): Fix last change.
5059
bdd6d4e8
GM
50602000-12-23 Gerd Moellmann <gerd@gnu.org>
5061
5062 * xdisp.c (syms_of_xdisp): Doc fix.
5063
5064 * xdisp.c (redisplay_window): Remove label restore_buffers;
5065 use finish_scroll_bars instead to make sure that scroll bars
5066 are redeemed. If we don't do this, flickering can result from
5067 scroll bars being destroyed and recreated.
5068
9436cdf9
JR
50692000-12-22 Jason Rumney <jasonr@gnu.org>
5070
5071 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5072 in the wrong colors when the foreground is not black.
5073 (expose_window): Don't redraw the window that's currently being
5074 updated.
5075
951f9df5
GM
50762000-12-22 Gerd Moellmann <gerd@gnu.org>
5077
856ff7a7
GM
5078 * window.c (size_window): When setting the window's too_small_ok
5079 flag, compare old size with minimum size depending on WIDTH_P,
5080 don't compare with window_min_width.
52283633 5081
951f9df5
GM
5082 * window.c (delete_window): Simplify somewhat.
5083 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5084 freeing window matrices. The flag windows_or_buffers_changed is
5085 set, so the next redisplay will consider all windows; this should
5086 suffice.
5087
886bc933
KH
50882000-12-22 Kenichi Handa <handa@etl.go.jp>
5089
5090 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5091
5092 * ccl.h (struct ccl_program): New member cr_consumed.
5093
5094 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5095 (CCL_READ_CHAR): Handle EOL conversion here.
5096 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5097
177f4e88
GM
50982000-12-21 Gerd Moellmann <gerd@gnu.org>
5099
52283633 5100 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5101
5102 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5103 otherwise tabs of different size compare equal.
5104
5105 * callint.c (Fcall_interactively): Prevent a compiler warning.
5106
5107 * print.c (print_unwind): Return nil.
5108 (PRINTDECLARE): Initialize all local variables.
5109 (print_preprocess): Add a default case.
5110
8e15274f
GM
5111 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5112
5113 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5114
52283633 5115 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5116 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5117
5118 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5119
5120 * dispnew.c (ensure_frame_matrix): Removed.
5121 (save_frame_matrix, restore_frame_matrix): New functions.
5122 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5123
5124 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5125 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5126
99012074
AI
51272000-12-21 Andrew Innes <andrewi@gnu.org>
5128
5129 * w32term.c (x_update_begin): Regenerate the palette here, rather
5130 than for each window.
5131
5132 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5133 palette is NULL, since this corrupts memory! Also get
5134 display_info reference from frame.
5135
29ef7d2d
JR
51362000-12-21 Jason Rumney <jasonr@gnu.org>
5137
5138 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5139
5140 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5141 to avoid returning without releasing it.
3e27fa1f 5142
3f9d67a6
KH
51432000-12-21 Kenichi Handa <handa@etl.go.jp>
5144
587fc3f9
KH
5145 * keymap.c (push_key_description): Don't convert eight-bit-control
5146 and eight-bit-graphic to multibyte character.
5147
3f9d67a6
KH
5148 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5149 generic character and CODE1 is nil, return the smallest character
5150 in CHARSET.
5151
774ba8c9
DL
51522000-12-20 Dave Love <fx@gnu.org>
5153
5154 * s/osf5-0.h (NSIG): Don't redefine.
5155
88416888
SM
51562000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5157
5158 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5159 excluding menu-bar and tool-bar.
5160 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5161 (menu_item_p): Remove.
5162 (where_is_internal_1): Don't ignore menu-items.
5163
a6426c6f
GM
51642000-12-20 Gerd Moellmann <gerd@gnu.org>
5165
03ff8aab
GM
5166 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5167 into account.
5168
5169 * window.c (make_window): Initialize window's min_hscroll.
5170 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5171 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5172 to zero.
5173 (struct saved_window): New member min_hscroll.
5174 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5175 (Fset_window_configuration): Set window's min_hscroll.
5176 (save_window_save): Save window's min_hscroll.
5177 (compare_window_configurations): Compare min_hscroll values.
5178
5179 * window.h (struct window): New member min_hscroll.
5180
5181 * keyboard.c (echo_prompt): Prevent a compiler warning.
5182
8de4aaf8
GM
5183 * xdisp.c (try_cursor_movement): Fix last change. The real
5184 condition is that PT is at the end of the row, and should
5185 be displayed at the start of the next row.
52283633 5186
3f7e3031
GM
5187 * xdisp.c (try_cursor_movement): If we end on a partially
5188 visible line, end we already decided to scroll, return -1.
5189
a6426c6f
GM
5190 * dispextern.h (ensure_frame_matrix): Add prototype.
5191
5192 * window.c (delete_window, Fsplit_window)
5193 (Fset_window_configuration): Call ensure_frame_matrix.
5194
52283633
SM
5195 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5196 New functions.
a6426c6f
GM
5197 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5198 completed, call fake_current_matrices instead of marking frame
5199 garbaged.
5200
57fa2774
JR
52012000-12-20 Jason Rumney <jasonr@gnu.org>
5202
5203 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5204
d925df90
EZ
52052000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5206
5207 * fns.c (Frequire): Doc fix.
5208
7b93a85b
GM
52092000-12-19 Gerd Moellmann <gerd@gnu.org>
5210
52283633 5211 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5212
c74e645b
GM
5213 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5214 currently displaying a message.
5215
7b93a85b
GM
5216 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5217 xterm.h.
5218 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5219
90d97e64
AI
52202000-12-18 Andrew Innes <andrewi@gnu.org>
5221
5222 * w32.c (w32_strerror): New function.
5223
5224 * w32.h (w32_strerror): New extern.
5225
5226 * w32fns.c (Fw32_shell_execute): Use it.
5227
91c9e6ce
GM
52282000-12-18 Gerd Moellmann <gerd@gnu.org>
5229
5230 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5231
6f4745e2
EZ
52322000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5233
5234 * msdos.c (IT_set_face): Obey inverse_video.
5235
c9e088ce
KH
52362000-12-18 Kenichi Handa <handa@etl.go.jp>
5237
5238 * dired.c (directory_files_internal): Always return decoded filenames.
5239
c3695f5f
GM
52402000-12-18 Gerd Moellmann <gerd@gnu.org>
5241
52d8e4ff
GM
5242 * xterm.c (x_connection_closed): Prevent being called recursively
5243 because of an error condition in XtCloseDisplay.
52283633 5244
62be9979
GM
5245 * xdisp.c (init_iterator): If noninteractive, and the frame's
5246 face cache is null, make one.
5247
52283633 5248 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5249
c3695f5f
GM
5250 * process.c (wait_reading_process_input): Check for pending
5251 input when running timers.
5252
78555fbe
EZ
52532000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5254
52283633 5255 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5256
b2b36264
KH
52572000-12-18 Kenichi Handa <handa@etl.go.jp>
5258
5259 * process.c (read_process_output): Don't run a filter if the code
5260 decoder produces nothing but carryover.
5261
9c543fbf
AI
52622000-12-17 Andrew Innes <andrewi@gnu.org>
5263
5264 * w32.c (sys_rename): Only check errno against EEXIST, and not
5265 EACCES, when determining whether rename failed because the target
5266 exists. This was resulting in indefinite looping on Windows 9x if
5267 the source file was locked by another process.
5268
5269 * w32fns.c (Ffile_system_info): New function.
5270 (syms_of_w32fns): Defsubr it.
5271
10c2b5a8
GM
52722000-12-17 Gerd Moellmann <gerd@gnu.org>
5273
b0228ace
GM
5274 * window.c (coordinates_in_window): Fix computation for
5275 position on vertical line between mode lines.
5276
10c2b5a8
GM
5277 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5278 Don't alter tip_frame or tip_window.
5279 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5280 was deleted.
5281
c844a81a
GM
5282 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5283 Don't alter tip_frame or tip_window.
5284 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5285 was deleted.
5286
6c825f8e
EZ
52872000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5288
5289 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5290 be consistent with the doc string. Reported by NAKAJIMA Mikio
5291 <minakaji@osaka.email.ne.jp>.
5292
af4bb4c8
KH
52932000-12-16 Kenichi Handa <handa@etl.go.jp>
5294
5295 * xfaces.c (Vface_ignored_fonts): New variable.
5296 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5297 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5298
8062e53a
GM
52992000-12-15 Gerd Moellmann <gerd@gnu.org>
5300
e87b8809
GM
5301 * dispnew.c (update_window): Detect pending input every nth line
5302 updated, i.e. do it depending on real work done, and not on the
5303 vpos of the line.
5304
5305 * xterm.c (expose_window): Don't redraw the window that's
5306 currently being updated.
5307
a6768cc5
GM
5308 * window.c (Fset_window_point): Remove test for
5309 cursor_in_non_selected_windows.
5310
4ea7fdca
GM
5311 * lread.c (read1): Recognize end of file after `\\'.
5312
8062e53a
GM
5313 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5314 not unwind_create_frame.
5315
bb7959c1
GM
53162000-12-15 Dave Love <fx@gnu.org>
5317
5318 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5319 bcopy & al.
5320
5321 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5322
ced04c42
KH
53232000-12-15 Kenichi Handa <handa@etl.go.jp>
5324
c5443913
KH
5325 * coding.c (setup_coding_system): Clear all members of the struct
5326 coding_system at first.
bc137305
KH
5327 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5328 argument.
5329 (code_convert_region): Don't override coding->src_multibyte and
5330 coding->dst_multibyte.
c5443913 5331
ced04c42
KH
5332 * fns.c (Fmd5): Docstring improved.
5333
c2d7f289
MB
53342000-12-15 Miles Bader <miles@gnu.org>
5335
5336 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5337 are actually marked as mode-lines; otherwise use
5338 estimate_mode_line_height.
5339
9d7d9263
GM
53402000-12-14 Gerd Moellmann <gerd@gnu.org>
5341
5342 * editfns.c (Fformat): Prevent a buffer overrun when the format
5343 specifies a precision.
5344
7cf0153a
EZ
53452000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5346
5347 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5348 argument is outside the range [2..3].
5349
1de0f662
AI
53502000-12-14 Andrew Innes <andrewi@gnu.org>
5351
5352 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5353 nothing to do. Bind inhibit-quit.
5354 (tip_frame): Make it a Lisp_Object.
5355 (x_create_tip_frame): Set tip_frame after it has been added to
5356 Vframe_list.
5357 (Fx_show_tip): Don't set tip_frame here.
52283633 5358 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5359 (unwind_create_frame, unwind_create_tip_frame): New functions.
5360 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5361 while a frame is only partially constructed.
5362
5363 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5364 (x_free_frame_resources): New function.
5365 (x_destroy_window): Use it.
5366
02387dcc
GM
53672000-12-14 Gerd Moellmann <gerd@gnu.org>
5368
5369 * xfns.c (Fx_backspace_delete_keys_p): New function.
5370 (syms_of_xfns): Defsubr it.
5371
5372 * config.in (HAVE_XKBGETKEYBOARD): Add.
5373
0544ef49
KH
53742000-12-14 Kenichi Handa <handa@etl.go.jp>
5375
98d62747
KH
5376 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5377 Always store string in multibyte representation in echobuf.
5378 (echo_char): Always store string in multibyte representation in
5379 echobuf.
5380 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5381 (read_key_sequence): Adjusted for the change of echo_prompt.
5382
a20193cd
KH
5383 * fns.c (Fmd5): Docstring improved.
5384
191b83b6
KH
5385 * lisp.h (detect_coding_system): Prototype adjusted.
5386
0544ef49
KH
5387 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5388 (detect_coding_emacs_mule, detect_coding_iso2022,)
5389 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5390 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5391 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5392 (detect_coding_mask, detect_coding_system): New argument
5393 MULTIBYTEP. Callers changed.
1da1bb05
KH
5394 (decode_coding_string): Set coding->src_multibyte and
5395 coding->dst_multibyte before calling detect_coding and detect_eol.
5396 Update them after some coding system is detected.
52283633 5397
d5b3eb1b
SM
53982000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5399
5400 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5401
5402 * keyboard.c (menu_bar_items, tool_bar_items):
5403 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5404
f7f8bb69
GM
54052000-12-13 Gerd Moellmann <gerd@gnu.org>
5406
52283633 5407 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5408 New variables.
5409 (unwind_create_frame, unwind_create_tip_frame): New functions.
5410 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5411 while a frame is only partially constructed.
5412
5413 * xterm.h (x_free_frame_resources): Declare.
5414
5415 * xterm.c (x_free_frame_resources): New function.
5416 (x_destroy_window): Use it.
5417
e10da507
GM
5418 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5419 don't interrupt the update for pending input initially, i.e.
5420 update at least some lines.
5421
5422 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5423
d5b3eb1b 5424 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5425
5426 * xfns.c (gray_bitmap_bits): Declare `char *'.
5427
90aa2856
GM
54282000-12-12 Gerd Moellmann <gerd@gnu.org>
5429
5430 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5431 lines start with a relief line.
5432
a308c9cd
DL
54332000-12-12 Dave Love <fx@gnu.org>
5434
5435 * window.c (Fdisplay_buffer): Doc fix.
5436 (Fwindow_list): Remove unused var.
5437
5438 * buffer.h (mmap_set_vars): Declare.
5439
5440 * window.h (Fset_window_point): Declare.
5441
d575011f
EZ
54422000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5443
bf6282d2 5444 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5445 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5446 variable `area'. When looking for a row under (X,Y), give up if some
5447 of the previous rows is not enabled.
d575011f 5448
ecf4d726
GM
54492000-12-12 Gerd Moellmann <gerd@gnu.org>
5450
2ebf6139
GM
5451 * window.c (Fset_window_point): If displaying cursors in windows
5452 other than the selected window, make sure redisplay updates
5453 other windows to show the new value of point in the window.
5454
5455 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5456
bfdb75ee
GM
5457 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5458 the buffer is the sole visible buffer when in the mini-buffer.
5459
52283633 5460 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5461 Bind `inhibit-read-only' to t.
5462 (unwind_with_echo_area_buffer): Use AREF.
5463
c0006262
GM
5464 * xfns.c (Fx_hide_tip): Simplified.
5465
52283633
SM
5466 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5467 instead of `1'.
e9a59cad 5468
ecf4d726
GM
5469 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5470
e5959a9a
GM
54712000-12-11 Gerd Moellmann <gerd@gnu.org>
5472
a3642e49 5473 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5474
44b5a125
GM
5475 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5476 nothing to do. Bind inhibit-quit.
5477 (tip_frame): Make it a Lisp_Object.
5478 (x_create_tip_frame): Set tip_frame after it has been added to
5479 Vframe_list.
5480 (Fx_show_tip): Don't set tip_frame here.
5481
5482 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5483
5484 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5485 Lisp_Object.
5486
5487 * dispextern.h: Change external declaration of tip_frame.
5488
d990421f
GM
5489 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5490 return an empty string.
5491
4db87380
GM
5492 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5493 of the window's update_mode_line flag, since the former is set by
5494 force-mode-line-update, not the latter. This makes
5495 column-number-mode slightly faster.
52283633 5496
e5959a9a
GM
5497 * xdisp.c (try_window_id) <all changes above window start>:
5498 Set the cursor.
5499
169fe44e
GM
55002000-12-11 Paul Eggert <eggert@twinsun.com>
5501
5502 * config.in (HAVE_FTELLO): Remove.
5503 (HAVE_FSEEKO): Add.
5504 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5505 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5506 HAVE_FTELLO.
5507 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5508 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5509
59ec59ae
MB
55102000-12-11 Miles Bader <miles@gnu.org>
5511
5512 * window.c (displayed_window_lines): Don't round up when
5513 converting empty space at bottom to lines.
ff904dd6
MB
5514 Handle non-newline-terminated final lines properly.
5515 (Fwindow_text_height): New function (used to be in lisp).
5516 (syms_of_window): Initialize it.
59ec59ae 5517
42ebfa31
SM
55182000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5519
5520 * syntax.c (scan_lists): Check that the right quote char has the
5521 right Sstring syntax when jumping over strings.
5522 (init_syntax_once): Use Smax rather than 13.
5523
5cdb3cf3
MB
55242000-12-09 Miles Bader <miles@gnu.org>
5525
5526 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5527 with PARTIALLY, inverting the sense.
5528 (window_scroll_pixel_based): Scroll partially visible lines into
5529 place if we hit the beginning or end of the buffer.
a12167c5
MB
5530 (displayed_window_lines): Don't include partially visible lines.
5531 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5532
842b2a94
GM
55332000-12-08 Gerd Moellmann <gerd@gnu.org>
5534
5535 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5536
5537 * tparam.c (tparam1): Change the way buffers are reallocated to be
5538 portable and less obfuscated.
5539
5540 * termcap.c (tgetent): Change the way buffers are reallocated to
5541 be portable and less obfuscated.
5542
5543 * macros.c (store_kbd_macro_char): Change the way buffers are
5544 reallocated to be portable and less obfuscated.
5545
5546 * lread.c (read1): Change the way buffers are reallocated to be
5547 portable and less obfuscated.
5548
5549 * doc.c (Fsubstitute_command_keys): Change the way buffers
5550 are reallocated so that it is portable.
5551
137cad7c
EZ
55522000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5553
5554 * dosfns.c (Ffile_system_info): New function.
5555 (syms_of_dosfns): Defsubr it.
5556
5c7f629c
SM
55572000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5558
5559 * alloc.c (gc_sweep): Add comment.
5560
959e647d
GM
55612000-12-07 Gerd Moellmann <gerd@gnu.org>
5562
52283633
SM
5563 * sound.c (vox_configure): Change order of ioctls.
5564 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5565 Ignore errors when changing volume.
5566 (vox_close): Don't reset the device.
5567
926b7e5e
GM
5568 * process.c (read_process_output): Make sure the process marker's
5569 position is valid when the process buffer is changed in
5570 after-change functions. W3 does that.
52283633 5571
959e647d
GM
5572 * xfns.c (x_free_gcs): New function.
5573
5574 * xterm.h (x_free_gcs): Add prototype.
5575
5576 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5577 freeing GCs here.
5578
5579 * xterm.c (x_destroy_window): Call x_free_gcs so that
5580 resources of non-toolkit X windows will be freed.
5581
478ea067
AI
55822000-12-07 Andrew Innes <andrewi@gnu.org>
5583
5584 * w32fns.c (xlfd_charset_of_font): Fix last change.
5585
fbee3231
DL
55862000-12-06 Dave Love <fx@gnu.org>
5587
67292061
DL
5588 * md5.h (__P): Don't define -- it comes from config.h.
5589
fbee3231
DL
5590 * strftime.c: Change some #if foo to #ifdef foo.
5591
4ee87dbb
AI
55922000-12-06 Andrew Innes <andrewi@gnu.org>
5593
5594 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5595
52283633 5596 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5597 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5598 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5599
9765b4a4
GM
56002000-12-06 Gerd Moellmann <gerd@gnu.org>
5601
d285b373
GM
5602 * alloc.c (gc_sweep): Prevent symbols read during loadup
5603 from being freed.
5604
384333ee
GM
5605 * xdisp.c (underlying_face_id): New function.
5606 (handle_face_prop, face_before_or_after_it_pos): Use it
5607 to determine the face ``under'' a string. Let strings inherit
5608 the face of the buffer under them.
5609
5610 * xfaces.c (face_at_string_position): Update function comment.
52283633 5611
d4b72d58
GM
5612 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5613 matrix if the window's left position has changed; we need to
5614 redraw it in this case.
5615
5616 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5617
e1d05387
GM
5618 * window.c (coordinates_in_window): Check mouse on mode-line or
5619 header-line first.
5620
eb1b0c74
GM
5621 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5622 advertized by the function documentation.
5623
d94d636f
GM
5624 * window.c (syms_of_window): Doc fix.
5625
3887b449
GM
5626 * sound.c (vox_configure): Set volume for left and right channel.
5627 (sound_cleanup): Return nil.
5628
efc8f57a
GM
5629 * xdisp.c (move_it_by_lines): Fix paren typo.
5630
9765b4a4
GM
5631 * xterm.c (x_load_font): Don't use the font's max_bounds for
5632 computing the height of the font. If max_bounds' ascent or
5633 descent are greater than the font's ascent or descent, this means
5634 glyphs overlap, which should be handled now by redisplay.
5635
6529ed87
GM
5636 * window.c (Veven_window_heights): New variable.
5637 (syms_of_window): DEFVAR_LISP it.
5638 (Fdisplay_buffer): Check Veven_window_heights before evening the
5639 window heights.
52283633 5640
0eb2ecde
MB
56412000-12-06 Miles Bader <miles@gnu.org>
5642
5643 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5644 update `default-frame-alist' instead of setting no frame parameters.
5645
03d7a167
KH
56462000-12-06 Kenichi Handa <handa@etl.go.jp>
5647
5648 * composite.c (update_compositions): Fix typo (use the correct
5649 variable).
5650
5f8803c2
JR
56512000-12-05 Jason Rumney <jasonr@gnu.org>
5652
5653 * md5.h: Remove underscores from function declarations.
5654 (__attribute__, __alignof__) [!__GNUC__]: Define.
5655
5656 * md5.c: Delay include of md5.h until after namespace cleaning.
5657
c28a075b
JR
5658 * makefile.w32-in (fns.o): Depend on md5.h
5659 (md5.o): New target.
5660 (sunfns.o): Remove.
5661
5662 * makefile.nt: Likewise.
5663
ff3c7056
JR
56642000-12-05 Jason Rumney <jasonr@altavista.net>
5665
5666 * w32term.c (expose_area): Complete last change.
5667
0c21eeeb
KR
56682000-12-05 Ken Raeburn <raeburn@gnu.org>
5669
5670 * minibuf.c: Include intervals.h.
5671
f201d732
JR
56722000-12-05 Jason Rumney <jasonr@gnu.org>
5673
5674 * w32term.c (x_produce_glyphs): If a font for a component of
5675 a composition is not found, use 1 pixel dot ascent and 0 dot
5676 descent value to avoid displaying terribly tall empty boxes.
5677 (expose_area): Pass x-coordinate relative to the exposed
5678 area to x_draw_glyphs instead of a window-relative coordinate.
5679
21999ab9
GM
56802000-12-05 Gerd Moellmann <gerd@gnu.org>
5681
4d2036e4
GM
5682 * xdisp.c (next_element_from_ellipsis): Save face before selective
5683 display in saved_face_id, and set face_before_selective_p.
5684 (reseat_1): Reset face_before_selective_p.
5685 (append_space, extend_face_to_end_of_line): If iterator's
5686 face_before_selective_p is set, use the face from saved_face_id.
5687 (extend_face_to_end_of_line): For tty frames, make sure to
5688 use the right face id when producing spaces at the end of
5689 the line.
5690
5691 * dispextern.h (struct it): Add face_before_selective_p.
5692
52be17cc
GM
5693 * keyboard.c (record_char): Don't record identical help-echo
5694 events in recent_keys.
5695
8a4f36cc
GM
5696 * xterm.c [USE_X_TOOLKIT]: Close the display.
5697 (xim_close_dpy): Handle case that the display has been closed.
5698
57d6e381
GM
5699 * xterm.c (x_destroy_window): Reset the frame's X window after
5700 destroying it.
5701
21999ab9
GM
5702 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5703 variable window_width.
5704 (line_draw_cost): Fix code skipping over spaces at the end of the
5705 line when must_write_spaces is not set.
5706 (scrolling_window): Fix code inserting runs in list of all runs.
5707
91372bb7
KH
57082000-12-05 Kenichi Handa <handa@etl.go.jp>
5709
5710 * coding.c (setup_coding_system): Be sure to initialize
5711 coding->category_idx.
5712
6c083b4c
GM
57132000-12-04 Gerd Moellmann <gerd@gnu.org>
5714
0c68ce6f 5715 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5716
6452929e
GM
5717 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5718 area to x_draw_glyphs instead of a window-relative coordinate.
5719
d7f31e22
GM
5720 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5721 error in the message.
5722
ae18aa3b
GM
5723 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5724 timer after having read a key. It's not good for code reading
5725 several keys in a loop, like an input method.
5726
caa15ef7
GM
5727 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5728 record undo information for format-decode.
5729
5730 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5731 current buffer is read-only, not if it isn't.
5732
6c083b4c
GM
5733 * keyboard.c (record_char): Record `help-echo' input events
5734 in recent_keys only if they display some help. Don't record
5735 `help-echo' events as macro char.
5736
caa15ef7
GM
57372000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5738
5739 * editfns.c (save_excursion_restore): Don't move point
5740 in another window if it is showing the wrong buffer.
5741 Avoid the call to Fwindow_live_p, for speed.
5742
5a13529b
KH
57432000-12-04 Kenichi Handa <handa@etl.go.jp>
5744
e225faa7
KH
5745 * xfaces.c (struct font_name): New member registry_priority.
5746 (split_font_name): Initialize the above member to zero.
5747 (concat_font_list): New function.
5748 (font_list): Include fonts of all alternative registries.
5749 (FONT_POINT_SIZE_QUANTUM): New macro.
5750 (better_font_p): Ignore point size difference less than
5751 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5752
e89648b4
KH
5753 * xterm.c (x_produce_glyphs): If a font for a component of
5754 a composition is not found, use 1 pixel dot ascent and 0 dot
5755 descent value to avoid displaying terribly tall empty boxes.
5756
5a13529b
KH
5757 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5758
d7935eb6
KR
57592000-12-03 Ken Raeburn <raeburn@gnu.org>
5760
5761 * coding.h (code_convert_string1): Declare.
5762
5763 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5764
52283633 5765 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5766
0dd5e255
JR
57672000-12-02 Jason Rumney <jasonr@gnu.org>
5768
5769 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5770 correctly for single byte character case.
5771 (w32_per_char_metric): Do not try to make any assumptions about
5772 the metrics of BDF fonts.
250cfece 5773 (x_estimate_mode_line_height): If `mode-line' face
52283633 5774 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5775 (note_mouse_highlight): Change the cursor shape on the vertical
5776 border between windows [not enabled].
5777
5778 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5779
5780 * w32fns.c (Fx_create_frame): Reintroduce the call to
5781 face-set-after-frame-defaults.
5782 (Vx_window_horizontal_drag_shape): New variable.
5783 (syms_of_xfns): DEFVAR_LISP it.
5784 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5785 enabled].
0dd5e255 5786
b5d8d2ca
GM
57872000-12-02 Simon Josefsson <simon@josefsson.org>
5788
5789 * fns.c (Fmd5): Use a different logic to decide the coding system
5790 to use.
5791
5792 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5793
fbb87147
EZ
57942000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5795
52283633 5796 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5797
447e9da0
GM
57982000-12-01 Gerd Moellmann <gerd@gnu.org>
5799
7708ced0
GM
5800 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5801 height for YNegative.
5802 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5803 height; also see comment there.
5804
447e9da0
GM
5805 * window.c (coordinates_in_window): Handle computations for
5806 positions on the vertical bar and fringes differently for
5807 window-system frames. Consider some pixels near the vertical bar
5808 as on the bar if the frame doesn't have vertical scroll bars.
5809 Associate positions between mode or header lines with the
5810 right window, the left one.
5811
86d1db20
JR
58122000-12-01 Jason Rumney <jasonr@gnu.org>
5813
5814 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5815
5816 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
5817 invalid frame.
5818
a1d58e5b
GM
58192000-12-01 Gerd Moellmann <gerd@gnu.org>
5820
52283633 5821 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
5822 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
5823 (save_window_save, Fset_window_configuration): Save/restore
5824 window's orig_top and orig_height.
5825
89c609af
JR
58262000-12-01 Jason Rumney <jasonr@gnu.org>
5827
4d177746 5828 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 5829
89c609af
JR
5830 * w32fns.c (x_set_cursor_color): Fix last change.
5831
eccc05db
GM
58322000-11-30 Gerd Moellmann <gerd@gnu.org>
5833
31b6671b
GM
5834 * xdisp.c (echo_area_display): If cursor is in the echo area, make
5835 sure that the next redisplay displays the minibuffer, so that
5836 the cursor will be replaced with what the minibuffer wants.
5837
eccc05db
GM
5838 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
5839 #ifndef instead of using #if.
5840 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
5841 USE_TOOLKIT_SCROLL_BARS is defined.
5842
162de750
JR
58432000-11-30 Jason Rumney <jasonr@gnu.org>
5844
5845 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
5846 x_display_cursor.
5847
693c4692
GM
58482000-11-30 Gerd Moellmann <gerd@gnu.org>
5849
5850 * fns.c (Fmd5): Doc fix.
5851
b5d8d2ca 58522000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
5853
5854 * fns.c (Fmd5): New function.
5855 (syms_of_fns): Defsubr md5.
5856
5857 * Makefile.in (obj): Add md5.o
5858
b02cd40b
GM
58592000-11-30 Gerd Moellmann <gerd@gnu.org>
5860
edfb795e
GM
5861 * md5.h, md5.c: New files, taken from glibc.
5862
df3aedcf
GM
5863 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5864
b02cd40b 5865 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 5866 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 5867
8b5176cd
SM
58682000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5869
5870 * eval.c (Frun_hooks): Allow 0 arguments.
5871
346598f1
GM
58722000-11-29 Gerd Moellmann <gerd@gnu.org>
5873
f9396e03
GM
5874 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5875 is over the menu bar widget, say it's not on the frame.
5876
4a967a9b
GM
5877 * xfns.c (Fx_create_frame): Reintroduce the call to
5878 face-set-after-frame-defaults.
5879
346598f1
GM
5880 * eval.c (Fsignal): Reset handling_signal.
5881
222456a1
JR
58822000-11-28 Jason Rumney <jasonr@gnu.org>
5883
5884 * w32menu.c (add_menu_item): Reset menu item text when changing
5885 type to radio button.
5886
8049ddc0
GM
58872000-11-28 Gerd Moellmann <gerd@gnu.org>
5888
346598f1 5889 * xselect.c: Update copyright.
f4f4ee4d 5890
bebe4a2c
GM
5891 * window.c (coordinates_in_window): If on a mode or header line,
5892 but sufficiently close to its start, return ``on vertical
5893 border''. This gives us a way to drag windows horizontally when
5894 using toolkit scroll bars.
5895
5896 * xterm.c (note_mouse_highlight): Change the cursor shape
5897 on the vertical border between windows.
5898
5899 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5900
5901 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5902 (syms_of_xfns): DEFVAR_LISP it.
5903 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5904
8d2c2642
GM
5905 * textprop.c (text_read_only): New function.
5906 (verify_interval_modification): Use it instead of signaling
5907 `text-read-only'. This makes it easier to catch this error
52283633 5908 with a breakpoint.:
8d2c2642 5909
52283633 5910 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
5911 not end of line, which includes CR.
5912
5a2bae6c
KH
59132000-11-28 Kenichi Handa <handa@etl.go.jp>
5914
5915 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5916 include no-conversion.
5917
ae31f84d
JR
59182000-11-27 Jason Rumney <jasonr@gnu.org>
5919
5920 * w32fns.c (w32_load_system_font): Always mark font as double byte
5921 if codepage is unicode.
5922
67f1cf4c
GM
59232000-11-27 Gerd Moellmann <gerd@gnu.org>
5924
4a74d071 5925 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5926 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5927
902ae620
GM
5928 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5929 `vertical-line', `mode-line' and `header-line' events.
5930
5931 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5932 of a character, a TAB for instance. This is easier than to set
5933 up the iterator exactly, and it's not a frequent case, so the
5934 additional effort wouldn't really pay off.
5935
c1e279c2
AC
59362000-11-26 Andrew Choi <akochoi@i-cable.com>
5937
67f1cf4c 5938 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5939 init_window_once.
5940
a609568a
JR
59412000-11-25 Jason Rumney <jasonr@gnu.org>
5942
52283633
SM
5943 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5944 Args to window_from_coordinates should be pixel coordinates.
48b21762 5945
a609568a
JR
5946 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5947 redisplay handles them properly.
5948
a658d039
MB
59492000-11-25 Miles Bader <miles@gnu.org>
5950
5951 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5952
d3416cca
JR
59532000-11-24 Jason Rumney <jasonr@gnu.org>
5954
5955 * w32.c (init_environment): Set LANG environment variable based on
5956 locale settings, if not set.
5957
5958 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5959 making tool bar smaller. When clearing the frame, also
5960 clear current matrices. Clear frame when tool bar disappears.
5961 Don't use more lines for the tool-bar than is available.
5962 (x_change_window_heights): New function.
5963
ba193890
GM
59642000-11-24 Gerd Moellmann <gerd@gnu.org>
5965
2be8f184
GM
5966 * xdisp.c (init_from_display_pos): If POS says we're already after
5967 an overlay string ending at POS, make sure to pop the iterator
5968 because it will be in front of that overlay string. When POS is
5969 ZV, we've thereby also ``processed'' overlay strings at ZV.
5970
ba193890
GM
5971 * xfaces.c (lface_from_face_name): Function comment fix.
5972
1862a24e
MB
59732000-11-24 Miles Bader <miles@gnu.org>
5974
5975 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5976 apply `mode-line-inverse-video' -- zero means force display using
5977 the default face, non-zero means display using the specialized face.
5978 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5979
f07fa1b8
KH
59802000-11-23 Kenichi Handa <handa@etl.go.jp>
5981
5982 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5983 hard coded `4'.
5984
2bcdf662
EZ
59852000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5986
5987 * coding.c (decode_coding_emacs_mule): Fix the case of
5988 CODING_EOL_LF, which used uninitialized value of c.
5989
ba8299ff
SM
59902000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5991
5992 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5993
f4117c4d
GM
59942000-11-22 Gerd Moellmann <gerd@gnu.org>
5995
03e757c1
GM
5996 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5997 buffer object.
5998
f4117c4d
GM
5999 * frame.h (struct frame): Replace desired_tool_bar_items,
6000 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6001 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6002
6003 * frame.c (make_frame): Change initialization of tool bar
6004 items accordingly.
6005
6006 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6007 Change references to members deleted from struct frame to use the
f4117c4d
GM
6008 new ones.
6009
6010 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6011 references to members deleted from struct frame to use the new ones.
f4117c4d 6012
52283633 6013 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6014
6015 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6016
6017 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6018 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6019 from struct frame to use the new ones.
6020
f8e2f3f2
MB
60212000-11-23 Miles Bader <miles@gnu.org>
6022
6023 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6024 the face's inverse-video attribute, rather than overriding it.
6025
60e8e0a5
GM
60262000-11-22 Gerd Moellmann <gerd@gnu.org>
6027
6028 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6029 making tool bar smaller.
6030
92dd1b29
DL
60312000-11-22 Dave Love <fx@gnu.org>
6032
6033 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6034
e672fdce
MB
60352000-11-22 Miles Bader <miles@gnu.org>
6036
3a17d6cc
MB
6037 * keyboard.c (Vminibuffer_message_timeout): New variable.
6038 (command_loop_1): Use it to determine message timeout.
6039 (syms_of_keyboard): Initialize it.
6040
60e8e0a5 6041 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6042
e9655d81
KH
60432000-11-22 Kenichi Handa <handa@etl.go.jp>
6044
6045 * sysdep.c: Move the code for declaring h_errno after #include
6046 <netdb.h>.
6047
77270fac
GM
60482000-11-21 Gerd Moellmann <gerd@gnu.org>
6049
cd913aae
GM
6050 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6051 the menu bar when the tooltip is unmapped.
6052
77270fac
GM
6053 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6054 sole visible buffer when we're currently in the mini-buffer, and
6055 give up if so.
52283633 6056
556635d6
JR
60572000-11-21 Jason Rumney <jasonr@gnu.org>
6058
6059 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6060 put on the clipboard.
6061 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6062 copy of what Emacs last put there. If they are the same, do not
52283633 6063 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6064
5b7bde64
MB
60652000-11-22 Miles Bader <miles@gnu.org>
6066
6067 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6068 (syms_of_minibuf): Initialize it.
6069 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6070 to prompt, don't make read-only.
6071
ff23e1dd
GM
60722000-11-21 Gerd Moellmann <gerd@gnu.org>
6073
52283633
SM
6074 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6075 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6076
7aaf4388
GM
6077 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6078
f5f47add 6079 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6080
ff23e1dd
GM
6081 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6082
37c35586
KH
60832000-11-21 Kenichi Handa <handa@etl.go.jp>
6084
6085 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6086 ... #endif scope.
6087
ff9ab414
GM
60882000-11-20 Gerd Moellmann <gerd@gnu.org>
6089
52283633 6090 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6091 screen supports it.
6092
29a01b72
GM
6093 * s/gnu-linux.h: Don't use `#cpu'.
6094
09dfdf85
GM
6095 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6096 not defined in mman.h.
6097
52283633 6098 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6099 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6100 and store an index in the XClientMessageEvent. Storing a
6101 Lisp_Object or pointer can fail on a 64 bit system, since X only
6102 transfers 32 bits.
52283633
SM
6103 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6104
81459ac9
DL
61052000-11-20 Dave Love <fx@gnu.org>
6106
6107 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6108
56c13ae6
GM
61092000-11-20 Gerd Moellmann <gerd@gnu.org>
6110
6111 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6112
495a6df3
KH
61132000-11-20 Kenichi Handa <handa@etl.go.jp>
6114
2bcf3714
KH
6115 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6116 by WIDTH.
6117
495a6df3
KH
6118 * alloc.c (make_string): Fix previous change. Be sure to make
6119 unibyte string correctly.
6120
6d950f4c
GM
61212000-11-19 Gerd Moellmann <gerd@gnu.org>
6122
39b39373
GM
6123 * window.c (Fwindow_list): Change parameter list to be XEmacs
6124 compatible.
6125 (window_list_1): New function.
6126 (window_loop): Use it instead of Fwindow_list.
6127
b95b34e5
GM
6128 * sysdep.c (emacs_ospeed): New variable.
6129 (toplevel): Don't declare ospeed extern.
6130 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6131
6132 * termcap.c (ospeed): Remove.
6133 (tputs) [!emacs]: Remove unused code.
6134 (tgetent): Avoid a compiler warning.
6135
e83dc917
GM
6136 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6137 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6138 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6139
6140 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6141 removed.
6142 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6143 Take the X display as additional argument.
6144 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6145 `Widget' is a pointer type that's not easily stored in Lisp_Object
6146 form in a portable way.
52283633 6147
6d950f4c
GM
6148 * dispnew.c (update_text_area): Fix last change.
6149
e47306e6
GM
61502000-11-18 Gerd Moellmann <gerd@gnu.org>
6151
fb3cd89b
GM
6152 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6153
6154 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6155 clear current matrices.
6156
edaa9aed
GM
6157 * buffer.c (mmap_enlarge): Don't print a message on stderr
6158 if mapping new memory at the end of the existing region fails.
6159
e47306e6
GM
6160 * dispnew.c (update_text_area): Don't skip over equal glyphs
6161 when the last current glyph overlaps the glyph to its right.
6162
509633e3
MB
61632000-11-18 Miles Bader <miles@gnu.org>
6164
6165 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6166 lines that *end* with "..." too (that's the most common case!).
6167
d392e9c5
GM
61682000-11-18 Gerd Moellmann <gerd@gnu.org>
6169
67988445
GM
6170 * xdisp.c (resize_mini_window): Temporarily change to the
6171 mini-window's buffer if necessary.
1bfdbe43 6172
d392e9c5
GM
6173 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6174 the tooltip obscures less text under it.
6175
61762000-11-17 Gerd Moellmann <gerd@gnu.org>
6177
6178 * puresize.h (BASE_PURESIZE): Increase to 700000.
6179
92bb977f
JR
61802000-11-18 Jason Rumney <jasonr@gnu.org>
6181
6182 * w32term.c (w32_draw_bitmap): Use face to set colors.
6183
26fbf20b
DL
61842000-11-17 Dave Love <fx@gnu.org>
6185
6186 * lread.c (Fload): Fix #ifdef for pcc.
6187
100b593b
GM
61882000-11-17 Gerd Moellmann <gerd@gnu.org>
6189
6190 * xdisp.c (pos_visible_p): Compute the default character height
6191 differently.
6192
a288d0d1
GM
61932000-11-16 Gerd Moellmann <gerd@gnu.org>
6194
cac94de6 6195 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6196 knowing the line's height; use the default font's height in that case.
cac94de6 6197
a288d0d1
GM
6198 * xfaces.c (weight_table): Add `demi' with the same meaning as
6199 `demibold'.
6200
981fb6f6
KH
62012000-11-16 Kenichi Handa <handa@etl.go.jp>
6202
2cca872d 6203 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6204 (clear_glyph_row): Delete local static variable null_row.
6205
e5fa381b
JR
62062000-11-15 Jason Rumney <jasonr@gnu.org>
6207
6208 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6209 (w32_alloc_lighter_color): Use new brightness calculations from
6210 xterm.c. Scale delta to be in the range expected by W32.
6211 (w32_draw_relief_rect): Use frame relief colors.
6212
8e42f043
GM
62132000-11-15 Gerd Moellmann <gerd@gnu.org>
6214
6d133d1f
GM
6215 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6216 (Qinhibit_default_face_x_resources): New variable.
6217 (syms_of_frame): Initialize it.
6218 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6219
6220 * xdisp.c (pos_visible_p): Improve function comment.
6221
6222 * lisp.h (BINDING_STACK_SIZE): New macro.
6223
8e42f043
GM
6224 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6225 reading the directory if readdir returns null and errno is EAGAIN
6226 or EINTR.
6227
e8c87124
SM
62282000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6229
6230 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6231 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6232 Set amount_to_scroll to max of dx and scroll_step so that
6233 scroll-conservatively doesn't defeat scroll-step>1.
6234 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6235 scroll-conservatively for line-at-a-time scrolling.
6236
5f0c971d
GM
62372000-11-14 Gerd Moellmann <gerd@gnu.org>
6238
6239 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6240 extra argument.
6241
6242 * xdisp.c (current_mode_line_height, current_header_line_height):
6243 New variables.
6244 (init_xdisp): Initialize them.
6245 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6246 and use exact mode line heights if it is set.
6247
6248 * lisp.h (pos_visible_p): Change prototype.
6249
6250 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6251 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6252 and current_header_line_height first.
52283633
SM
6253 (current_mode_line_height, current_header_line_height):
6254 Declare extern.
5f0c971d 6255
d7361edf
MB
62562000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6257
6258 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6259 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6260 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6261
ee5e440a
MB
62622000-11-14 Miles Bader <miles@gnu.org>
6263
6264 * xterm.c (x_alloc_lighter_color): Include an additive component
6265 too for dark colors, because FACTOR isn't enough.
6266 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6267 New macros.
6268
5ca020fc
GM
62692000-11-13 Gerd Moellmann <gerd@gnu.org>
6270
6271 * keyboard.c (show_help_echo): Call message3_nolog with number of
6272 bytes in the help string as 2nd parameter, instead of the number
6273 of characters.
6274
9d348294
MB
62752000-11-13 Miles Bader <miles@gnu.org>
6276
6277 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6278 (Fload): Use new openp return protocol.
6279 Don't try to use Vload_source_file_function to load .elc files.
6280 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6281 openp return protocol.
6282 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6283
1729bb9a
KH
62842000-11-11 Kenichi Handa <handa@etl.go.jp>
6285
4e677396
KH
6286 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6287
6288 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6289 Defined these macros.
6290 (NLIST_STRUCT): Avoid re-defining it.
6291
1729bb9a
KH
6292 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6293 -I/usr/contrib/X11R6/include.
6294 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6295
a82fe213
JR
62962000-11-10 Jason Rumney <jasonr@gnu.org>
6297
6298 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6299
6300 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6301 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6302
6303 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6304 (Qw32_charset_vietnamese): New symbol.
6305 (xlfd_charset_of_font): New function.
6306 (w32_load_system_font): Use it.
6307 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6308 when Vw32_charset_info_alist is nil to ensure default face always
6309 has font. Use Fcar and Fcdr for safety.
6310 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6311 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6312 pseudo-codepages for special cases.
6313 (w32_to_x_font): New parameter to allow charset portion to be
6314 specified where there is many to one mapping. Callers changed.
6315 (w32_list_fonts): Avoid listing fonts that won't display.
6316
52d89894
GM
63172000-11-10 Gerd Moellmann <gerd@gnu.org>
6318
6319 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6320 (font_list_1): Renamed from font_list.
6321 (font_list): New function, trying alternative registries from
6322 Vface_alternative_font_registry_alist.
6323 (Finternal_set_alternative_font_registry_alist): New function.
6324 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6325 Vface_alternative_font_registry_alist.
6326 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6327
651cd3da
KR
63282000-11-09 Ken Raeburn <raeburn@gnu.org>
6329
6330 * lisp.h (Flooking_at): Declare.
6331
388ac098
GM
63322000-11-09 Gerd Moellmann <gerd@gnu.org>
6333
778fbc46 6334 * dired.c (directory_files_internal): Fix a braino.
52283633 6335
388ac098
GM
6336 * dired.c (directory_files_internal): Add missing GCPRO's.
6337 Some cleanup.
6338
ecaedde1
GM
63392000-11-08 Gerd Moellmann <gerd@gnu.org>
6340
f7eb32aa
GM
6341 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6342 (resize_mini_window): Return quickly if Vresize_mini_window is
6343 nil. Don't return if Vmax_mini_window_height is nil.
6344
6345 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6346 (syms_of_xdisp): Initialize them.
6347 (resize_mini_window): Act according to the setting of
6348 Vresize_mini_window.
6349 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6350
ecaedde1
GM
6351 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6352 scroll bar widget after configuring it, so that it will appear at
6353 the right position from the start.
6354 (XTredeem_scroll_bar): Cleaned up.
6355
3747ef2c
KH
63562000-11-08 Kenichi Handa <handa@etl.go.jp>
6357
6358 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6359 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6360 division by two.
6361
6362 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6363
03391420
DL
63642000-11-07 Dave Love <fx@gnu.org>
6365
7758f1c1 6366 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6367
6368 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6369
b5de343d
GM
63702000-11-07 Gerd Moellmann <gerd@gnu.org>
6371
acad3c0b
GM
6372 * window.c (Fset_window_configuration): Don't try to preserve
6373 point in the current buffer, if that buffer is displayed in more
6374 than one window.
6375
b5de343d
GM
6376 * xfaces.c (lookup_named_face): If default face isn't realized,
6377 try to realize it. Return -1 if not successful.
6378 (Fx_list_fonts): Handle case that face cannot be determined.
6379 (Fface_font): Likewise.
6380
cdb1fe49
GM
63812000-11-06 Gerd Moellmann <gerd@gnu.org>
6382
6383 * window.c (displayed_window_lines): Detect partially
6384 visible lines at the bottom correctly.
6385
d3a67486
SM
63862000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6387
6388 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6389 when ensuring we don't do visit in indirect buffer.
6390
ff8dd5d5
KH
63912000-11-06 Kenichi Handa <handa@etl.go.jp>
6392
6393 * composite.h (compose_chars_in_text): Add prototype.
6394
6395 * composite.c (Vcomposition_function_table): New variable.
6396 (Qcomposition_function_table): New variable.
6397 (run_composition_function): Call
6398 Vcompose_chars_after_function with three arguments.
6399 (compose_chars_in_text): New function.
6400 (syms_of_composite): Modified the doc-string of
6401 Vcompose_chars_after_function. Declare composition-function-table
6402 as a lisp variable, and initialize it.
6403
6404 * xfns.c (x_encode_text): Suppress producing escape sequences for
6405 composition.
6406
6407 * xselect.c: Include composite.h.
6408 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6409
d1145f85
AI
64102000-11-05 Andrew Innes <andrewi@gnu.org>
6411
6412 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6413
6414 * sysdep.c (read_input_waiting): Remove extraneous argument to
6415 read_socket_hook.
6416
6417 * w32fns.c (Fx_server_version): Include w32_build_number in the
6418 return list.
6419
6420 * w32heap.c (w32_build_number): New variable.
6421 (cache_system_info): Set it.
6422
6423 * w32heap.h (w32_build_number): Add extern.
6424
6425 * emacs.c (syms_of_emacs): Update docstring for
6426 system-configuration, to reflect the actual usage on MS-Windows.
6427
e85ee976
GM
64282000-10-31 Gerd Moellmann <gerd@gnu.org>
6429
26dcb81b
GM
6430 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6431 process idle timers while waiting for another event.
6432
52283633 6433 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6434 the default face are colored.
6435
e85ee976
GM
6436 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6437 window height hasn't changed.
6438
01b220b6
JR
64392000-10-31 Jason Rumney <jasonr@gnu.org>
6440
6441 * w32term.c (x_produce_glyphs): Handle composite characters.
6442 (x_draw_glyph_string_foreground)
6443 (x_draw_composite_glyph_string_foreground): Restore old font.
6444
4e6b7204
MB
64452000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6446
6447 * minibuf.c (read_minibuf): Reset the undo history just before
6448 starting the recursive-edit.
6449
d4358b37
GM
64502000-10-30 Gerd Moellmann <gerd@gnu.org>
6451
563f68f1
GM
6452 * xfaces.c (menu_face_change_count): New variable.
6453 (Finternal_set_lisp_face_attribute): Increment it for changes
6454 of the `menu' face.
6455 (realize_basic_faces): Reflect changes in the `menu' faces
6456 in menu bars.
6457
82e274d1
GM
6458 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6459 dy obtained from the iterator's y-position after moving from
6460 scroll_margin_pos to PT; see comment there.
52283633 6461
0dbf9fd2
GM
6462 * xdisp.c (safe_eval_handler): Call add_to_log.
6463
906b3b14
GM
6464 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6465 is not a symbol or string.
6466
d4358b37
GM
6467 * xdisp.c (echo_area_display): Don't perform a display update from
6468 inside redisplay. The update will happen anyway at the end of
6469 redisplay, and it can confuse redisplay (GC messages while
6470 redisplaying, for instance.)
6471
70c825df
SM
64722000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6473
cf9b4b0b
SM
6474 * xrdb.c (x_load_resources): Use the class name in the defaults.
6475
70c825df
SM
6476 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6477 (regex_compile): Catch bogus \(\1\).
6478
a1d34b1e
GM
64792000-10-30 Gerd Moellmann <gerd@gnu.org>
6480
cae71efe
GM
6481 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6482 RGB values.
52283633 6483
35efe0a1
GM
6484 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6485 we have a color cache, check that the cached color equals the
6486 allocated color. If not, clear the color cache.
6487
1d3baf74
GM
6488 * window.c (displayed_window_lines): Change buffers if necessary.
6489 Fix computation of displayed lines.
6490
a1d34b1e
GM
6491 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6492 update_menu_bindings to DEFVAR_BOOL.
6493
70737ea9
KH
64942000-10-30 Kenichi Handa <handa@etl.go.jp>
6495
70c825df 6496 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6497
fa0cb51d
KH
6498 * puresize.h (BASE_PURESIZE): Increase to 680000.
6499
70737ea9
KH
6500 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6501
0e4c08e8
JR
65022000-10-29 Jason Rumney <jasonr@gnu.org>
6503
6504 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6505
6506 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6507 (w32_cache_char_metrics): Handle possibility that 'x' does not
6508 exist in a BDF font.
6509 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6510
6511 * w32bdf.h (bdffont): Add nchars.
6512
6513 * w32bdf.c (set_bdf_font_info): Set it.
6514 (w32_BDF_TextOut): Swap byte order of double byte characters.
6515 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6516
45b84006
EZ
65172000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6518
6519 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6520 don't override the colors in frame's param_alist, unless they are
6521 unspecified.
6522
6523 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6524 reverse the effect of the highlight flag.
6525
caf9deee
KR
65262000-10-27 Ken Raeburn <raeburn@gnu.org>
6527
6528 * window.h (Fwindow_live_p): Declare.
6529
ae0b9b46
KR
6530 * undo.c (record_delete): Check that last_undo_buffer is really a
6531 buffer before applying XBUFFER to it.
6532
6533 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6534 Faref.
6535
02067692
SM
65362000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6537
6538 * lisp.h (KEYMAPP): New macro.
6539 (get_keymap): Remove.
6540 (get_keymap_1): Rename get_keymap.
6541
6542 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6543
6544 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6545
6546 * xmenu.c (single_submenu): Use KEYMAPP.
6547 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6548 Use KEYMAPP rather than Fkeymapp.
6549
6550 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6551
6552 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6553 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6554 Use KEYMAPP rather than Fkeymapp.
6555 (single_submenu): Use KEYMAPP.
6556 (w32_menu_show, w32_dialog_show): Use TRUE.
6557
6558 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6559
6560 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6561 (Fkeymapp): Use KEYMAPP.
6562 (get_keymap): Rename from get_keymap_1. Remove old def.
6563 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6564 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6565 (Fminor_mode_key_binding): Don't raise an error if the binding
6566 is not a keymap.
6567 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6568 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6569
6570 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6571 Allow Vspecial_event_map to be autoloaded.
6572 (menu_bar_items): Fetch the keymap rather than using keymapp.
6573 (menu_bar_one_keymap): No need to follow func-indirect any more.
6574 (parse_menu_item): get_keymap_1 -> get_keymap.
6575 (tool_bar_items): Fetch the keymap rather than using keymapp.
6576 (read_key_sequence): Use KEYMAPP.
6577
6578 * intervals.c (get_local_map): Use get_keymap rather than following
6579 function-indirections explicitly.
6580
6581 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6582
f9d80af3
JR
65832000-10-27 Jason Rumney <jasonr@gnu.org>
6584
6585 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6586 point, as Windows has oversized fonts.
6587
6588 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6589
a3ba27da
GM
65902000-10-27 Gerd Moellmann <gerd@gnu.org>
6591
6592 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6593 (freehook, reallochook): Handle null pointer arguments.
6594 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6595
aa3b80cc
SM
65962000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6597
6598 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6599 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6600 Giving in to popular pressure to shut up the compiler with casts.
6601
e24e84cc
GM
66022000-10-27 Gerd Moellmann <gerd@gnu.org>
6603
6604 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6605 signed value, and use a default value computed from the font's
6606 maximum descent.
6607
05ea7ef2
MB
66082000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6609
6610 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6611 that specify a negative underline position can still use underlines.
6612
6613 * window.c (Fpos_visible_in_window_p): Make POS default to
6614 WINDOW's point, not the current buffer's point.
6615
0b95284b
DL
66162000-10-26 Dave Love <fx@gnu.org>
6617
6618 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6619 when it's necessary.
6620
6c5b90af
GM
66212000-10-26 Gerd Moellmann <gerd@gnu.org>
6622
8b6d9dc9
GM
6623 * window.c (size_window): Compute size difference from sum of old
6624 child window sizes instead of from parent's size.
6625
6bc92b2e
GM
6626 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6627 Handle obscured lines at the top of the window.
6628
6629 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6630 down after the last error condition check.
6631
6c5b90af
GM
6632 * frame.c (Fdelete_frame): Run delete-frame-hook.
6633
42f92d4d
KH
66342000-10-26 Kenichi Handa <handa@etl.go.jp>
6635
6636 * coding.c (decode_coding): Fix previous change (check also
6637 CODING_MODE_LAST_BLOCK).
6638
d97151cb
SM
66392000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6640
e7efc503
SM
6641 * regex.c: More `unsigned char' -> `re_char' changes.
6642 Also change several `int' into `re_wchar_t'.
6643 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6644 (PUSH_FAILURE_POINTER): Don't cast any more.
6645 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6646 We want GCC to complain, since this piece of code makes
6647 re_match non-reentrant, which *should* be fixed.
6648 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6649 (EXTEND_BUFFER): Use RETALLOC.
6650 (SET_LIST_BIT): Don't cast.
6651 (re_wchar_t): New type.
6652 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6653 that those two functions will always properly return.
6654 (IMMEDIATE_QUIT_CHECK): Cast to void.
6655 (analyse_first): Use recursion rather than an explicit stack.
6656 (re_compile_fastmap): Can't fail anymore.
6657 (re_search_2): Don't check re_compile_fastmap for failure.
6658 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6659 Now also sets the new value (passed in a new argument).
6660 (re_match_2_internal): Use it.
6661 Also, use a new var `reg' of type size_t when looping through regs
6662 rather than reuse the inappropriate `mcnt'.
6663
d97151cb
SM
6664 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6665 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6666 (where_is_internal): Renamed from Fwhere_is_internal.
6667 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6668 (Fwhere_is_internal): New function wrapping where_is_internal.
6669 (where_is_internal_1): Handle the case where we're filling the cache.
6670 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6671
d5789b65
MB
66722000-10-25 Miles Bader <miles@gnu.org>
6673
6674 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6675
4ecda532
GM
66762000-10-25 Gerd Moellmann <gerd@gnu.org>
6677
6678 * window.c (pos_fully_visible_p): Removed.
6679 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6680 if position is visible and/or fully visible.
6681
6682 * lisp.h (pos_visible_p): Add prototype.
6683
6684 * xdisp.c (pos_visible_p): New function.
6685
68c3a137
KH
66862000-10-25 Kenichi Handa <handa@etl.go.jp>
6687
6688 * process.c (send_process): If OBJECT is t, it means that the data
6689 is from C string, but we should encode it. Before calling
6690 setup_raw_text_coding_system, be sure to flush out data by the
6691 previous coding system.
6692
7ae1c032
MB
66932000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6694
ff4dcd4b
MB
6695 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6696 assignment of startpos to prev when startpos == pos.
6697
7ae1c032
MB
6698 * editfns.c (find_field): Set the field stickiness correctly from
6699 overlay fields. Use renamed `text_property_stickiness'.
6700 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6701 Only check text properties, not overlays.
7ae1c032
MB
6702 * textprop.c (get_char_property_and_overlay): New function.
6703 (Fget_char_property): Use it.
6704 * intervals.h (get_char_property_and_overlay): Add declaration.
6705
49801145
SM
67062000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6707
6708 * keymap.c: Use AREF, ASET and ASIZE macros.
6709 (Fmake_sparse_keymap): Docstring fix.
6710 (synkey): Remove.
6711 (shadow_lookup): Move up.
6712 Handle the case where lookup-key returns an integer.
6713 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6714 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6715 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6716 Simplify/rewrite the keymap-finding code.
6717 Add check for command shadowing, using shadow_lookup.
6718
39e776cd
SM
67192000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6720
6721 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6722 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6723 a symbol.
6724
2488aba5
AI
67252000-10-24 Andrew Innes <andrewi@gnu.org>
6726
6727 * dired.c (directory_files_internal_unwind): New function.
6728 (directory_files_internal): Use it to ensure closedir is called
6729 even if expand-file-name or file-attributes throw, eg. because of
6730 a user interrupt. Also enable immediate_quit while calling
6731 re_search, so that matching can be interrupted as well.
6732
b94fdf61
AI
67332000-10-24 Andrew Innes <andrewi@gnu.org>
6734
6735 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6736 NT-Emacs only.
6737 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6738 so that re_search functions only quit when callers expect them to.
6739
67402000-10-24 Kenichi Handa <handa@etl.go.jp>
6741
6742 * regex.c (regex_compile): Change the way of handling a range from
6743 a char less than 256 to a char not less than 256.
6744
1946f901
GM
67452000-10-24 Gerd Moellmann <gerd@gnu.org>
6746
7ae2f10f
GM
6747 * window.c (size_window): Prevent setting window's width or
6748 height to a negative value (esp. with XSETFASTINT).
6749
5dcab13e
GM
6750 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6751 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6752 (protect_malloc_state) [GC_MALLOC_CHECK &&
6753 GC_PROTECT_MALLOC_STATE]: New function.
6754 (PROTECT_MALLOC_STATE): New macro.
6755 (__malloc_initialize, morecore, _malloc_internal)
6756 (_free_internal) _realloc_internal): Use it to make _heapinfo
6757 read-only outside of gmalloc.
6758
63e1b552
GM
6759 * keymap.c: Update copyright.
6760
1946f901
GM
6761 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6762 a symbol.
6763
4fa09beb
GM
67642000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6765
6766 * filelock.c (unlock_all_files): Use unlock_file to expand each
6767 buffer's file_truename before trying remove its lock file.
6768
23afac01
EZ
67692000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6770
6771 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6772 or CRLF, decode EOLs.
6773
04448b95
KH
67742000-10-24 Kenichi Handa <handa@etl.go.jp>
6775
6776 * window.c (Fdisplay_buffer): Fix doc.
6777
3090a5a5
JR
67782000-10-23 Jason Rumney <jasonr@gnu.org>
6779
6780 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6781 ASCII font of default fontset on Windows.
6782
6783 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6784 xterm.c comment below).
6785
6786 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6787
a83fee2c
GM
67882000-10-23 Gerd Moellmann <gerd@gnu.org>
6789
6790 * xterm.c (x_connection_closed): Reset handling_signal.
6791
52283633 6792 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6793
6ffdb539
MB
67942000-10-23 Miles Bader <miles@gnu.org>
6795
6796 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6797 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6798 maintain old behavior.
6799 * minibuf.c (Fminibuffer_complete): Likewise.
6800
7f1c969b
MB
68012000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6802
6803 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6804 that when a font can't be exactly centered, it errs up rather than
6805 down.
6806
23afac01 68072000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 6808
52283633 6809 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 6810
1a578e9b
AC
68112000-10-23 Andrew Choi <akochoi@i-cable.com>
6812
6813 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6814
6815 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 6816 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
6817
6818 * emacs.c (main) [macintosh]: Call syms_of_textprop,
6819 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
6820 syms_of_search, x_term_init, and init_keyboard before calling
6821 init_window_once. Also, call syms_of_xmenu.
6822
6823 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
6824 default fontset to Monaco.
6825
6826 * frame.c [macintosh]: Include macterm.h. Remove declarations of
6827 NewMacWindow and DisposeMacWindow.
6828 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
6829 instead of calling NewMacWindow and setting fields of
6830 f->output_data.mac directly. Call init_frame_faces.
6831 (Fdelete_frame) [macintosh]: Remove unused code.
6832 (Fmodify_frame_parameters) [macintosh]: Call
6833 x_set_frame_parameters instead of mac_set_frame_parameters.
6834
6835 * frame.h [macintosh]: Define menu_bar_lines field in struct
6836 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
6837
6838 * keyboard.c [macintosh]: Include macterm.h.
6839 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
6840 and menu_bar_activate_event type events as for X and NT.
6841 (make_lispy_event) [macintosh]: Construct lisp events of type
6842 MENU_BAR_EVENT as for X and NT.
6843
6844 * sysdep.c [macintosh]: Remove declaration for sys_signal.
6845 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
6846 (sys_subshell) [macintosh]: Remove definition entirely.
6847 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
6848 Vwindow_system_version here. Remove initialization of
6849 Vx_bitmap_file_path.
6850 (read_input_waiting): Correct the number of parameters passed to
6851 read_socket_hook.
6852 Move all Macintosh functions to mac/mac.c.
6853
6854 * term.c [macintosh]: Include macterm.h.
6855
6856 * window.c [macintosh]: Include macterm.h.
6857
6858 * xdisp.c [macintosh]: Include macterm.h. Declare
6859 set_frame_menubar and pending_menu_activation.
6860 (echo_area_display) [macintosh]: Do not return if terminal frame
6861 is the selected frame.
6862 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
6863 Allow only the selected frame to set menu bar.
6864 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6865 calling FRAME_EXTERNAL_MENU_BAR (f).
6866 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6867
6868 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6869 and check_x. Declare XCreateGC. Define x_create_gc and
6870 x_free_gc. Initialize font_sort_order.
6871 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6872 but call x_list_fonts instead of w32_list_fonts.
6873 (Finternal_face_x_get_resource) [macintosh]: Do not call
6874 display_x_get_resource.
6875 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6876 (realize_x_face) [macintosh]: Load the font if it is specified in
6877 ATTRS.
52283633 6878 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6879
1ffbabe3
SM
68802000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6881
6882 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6883 is nil: since we go to the end of submap anyway, we'd end up
6884 setting nil to nil.
6885 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6886 doesn't obey autoload.
6887
bed43f1d
EZ
68882000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6889
1ffbabe3 6890 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 6891
ea4233a7
JR
68922000-10-21 Jason Rumney <jasonr@gnu.org>
6893
6894 * w32term.c (w32_cache_char_metrics): Double check that font is
6895 really fixed pitch before trusting tmPitchAndFamily.
6896
f3d3c491
AI
68972000-10-21 Andrew Innes <andrewi@gnu.org>
6898
6899 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6900
6901 * w32term.h: Extern decl for w32_cache_char_metrics.
6902
6903 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6904
6905 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6906 (w32_unload_font): Free per_char array if present.
6907
6908 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6909 cached information in emulated XFontStruct to handle common cases
6910 quickly. Do not allocate XCharStruct for return.
6911 (w32_native_per_char_metric): New function.
6912 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6913 allocating one.
6914 (x_produce_glyphs): Don't get an HDC. Change calls to
6915 w32_per_char_metric to match arg change above. Remove calls to
6916 free results.
6917 (w32_get_glyph_overhangs): Ditto.
6918 (w32_cache_char_metrics): New function.
6919
6920 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6921 ($(BLD)/casefiddle.$(O)): Remove compile command.
6922 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6923 ($(BLD)/dispnew.obj):
6924 ($(BLD)/keyboard.obj):
6925 ($(BLD)/w32inevt.obj):
6926 ($(BLD)/w32bdf.obj):
6927 ($(BLD)/alloc.obj):
6928 ($(BLD)/buffer.obj):
6929 ($(BLD)/editfns.obj):
6930 ($(BLD)/emacs.obj):
6931 ($(BLD)/fileio.obj):
6932 ($(BLD)/fns.obj):
6933 ($(BLD)/indent.obj):
6934 ($(BLD)/insdel.obj):
6935 ($(BLD)/intervals.obj):
6936 ($(BLD)/minibuf.obj):
6937 ($(BLD)/print.obj):
6938 ($(BLD)/scroll.obj):
6939 ($(BLD)/sysdep.obj):
6940 ($(BLD)/textprop.obj):
6941 ($(BLD)/widget.obj):
f3d3c491
AI
6942 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6943 ($(BLD)/term.obj): Add dependency on dispextern.h.
6944
52283633
SM
6945 * makefile.nt ($(BLD)\dispnew.obj):
6946 ($(BLD)\keyboard.obj):
6947 ($(BLD)\w32inevt.obj):
6948 ($(BLD)\w32bdf.obj):
6949 ($(BLD)\alloc.obj):
6950 ($(BLD)\buffer.obj):
6951 ($(BLD)\editfns.obj):
6952 ($(BLD)\emacs.obj):
6953 ($(BLD)\fileio.obj):
6954 ($(BLD)\fns.obj):
6955 ($(BLD)\indent.obj):
6956 ($(BLD)\insdel.obj):
6957 ($(BLD)\intervals.obj):
6958 ($(BLD)\minibuf.obj):
6959 ($(BLD)\print.obj):
6960 ($(BLD)\scroll.obj):
6961 ($(BLD)\sysdep.obj):
6962 ($(BLD)\textprop.obj):
6963 ($(BLD)\widget.obj):
f3d3c491
AI
6964 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6965 ($(BLD)\term.obj): Add dependency on dispextern.h
6966
18ad4821
EZ
69672000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6968
6969 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6970 with an additional argument of Qt.
6971
de54681a
MB
69722000-10-21 Miles Bader <miles@gnu.org>
6973
6974 * window.c (pos_fully_visible_in_window_p): New function.
6975 (Fpos_visible_in_window_p): Add FULLY argument.
6976 Use pos_fully_visible_in_window_p.
6977 (window_scroll_pixel_based, window_scroll_line_based): Update
6978 calls to Fpos_visible_in_window_p.
6979 * lisp.h (Fpos_visible_in_window_p): Update prototype
6980
13c844fb
GM
69812000-10-20 Gerd Moellmann <gerd@gnu.org>
6982
6983 * alloc.c (toplevel): Conditionalize compilation of mem_*
6984 functions differently.
52283633 6985
d9506268
JR
69862000-10-20 Jason Rumney <jasonr@gnu.org>
6987
6988 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6989 mem_init where it used to be. mem_z etc not defined otherwise.
6990
8094989b
GM
69912000-10-20 Gerd Moellmann <gerd@gnu.org>
6992
6993 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6994 GC_MALLOC_CHECK.
6995 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6996 structure definition and related variabled to the top of the file.
6997 Include this code when GC_MALLOC_CHECK is defined.
6998 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
6999 register/unregister allocated region.
7000 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7001 which isn't allocated.
7002 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7003 something which is already in use.
7004 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7005 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7006 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7007 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7008
7009 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7010 _malloc_internal instead of malloc.
7011 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7012 of free.
7013
ea456eb4
AI
70142000-10-20 Andrew Innes <andrewi@gnu.org>
7015
7016 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7017 Windows.
7018 (my_strftime) <macro>: Don't use macro arg list when redefining as
7019 _strftime_copytm.
7020 (my_strftime) <function>: Supply 0 as ut argument.
7021
e64c3a75
JR
70222000-10-19 Jason Rumney <jasonr@altavista.net>
7023
7024 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7025 including dispextern.h, as it stops faces from working.
7026
7027 * w32fns.c (Fx_create_frame): Don't bother calling
7028 face-set-after-frame-default since the caller does it for us
7029 anyway. Clean up calls to x_get_arg to be consistent with X.
7030
7031 * w32term.c (x_produce_glyphs): Handle
7032 unibyte_display_via_language_environment correctly.
7033 (w32_draw_box_rect): Fix the calculation of width and height.
7034
7035 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7036 as it has stopped working.
7037 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7038 menu-bar.
7039
17401c97
GM
70402000-10-19 Gerd Moellmann <gerd@gnu.org>
7041
7042 * eval.c (skip_debugger): Prevent a compiler warning.
7043 (Fcondition_case): Likewise.
7044 (Fbacktrace_frame): Use a null interactive spec.
7045
773272d8
KH
70462000-10-19 Kenichi Handa <handa@etl.go.jp>
7047
7048 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7049
a42943e9
GM
70502000-10-18 Gerd Moellmann <gerd@gnu.org>
7051
e50517d9
GM
7052 * strftime.c: Sync with glibc, file version 1.78.
7053 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7054 should no longer be used according to ISO 8601.
7055
9035a35a
GM
7056 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7057 no map for meta_prefix_char, don't try to use it as a keymap.
7058 Instead, if T_OK is non-zero, look up a default binding, if any,
7059 otherwise, if T_OK is zero, return nil.
7060
a42943e9
GM
7061 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7062 (x_to_xcolors, png_load): Use x_query_color.
7063
52283633
SM
7064 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7065 New functions.
a42943e9
GM
7066 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7067 which can be slow.
7068 (x_copy_color, x_alloc_lighter_color): Likewise.
7069
7070 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7071 (x_query_color, x_query_colors): Add prototype.
7072
7073 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7074 check_string_bytes only if not noninteractive, increase count to 50.
7075
00de2987
MB
70762000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7077
7078 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7079 markers correctly.
7080
54918e2b
GM
70812000-10-17 Gerd Moellmann <gerd@gnu.org>
7082
1f0b3fd2
GM
7083 * alloc.c (pure_bytes_used): Renamed from pureptr.
7084 (ALIGN): New macro.
7085 (pure_alloc): New function.
7086 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7087 Use it.
7088 (Fpurecopy): Use PURE_POINTER_P.
7089
68c5d1db
GM
7090 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7091 PT has moved backward.
52283633 7092
9a038881
GM
7093 * xdisp.c (cursor_row_p): Take continued lines into account.
7094
361b097f
GM
7095 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7096 string's size_byte.
7097 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7098 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7099 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7100 string allocated.
7101
54918e2b
GM
7102 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7103 of selective display off while searching for the next line start.
7104
03ed0806
KH
71052000-10-17 Kenichi Handa <handa@etl.go.jp>
7106
7107 * Makefile.in (term.o): Depend on dispextern.h.
7108
7e05cdaf
SM
71092000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7110
7111 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7112
a6801fd1
GM
71132000-10-16 Gerd Moellmann <gerd@gnu.org>
7114
483de32b
GM
7115 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7116 the iterator at the beginning, so that they can be set later on,
7117 for instance in reseat_at_next_visible_line_start, without being
7118 overwritten.
7119
a6801fd1
GM
7120 * xfns.c (pbm_format): Add :foreground and :background keywords.
7121 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7122 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7123
dbf1fcc1
EZ
71242000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7125
7126 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7127
52283633 7128 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7129
7130 * msdos.c (IT_set_face): Compare highlighted face with the default
7131 face, and invert colors if these faces' colors are identical.
7132 (Fmsdos_remember_default_colors): Don't swap foreground and
7133 background colors in initial_colors[].
7134 (IT_set_frame_parameters): Don't swap frame's foreground and
7135 background pixels. If ALIST includes "(reverse . t)", swap
7136 foreground-color and background-color properties in frame's
7137 param_alist. If the original frame's param_alist doesn't specify
7138 the colors, store unspecified-fg and unspecified-bg, reversed if
7139 required.
7140
7141 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7142 the colors are unspecified and reversed, reverse fore- and back-
7143 ground in the returned value.
7144 (Fframe_parameter): Ditto.
7145
b41fe2c3 71462000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7147
3a6b59d9
GM
7148 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7149 get_last_unchanged_at_beg_row.
7150 (find_first_unchanged_at_end_row): Renamed from
7151 get_first_unchanged_at_end_row.
7152 (find_first_unchanged_at_end_row): Convert assertions to
7153 unconditional tests which abort. When looking for a row in
7154 unchanged text, don't go further back than first_text_row.
7155
b41fe2c3
GM
7156 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7157 Don't add in the last line's height when deciding if the new
7158 position is below the scroll margin.
9d1af64f 7159
b41fe2c3 71602000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7161
7162 * editfns.c (Fconstrain_to_field): Check carefully for field
7163 boundaries if either OLD_POS or NEW_POS has a non-nil field
7164 property, even if they're the same.
7165
c412cb7b
KH
71662000-10-16 Kenichi Handa <handa@etl.go.jp>
7167
7168 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7169 height for XFillRectangle.
7170
5586f3eb
SM
71712000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7172
7173 * syntax.c (Fstring_to_syntax): New function extracted from
7174 Fmodify_syntax_entry.
7175 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7176 (skip_chars, Fforward_comment): Remove unused variables.
7177 (syms_of_syntax): Add defsubr for string-to-syntax.
7178 (describe_syntax): Add code for comment and string fences.
7179
db785038
SM
71802000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7181
7182 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7183 Do the meta->esc mapping. Call get_keyelt before returning.
7184 Start scanning from the second element (the first is always `keymap')
7185 to make it easier to detect when we reach a parent map.
7186 Handle the case of inheriting from a symbol whose function is a map.
7187 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7188 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7189 (get_keyelt, Flookup_key): Update call to access_keymap.
7190 Remove the meta->esc mappings.
7191 (define_as_prefix): Delete old disabled code.
7192 (menu_item_p): New function.
7193 (where_is_internal_1): Skip over the few remaining menu items.
7194 * lisp.h (access_keymap): Update prototype.
7195 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7196 Update call to access_keymap.
7197 (follow_key, read_key_sequence): Update calls to access_keymap.
7198 Remove the meta->esc mappings.
7199
cafafe0b
GM
72002000-10-13 Gerd Moellmann <gerd@gnu.org>
7201
a2e2a7f6
GM
7202 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7203 with additional argument.
7204
cafafe0b
GM
7205 * xdisp.c (cursor_row_p): New function.
7206 (try_cursor_movement, display_line): Use it.
52283633 7207
cafafe0b
GM
7208 * xdisp.c (append_space): Also save/restore iterator's current
7209 character and its length.
7210
7211 * xdisp.c (init_from_display_pos): Add an assertion.
7212 (handle_stop): Don't set iterator's add_overlay_start.
7213 (handle_invisible_prop): Likewise.
7214 (load_overlay_strings): If text under an overlay is invisible,
7215 take both before- and after-strings into account when the iterator
7216 is positioned either at the start or at the end of the overlay.
7217 (forward_to_next_line_start): Rewritten.
7218 (reseat_at_next_visible_line_start): Rewritten.
7219 (set_iterator_to_next): Add parameter RESEAT_P.
7220
7221 * dispextern.h (struct it): Remove member add_overlay_start.
7222 (set_iterator_to_next): Change prototype.
7223
c744452b
KH
72242000-10-13 Kenichi Handa <handa@etl.go.jp>
7225
7226 * coding.c (code_convert_region): Be sure to initialize
7227 coding->category_idx.
e4a3f4e1
KH
7228 (decode_coding_string): Set coding->src_multibyte and
7229 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7230 (encode_coding_string): Set coding->src_multibyte and
7231 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7232
321fd26f
SM
72332000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7234
7235 * xfns.c (Fx_create_frame): Don't bother calling
7236 face-set-after-frame-default since the caller does it for us anyway.
7237
76832439
EZ
72382000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7239
7240 * window.c (coordinates_in_window): Fix detection of vertical line
7241 on character terminals.
7242
2483cf58
GM
72432000-10-12 Gerd Moellmann <gerd@gnu.org>
7244
7245 * editfns.c (save_excursion_save): Additionally record the
7246 selected window.
7247 (save_excursion_restore): If buffer was visible in a window, and a
7248 different window was selected, and the old selected window is
7249 still live, restore point in that window.
7250
eb991b25
KH
72512000-10-12 Kenichi Handa <handa@etl.go.jp>
7252
8a0eba09
KH
7253 * xterm.c (x_produce_glyphs): Handle
7254 unibyte_display_via_language_environment correctly.
7255
20401fcc
KH
7256 * regex.c (regex_compile): Change the way of handling a range from
7257 unibyte char to multibyte char.
7258
7259 * syntax.c (skip_chars): Change the way of handling a range from
7260 unibyte char to multibyte char.
7261
eb991b25
KH
7262 * process.c (read_process_output): Cancel previous change.
7263
365dd325
EZ
72642000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7265
c1b096cb
EZ
7266 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7267
365dd325
EZ
7268 * charset.c (Ffind_charset_string): Doc fix.
7269 (Ffind_charset_region): Doc fix.
7270
eb483c2b
KH
72712000-10-11 Kenichi Handa <handa@mule.m17n.org>
7272
7273 * process.c (read_process_output): Fix previous change. Adjust
7274 multibyteness of text to insert in a buffer by
52283633 7275 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7276
b40bfb99
AS
72772000-10-10 Andreas Schwab <schwab@suse.de>
7278
7279 * alloc.c (mark_object): Remove all workarounds installed on
7280 1993-08-08.
7281
caff31d4
KH
72822000-10-10 Kenichi Handa <handa@etl.go.jp>
7283
52283633 7284 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7285 (base64_encode_1): Make it work for a text of multibyte form.
7286 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7287 case. Don't call str_to_multibyte because base64_decode_1
7288 produces correct multibyte form for eight-bit codes.
52283633 7289 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7290 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7291 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7292 codes.
7293
7294 * charset.h (CHAR_STRING): Optimized for single byte characters.
7295
cba026ef
AS
72962000-10-09 Andreas Schwab <schwab@suse.de>
7297
7298 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7299 -1 after socket is closed, to fall through to error processing.
7300
1e21fe48
EZ
73012000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7302
7303 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7304 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7305 background-color, change also the colors of the default face for
7306 this frame.
7307
a640322e
EZ
73082000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7309
7310 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7311 them extern (they are defined on xfaces.c).
7312 (syms_of_msdos): Don't intern and don't staticpro
7313 Qbackground_color and Qforeground_color.
7314
a115794c
EZ
73152000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7316
7317 * frame.c (Fframe_parameter): For non-windowed frames, if
7318 f->param_alist says foreground or background color is unspecified,
7319 call tty_color_name to return the color name computed from the
7320 frame's current colors.
7321
f5533b63
DL
73222000-10-06 Dave Love <fx@gnu.org>
7323
7324 * terminfo.c (ospeed): Don't declare.
7325
7326 * sysdep.c: Don't include string.h.
7327 (h_errno): Declare conditional also on TRY_AGAIN.
7328
7329 * charset.c (Ffind_charset_string): Doc fix.
7330
52283633 7331 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7332 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7333 error messages.
7334
2b06561a
DL
73352000-10-05 Dave Love <fx@gnu.org>
7336
7337 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7338 position like menu-bar.
7339
ca839c85
GM
73402000-10-05 Gerd Moellmann <gerd@gnu.org>
7341
7342 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7343
7344 * xdisp.c (handle_single_display_prop): Use safe_call1.
7345 (safe_call): Renamed from call_function.
7346 (safe_call1): New function.
7347 (handle_fontified_prop): Use safe_call1 instead of call1.
7348 (safe_eval): Renamed from eval_form.
7349 (safe_eval_handler): Renamed from eval_handler.
7350 (handle_single_display_prop, display_mode_element): Use safe_eval
7351 instead of eval_form.
7352
7353 * xfaces.c (merge_face_heights): Use safe_call instead of
7354 call_function.
7355
7356 * keyboard.c (show_help_echo): Use safe_call instead of
7357 call_function; use safe_eval instead of eval_form.
7358
7359 * lisp.h (safe_call): Renamed from call_function.
7360 (safe_eval): Renamed from eval_form.
7361 (safe_call1): Add prototype.
7362
a3489ece
MB
73632000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7364
7365 * xfns.c (image_ascent): Rearrange ascent calculation for the
7366 has-a-font case.
7367
35810b6f
SM
73682000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7369
7370 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7371 (where_is_internal_1): Don't bother ignoring menu-items any more.
7372
3dc78168
GM
73732000-10-04 Gerd Moellmann <gerd@gnu.org>
7374
7375 * keyboard.c (update_menu_bindings): New variable.
7376 (parse_menu_item): Use AREF. If update_menu_bindings
7377 is 0, don't update menu bindings.
7378 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7379
1efc2bb9
EZ
73802000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7381
7382 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7383 to `mark_object'.
7384
3f679f55
SM
73852000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7386
7387 * syntax.c (forw_comment): Match nestedness of ender/starter.
7388 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7389 (prev_char_comstart_first): Remove.
7390 (back_comment): Check two-char comment markers more carefully
7391 to better handle overlapping cases like *//* or /* */* */ ...
7392 Match nestedness of ender/starter.
7393
2021ab61
DL
73942000-10-02 Dave Love <fx@gnu.org>
7395
7396 * config.in (HAVE_GAI_STRERROR): Add undef.
7397
7398 * process.c (Fopen_network_stream): Use it.
7399
7400 * m/alpha.h (NO_REMAP): Don't define.
7401
64e6cc18
GM
74022000-10-02 Gerd Moellmann <gerd@gnu.org>
7403
7404 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7405 return with a string converted to an integer or vice versa when
7406 Vmocklisp_arguments is t.
7407 (Fsignal): Likewise. The function can return for `quit'.
7408 (struct gcpro): Declare member `var' to point to a volatile
7409 Lisp_Object.
7410
7411 * eval.c (error): Prevent compiler warning.
7412
b1904cd9
SM
74132000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7414
7415 * keymap.c (keymap_memberp): New function.
7416 (Fset_keymap_parent): Use it.
7417 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7418 Use keymap_memberp to avoid creating cycles.
7419 (access_keymap): Use KEYMAPP.
7420
71c9ec51
GM
74212000-09-30 Gerd Moellmann <gerd@gnu.org>
7422
7423 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7424 gai_strerror. Make sure xerrno is set if connect fails. Improve
7425 error recovery.
71c9ec51 7426
c70c6b58
JR
74272000-09-29 Jason Rumney <jasonr@gnu.org>
7428
7429 * w32term.c (w32_char_font_type, w32_encode_char)
7430 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7431 (w32_bdf_per_char_metric): New function.
7432 (w32_per_char_metric): Use it.
7433 (x_draw_glyph_string_background): Always draw background for BDF
7434 glyphs.
7435
7436 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7437 GDI object which is a scarce resource.
7438
7439 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7440 (get_quoted_string): Fix limit on memchr search.
7441 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7442 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7443 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7444 (get_cached_font_char, cache_char_offset): Use macro
7445 BDF_CODEPOINT_RANGE_COVER_P.
7446 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7447 (clear_cached_bitmap_slots): New function.
7448 (GET_HEX_VALUE): G-Z, g-z are not hex.
7449 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7450 (get_bitmap_with_cache): Use new cache implementation.
7451 (create_offscreen_bitmap): New function.
7452 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7453
7454 * w32term.c (x_produce_glyphs): If the distance from the current
7455 position to the next tab stop is less than a canonical character
7456 width, use the tab stop after that.
7457 (x_draw_glyphs): Handle case START and END are out of bounds more
7458 carefully.
7459 (x_clear_mouse_face): Block/unblock input.
7460 (x_display_and_set_cursor): Don't show a hollow box cursor for
7461 buffers whose cursor_type is nil.
7462
fe01239f
GM
74632000-09-29 Gerd Moellmann <gerd@gnu.org>
7464
52283633 7465 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7466
7467 * dispextern.h (updating_frame): Declare extern.
7468
e7c52f1f
AS
74692000-09-29 Andreas Schwab <schwab@suse.de>
7470
7471 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7472
de6e1f7c
GM
74732000-09-29 Gerd Moellmann <gerd@gnu.org>
7474
25126faa
GM
7475 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7476 use its function definition.
7477 (tool_bar_items): Likewise.
7478
de6e1f7c 7479 * lisp.h (fatal): Declare NO_RETURN.
52283633 7480
454ee39b
KH
74812000-09-29 Kenichi Handa <handa@etl.go.jp>
7482
7483 * keymap.c: Remove the line "#undef NULL".
7484
96301c5f
GM
74852000-09-28 Gerd Moellmann <gerd@gnu.org>
7486
52283633 7487 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7488
efffeeb4
DL
74892000-09-28 Dave Love <fx@gnu.org>
7490
ecb8b666
DL
7491 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7492
dc3cd20f
DL
7493 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7494
7495 * .gdbinit (xreload): Note its need on GNU/Linux.
7496
efffeeb4
DL
7497 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7498 r_alloc, r_alloc_free.
7499
8610d903
KH
75002000-09-28 Kenichi Handa <handa@etl.go.jp>
7501
7502 * syntax.c (skip_chars): Handle negation correctly.
7503
8901d1ac
GM
75042000-09-27 Gerd Moellmann <gerd@gnu.org>
7505
6f22f1ad
GM
7506 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7507 with non-zero FORCE_P argument.
7508
52283633 7509 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7510 Add assertions.
7511
7512 * xdisp.c (window_box_height): Add an assertion.
7513
7514 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7515 tool-bar than is available.
7516 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7517
36f1966f
DL
75182000-09-27 Dave Love <fx@gnu.org>
7519
efffeeb4 7520 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7521
31d929e5
GM
75222000-09-26 Gerd Moellmann <gerd@gnu.org>
7523
c98863bf
GM
7524 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7525 instead of BITS_PER_INT.
7526 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7527 EMACS_UINT, respectively.
7528 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7529
7530 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7531
7532 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7533
77072ab1
GM
7534 * window.c (freeze_window_starts): Construct last argument for
7535 foreach_window differently.
7536
7537 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7538
7539 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7540 EMACS_UINT instead of `int' and `unsigned int'.
7541 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7542
7543 * frame.h (struct frame): Make the `nothing' member of union
7544 output_data an EMACS_INT.
7545
52283633 7546 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7547 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7548 size in the sdata structure.
7549 (SDATA_NBYTES, SDATA_DATA): New macros.
7550 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7551 differently for the different layout of the sdata structure.
7552 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7553 in sdata.
7554 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7555 Check that size recorded in the string size and size recorded in
7556 the sdata structure agree.
7557
3e60b029
DL
75582000-09-25 Dave Love <fx@gnu.org>
7559
7560 * buffer.c: Include stdio.h.
7561
7562 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7563
3e60b029
DL
7564 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7565
7566 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7567 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7568 (__malloc_extra_blocks): Declare as __malloc_size_t.
7569
8ff16b4e
GM
75702000-09-25 Gerd Moellmann <gerd@gnu.org>
7571
755a2ccd
GM
7572 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7573
d8b4516f
GM
7574 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7575 (read_char): If help-echo is showing, preserve the echo area
7576 when redisplaying.
7577
7578 * xdisp.c (help_echo_showing_p): New variable.
7579 (set_message): Reset it to 0.
7580 (init_xdisp): Initialize help_echo_showing_p.
7581
7582 * dispextern.h (help_echo_showing_p): Declare extern.
7583
7584 * config.in: Fix typo in __GNUC_MINOR__.
7585
7586 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7587
b11af2dd
GM
7588 * s/freebsd.h (POSIX_SIGNALS): Define.
7589
8ff16b4e
GM
7590 * xterm.c (x_clear_mouse_face): Block/unblock input.
7591
844eb643
DL
75922000-09-24 Dave Love <fx@gnu.org>
7593
7594 * fns.c (base64_encode_1): Fix last change.
7595
b30ab1b3
GM
75962000-09-22 Gerd Moellmann <gerd@gnu.org>
7597
7598 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7599
7600 * xdisp.c (try_window_reusing_current_matrix): More fixes
7601 for the case window has a header-line.
7602
c6cbe5f0
DL
76032000-09-22 Dave Love <fx@gnu.org>
7604
4c7c1f3f
DL
7605 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7606 a doc string.
7607
7608 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7609
c6cbe5f0
DL
7610 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7611
550a625e
GM
76122000-09-21 Gerd Moellmann <gerd@gnu.org>
7613
4c7c1f3f 7614 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7615 for GCC >= 2.5.
7616
52283633
SM
7617 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7618 Declare NO_RETURN.
fca99116 7619
80d26f99
GM
7620 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7621 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7622 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7623 warnings.
52283633 7624
80d26f99
GM
7625 * marker.c (byte_char_debug_check): Return void.
7626
623a0aae
GM
7627 * xfns.c (Fx_create_frame): Set default frame parameter value
7628 for tool-bar-lines to 1.
7629
7630 * dispnew.c (scrolling_window): Compare y-positions of rows
7631 equal at the start. Some simplification.
7632
7633 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7634 reused rows' y-position in the case window has a header-line, and
7635 new window start is greater than old window start.
7636
42ac0ae5
GM
7637 * process.c (process_sent_to): New variable.
7638 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7639 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7640 Declare more parameters volatile.
7641
550a625e
GM
7642 * lread.c (Vrecursive_load_depth_limit): New variable.
7643 (Fload): Check recursive loads whose recursion depth exceeds
7644 Vrecursive_load_depth_limit.
7645 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7646
8320414c
GM
76472000-09-20 Gerd Moellmann <gerd@gnu.org>
7648
f46c275e
GM
7649 * fileio.c (Fread_file_name): Doc fix.
7650
7651 * editfns.c (Fmessage_or_box): Doc fix.
7652
7653 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7654
b7e11c5b 7655 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7656
8320414c
GM
7657 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7658 symbols are specified, add color translations to the cache.
52283633 7659 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7660 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7661 xpm_cache_color.
7662 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7663 structures to xpm_init_color_cache.
7664
da1608d9
GM
76652000-09-19 Gerd Moellmann <gerd@gnu.org>
7666
52283633 7667 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7668
6badfa25
AI
76692000-09-19 Andrew Innes <andrewi@gnu.org>
7670
7671 * makefile.nt (bootstrap-emacs): Don't change directory.
7672
3a5f42bb
KH
76732000-09-19 Kenichi Handa <handa@etl.go.jp>
7674
1b7649bd
KH
7675 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7676
3a5f42bb
KH
7677 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7678 If output buffer is too small, signal an appropriated error.
7679
9f83cf0b
DL
76802000-09-18 Dave Love <fx@gnu.org>
7681
52283633 7682 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7683 (current_active_maps): Remove redundant get_local_map call.
7684
28c7826c
GM
76852000-09-18 Gerd Moellmann <gerd@gnu.org>
7686
5cefa566
GM
7687 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7688 cursor for buffers whose cursor_type is nil.
52283633 7689
6fed3546
GM
7690 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7691 a feature to implement that is already implemented.
7692 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7693 warnings.
7694
7695 * xfns.c (x_clear_image_1): New function.
7696 (x_clear_image): Use it.
52283633 7697 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7698
05b1f851
GM
7699 * dispnew.c (update_window): Move test for invisible lines
7700 at the top to update_window_line.
7701 (update_window_line): Handle invisible lines here.
7702
f4779de9
GM
7703 * xfns.c (clear_image_cache): Clear current matrices of all
7704 frames sharing an image cache. Block input while freeing
7705 images. Fix timestamp comparison.
7706 (x_clear_image): Also free the mask.
7707
28c7826c
GM
7708 * xfns.c (lookup_image): Block input while loading the image so
7709 that we won't get interrupted in a state where the image isn't yet
7710 set up completely.
7711 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7712 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7713 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7714 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7715
b7412313
GM
77162000-09-16 Gerd Moellmann <gerd@gnu.org>
7717
7718 * dispnew.c (update_window): Make sure to make desired rows
7719 current even if they are completely invisible at the top
7720 of a window.
7721
47e351a3
GM
77222000-09-15 Gerd Moellmann <gerd@gnu.org>
7723
7f8f1edc
GM
7724 * xfns.c (lookup_image): Build mask before applying an algorithm.
7725 Recognize algorithm `disabled'.
7726 (cross_disabled_images): New variable.
7727 (COLOR_INTENSITY): New macro.
7728 (x_detect_edges): Use COLOR_INTENSITY.
7729 (x_disable_image): New function.
7730 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7731
7732 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7733 disabled state, don't apply an image transformation algorithm if
7734 the user specified an image for the disabled state. Use
28c7826c 7735 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7736 user hasn't specified an image.
7737
ebb8f116
GM
7738 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7739 allocation functions with the XPM lib.
7740 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7741 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7742 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7743 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7744 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7745 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7746 functions, if possible, because these handle color allocation
7747 failure more gracefully.
7748 (Fimage_mask_p): New function.
7749
47e351a3
GM
7750 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7751 (Qedge_detection, Qheuristic): New symbols.
7752 (syms_of_xfns): Initialize new symbols.
7753 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7754 `algorithm (edge-detection ...)'.
7755 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7756 (tiff_format, gif_format, gs_format): Add `:mask'.
7757 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7758 (GIF_MASK, GS_MASK): New enumerators.
7759 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7760 (emboss_matrix, laplace_matrix): New variables.
7761 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7762 (x_edge_detection): New functions.
7763 (x_laplace): Rewritten in terms of x_detect_edges.
7764 (x_build_heuristic_mask): If image has a mask, free it.
7765
fe83b953
AI
77662000-09-14 Andrew Innes <andrewi@gnu.org>
7767
7768 * makefile.w32-in: Revert to Unix line endings.
7769
3021e816
AI
77702000-09-14 Andrew Innes <andrewi@gnu.org>
7771
7772 * makefile.w32-in: Standardize indentation somewhat.
7773 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7774 cater for differences between shells.
7775
7776 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7777
2a32b5ea
GM
77782000-09-14 Gerd Moellmann <gerd@gnu.org>
7779
7780 * xterm.c (x_produce_glyphs): If the distance from the current
7781 position to the next tab stop is less than a canonical character
7782 width, use the tab stop after that.
7783
b4331e96
DL
77842000-09-14 Dave Love <fx@gnu.org>
7785
7786 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7787
ef9e4345
GM
77882000-09-14 Gerd Moellmann <gerd@gnu.org>
7789
085536c2
GM
7790 * xdisp.c (handle_fontified_prop): While running fontification
7791 functions, bind `fontification-functions' and
7792 `after-change-functions' to nil.
7793
ef9e4345
GM
7794 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7795 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7796
7797 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7798
7799 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7800 USE_MMAP_FOR_BUFFERS.
7801
7802 * insdel.c (make_gap): Use enlarge_buffer_text.
7803
7804 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7805 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7806 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7807 from former r_alloc_* functions in ralloc.c.
52283633 7808 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
7809 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7810 (mmap_init) [REL_ALLOC_MMAP]: New function.
7811 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7812 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7813 BUFFER_FREE.
7814
7815 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7816 (enlarge_buffer_text): Add prototype.
7817
7818 * ralloc.c: Remove everything having to do with the use of mmap.
7819
f8608968
GM
78202000-09-13 Gerd Moellmann <gerd@gnu.org>
7821
2a494b2d
GM
7822 * sound.c (Fplay_sound): Doc fix.
7823
8c907a56
GM
7824 * keyboard.c: Avoid some more compiler warnings.
7825 (parse_tool_bar_item): Ignore cached key bindings.
7826
f8608968
GM
7827 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
7828 and allocation of Lisp data.
7829
6ab70e9a
GM
78302000-09-12 Gerd Moellmann <gerd@gnu.org>
7831
d12d0a9b
GM
7832 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
7833 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
7834 defaults first.
7835
6ab70e9a
GM
7836 * lread.c (Fload): Put code checking for recursive loads in #if 0.
7837
63c36c3c
KH
78382000-09-12 Miyashita Hisashi <himi@meadowy.org>
7839
7840 * ccl.c: Comment fixed.
7841 (MAX_MAP_SET_LEVEL): Increased to 30.
7842 (PUSH_MAPPING_STACK): Enclose with do-while block.
7843 (POP_MAPPING_STACK): Likewise.
7844 (stack_idx_of_map_multiple): New variable.
7845 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
7846 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 7847 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
7848 (ccl_driver) <CCL_MapSingle>: Likewise.
7849 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
7850 with the case where looking up process reaches to the end of
7851 map-set, and call CCL programs as the above change.
7852
7ee3bd7b
GM
78532000-09-11 Gerd Moellmann <gerd@gnu.org>
7854
8ec8a5ec
GM
7855 * xfns.c (png_load, jpeg_load): Declare some variables volatile
7856 that might be clobbered by longjmp.
7857 (check_x_display_info, x_decode_color, create_frame_xic)
7858 (Fx_display_backing_store, Fx_display_visual_class)
52283633 7859 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 7860
f74b0705
GM
7861 * lread.c (init_lread): Set Vloads_in_progress to nil.
7862 (Fload): Show list of recursively loaded files, when signaling an
7863 error.
7864
7ee3bd7b
GM
7865 * lread.c (Vloads_in_progress): New variable.
7866 (record_load_unwind): New function.
7867 (Fload): Check for recursive loads.
7868 (syms_of_lread): Initialize Vloads_in_progress.
7869 (read_integer, read1): Avoid some compiler warnings.
7870
7871 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7872 compiler warnings.
7873
974e1e5b
MB
78742000-09-11 Miles Bader <miles@gnu.org>
7875
7876 * editfns.c (Fbuffer_string): Doc fix.
7877
9824c4e3
GM
78782000-09-10 Gerd Moellmann <gerd@gnu.org>
7879
7880 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7881
6a72fdd1
KR
78822000-09-09 Ken Raeburn <raeburn@gnu.org>
7883
7884 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7885 whether to include other header files.
7886
28e6fb66
GM
78872000-09-09 Gerd Moellmann <gerd@gnu.org>
7888
52283633 7889 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 7890 by Fmemq as a boolean.
28e6fb66 7891
7f8b6551
SM
78922000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7893
7894 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7895
a8710abf
GM
78962000-09-08 Gerd Moellmann <gerd@gnu.org>
7897
d1a02881
GM
7898 * ralloc.c (mmap_fd): Remove initializer which can make it
7899 read-only in a dumped Emacs.
7900 (mmap_fd_1): New variable.
7901 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7902 restore it from there.
7903 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7904 unconditionally so that mmap_fd can be initialized there.
7905 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7906 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7907 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7908
c454aac1
GM
7909 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7910
7911 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 7912 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 7913
fc653ef2
GM
7914 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7915
3015eec0
GM
7916 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7917 inheritance.
7918
bfe0ee88
GM
7919 * xdisp.c (try_window_id): When trying to locate cursor in
7920 unchanged rows at the top, handle the case that we can't find it.
7921
a8710abf
GM
7922 * xterm.c (x_draw_glyphs): Handle case START and END are out
7923 of bounds more carefully.
7924
6b7d4ae4
DL
79252000-09-08 Dave Love <fx@gnu.org>
7926
423193c5
DL
7927 * s/sol2.h (REL_ALLOC_MMAP): Define.
7928 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7929
7930 * ralloc.c: Don't include string.h (redundant).
7931 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7932 [!MAP_ANON]: Include fcntl.h.
7933 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7934 (r_alloc, r_re_alloc, r_alloc_free)
7935 (mmap_enlarge, mmap_set_vars): Use it.
7936 (r_alloc_init_fd): New function.
7937 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7938 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7939 malloc type.
7940
7941 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7942 Remove vm-limit.o.
7943
6b7d4ae4
DL
7944 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7945 change to __NetBSD__.
7946
44d31981
KH
79472000-09-08 Kenichi Handa <handa@etl.go.jp>
7948
7949 * search.c (compile_pattern): Check the multibyteness of cached
7950 string and PATTERN.
7951
aad40737
MB
79522000-09-08 Miles Bader <miles@gnu.org>
7953
7954 * xfaces.c (default_face_vector): Function removed.
7955 (Finternal_merge_in_global_face): Restore old global/local
7956 attribute override order. Use inline loop instead of calling
7957 default_face_vector.
7958
91a211b5
GM
79592000-09-07 Gerd Moellmann <gerd@gnu.org>
7960
7961 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7962 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7963 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7964 where necessary, in case POINTER_TYPE is `void'.
7965
03419440
EZ
79662000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7967
7968 * frame.c (make_terminal_frame): Initialize frame foreground and
7969 background colors to unspecified, for the initial instance of an
7970 MSDOS frame.
7971
f46f845b
GM
79722000-09-07 Gerd Moellmann <gerd@gnu.org>
7973
24f76fbf
GM
7974 * ralloc.c (mmap_find): Fix overlap computation.
7975 (mmap_enlarge): Compute nbytes before trying to find an
7976 overlapping region.
7977
f46f845b
GM
7978 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7979 instead of `!='.
7980
7981 * lread.c (syms_of_lread): Change value of regexp
7982 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7983
7984 * xmenu.c (xdialog_show): When looking up the selection in
7985 menu_items, take `quote' boundaries into account; this corresponds
7986 to a nil ITEM in x-popup-dialog.
7987
3c014385
KH
79882000-09-07 Kenichi Handa <handa@etl.go.jp>
7989
fd6f711b
KH
7990 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7991 not 0x81.
7992 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7993
3c014385 7994 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
7995 encoding, not decoding. Fix the handling of latin-jisx0201.
7996 Check for the charset katakana-jisx0201 too.
3c014385 7997 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 7998 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 7999
0da3ecef
GM
80002000-09-07 Gerd Moellmann <gerd@gnu.org>
8001
ab0ee409
GM
8002 * xfaces.c (Vparam_value_alist): New variable.
8003 (syms_of_xfaces): Initialize it.
8004 (Finternal_set_lisp_face_attribute): Avoid more consing.
8005
8006 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8007 specially.
8008 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8009 (Qbackground_mode): New variable.
8010 (syms_of_frame_1): Initialize Qbackground_mode.
8011
8012 * lisp.h (Qdisplay): Declare extern.
1091dd67 8013
0da3ecef
GM
8014 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8015 change face on all frames, and change the default for new frames.
8016
b14654b9
DL
80172000-09-07 Dave Love <fx@gnu.org>
8018
8019 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8020
d24fd56f
KH
80212000-09-07 Kenichi Handa <handa@etl.go.jp>
8022
794f3670
KH
8023 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8024
0fddd0dc
KH
8025 * charset.c: Include composite.h
8026 (lisp_string_width): New function.
8027 (Fstring_width): Call lisp_string_width instead of strwidth.
8028
8029 * Makefile.in (charset.o): Depends on composite.h.
8030
d24fd56f
KH
8031 * process.c (read_process_output): Before inserting the decoded
8032 text in the buffer, adjust the multibyteness.
8033
fa0b693c
GM
80342000-09-06 Gerd Moellmann <gerd@gnu.org>
8035
52283633 8036 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8037 buffer's text buffer is null, map new memory.
8038
0a58f946
GM
8039 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8040 POINTER_TYPE and size_t.
8041 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8042 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8043 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8044 [REL_ALLOC_MMAP]: New macros.
8045 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8046 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8047 [REL_ALLOC_MMAP]: New functions.
8048
8049 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8050 before and after unexec.
8051
8052 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8053 text buffers if necessary.
8054
8055 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8056 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8057 in prototypes.
8058
fa0b693c
GM
8059 * config.in (HAVE_MMAP): Add #undef.
8060
877055f6
GM
80612000-09-05 Gerd Moellmann <gerd@gnu.org>
8062
08ba3862
GM
8063 * frame.c (Qdisplay_type): New variable.
8064 (syms_of_frame_1): Initialize it.
8065 (Fframe_parameter): New function that avoids consing.
8066 (syms_of_frame): Defsubr it.
8067
66ffe51c
GM
8068 * buffer.c (Fother_buffer): Consider buffers as invisible when
8069 they are displayed in a window on an invisible frame.
8070
877055f6
GM
8071 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8072 get-largest-window always return nil.
8073
bb970e67
GM
80742000-09-04 Gerd Moellmann <gerd@gnu.org>
8075
8076 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8077 variable; recognize Emacs 19 elc files.
8078
7a3d0e0e
MB
80792000-09-04 Miles Bader <miles@gnu.org>
8080
8081 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8082 before initially popping up the menu, so the menu doesn't flash
52283633 8083 when the face settings are significantly different from the defaults.
7a3d0e0e 8084
14473664
SM
80852000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8086
8087 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8088 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8089 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8090 (BIT_UNIBYTE): Remove.
8091 (re_match_2_internal): Delete corresponding code and streamline the
8092 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8093 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8094 (re_wctype_t): New type.
8095 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8096 (regex_compile): Use them and fix handling of overly long char classes.
8097
c1174479
AI
80982000-09-03 Andrew Innes <andrewi@gnu.org>
8099
f8803e97
AI
8100 * makefile.w32-in: Change to DOS line endings.
8101
c1174479
AI
8102 * s/ms-w32.h (ORDINARY_LINK): New define.
8103
8104 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8105 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8106
8107 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8108 (distclean): Delete them here instead.
8109
44ef7cf6
AI
8110 * w32proc.c (compare_env): Convert to uppercase for comparison,
8111 not lowercase, to match how the native Windows shell works.
8112
49b3bd82
JR
81132000-09-03 Jason Rumney <jasonr@gnu.org>
8114
8115 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8116 CVS changes the line-ends when checking in/out on DOS/Windows.
8117
8118 * makefile.nt (emacs): Do not change directory to run temacs, as
8119 the load-path is set relative to current directory.
8120
a3d35a39
MB
81212000-09-03 Miles Bader <miles@gnu.org>
8122
8123 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8124
d276b0cf
GM
81252000-09-02 Gerd Moellmann <gerd@gnu.org>
8126
715e84c9
GM
8127 * xdisp.c (redisplay_mode_lines): New function.
8128 (display_mode_lines): Return number of mode lines displayed.
8129 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8130 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8131
8892f40b
GM
8132 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8133 string.h and strings.h.
8134 (index) [HAVE_INDEX]: Add prototype.
8135
d276b0cf
GM
8136 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8137 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8138
8139 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8140 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8141
38404229
GM
81422000-09-01 Gerd Moellmann <gerd@gnu.org>
8143
8144 * lread.c (read1): Accept `?' as symbol constituent, for
8145 compatiblity with XEmacs.
8146
c0f9ea08
SM
81472000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8148
8149 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8150 (struct re_pattern_buffer): Remove newline_anchor.
8151 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8152 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8153 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8154 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8155 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8156 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8157 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8158 Get rid of references to newline_anchor.
8159 (regcomp): Allocate and precompute a fastmap.
8160
8c0f83fe
GM
81612000-08-31 Gerd Moellmann <gerd@gnu.org>
8162
8163 * lread.c (openp): GCPRO local variable `filename'.
8164
4bb91c68
SM
81652000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8166
8167 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8168
8169 * regex.c: Merge some changes from GNU libc. Add prototypes.
8170 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8171 Use memcmp and memcpy instead of bcopy and bcmp.
8172 (init_syntax_once): Use ISALNUM.
8173 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8174 (REG_UNSET_VALUE): Remove. Use NULL instead.
8175 (REG_UNSET, re_match_2_internal): Use NULL.
8176 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8177 New macros.
8178 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8179 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8180 (regex_compile): In handle_interval, return an error rather than try to
8181 unfetch the interval if we can't find the closing brace.
8182 Obey the RE_NO_GNU_OPS syntax bit.
8183 (TOLOWER): New macro.
8184 (regcomp): Use it.
8185 (regexec): Allocate regs.start and regs.end as one block.
8186
5226a931
GM
81872000-08-30 Gerd Moellmann <gerd@gnu.org>
8188
868dd24b
GM
8189 * xdisp.c (echo_area_display): Check display_completed instead
8190 of calling detect_input_pending.
8191
8192 * dispnew.c (update_frame): Only set display_completed here; move
8193 the update_begin and update_end calls here from update_frame_1.
8194 (update_frame_1): Don't set display_completed here, don't call
8195 update_begin/update_end.
8196
5226a931
GM
8197 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8198 instead of store_frame_param.
8199
2a8bd25f
GM
82002000-08-29 Gerd Moellmann <gerd@gnu.org>
8201
8202 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8203 desired window matrix hasn't been displayed, use the current row
8204 instead. Make sure that only those frame rows are updated for
8205 which there exists a corresponding enabled desired row.
52283633 8206
ba3478d9
MB
82072000-08-29 Miles Bader <miles@gnu.org>
8208
8209 * xfaces.c (default_face_vector): New function.
8210 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8211
87d0f685
GM
82122000-08-29 Gerd Moellmann <gerd@gnu.org>
8213
8214 * lread.c (openp): Prevent temporary string passed to
8215 Ffile_readable_p from being garbage collected.
8216
6fa86045
DL
82172000-08-28 Dave Love <fx@gnu.org>
8218
8219 * keymap.c (store_in_keymap): Add `static' to declaration.
8220
bb17930d
GM
82212000-08-28 Gerd Moellmann <gerd@gnu.org>
8222
8223 * emacs.c, callint.c, doc.c, editfns.c
8224 (toplevel) [HAVE_STRING_H]: Include string.h.
8225 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8226 (index): Remove prototypes which might conflict with non-standard
8227 definitions of index/strchr.
8228
8229 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8230 (rindex): Define only if !HAVE_RINDEX.
8231
8232 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8233
8234 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8235
87188200
MB
82362000-08-28 Miles Bader <miles@gnu.org>
8237
8238 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8239 made inconsistent by a font-related attribute in FROM.
8240 (merge_face_inheritance): Add function comment.
8241
41a68aef
KH
82422000-08-28 Kenichi Handa <handa@etl.go.jp>
8243
8244 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8245 the 4th arg (PREV_EVENT) Qt to suppress input method.
8246
f7c436c1
SM
82472000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8248
0b32bf0e
SM
8249 * regex.c: Indent cpp directives and remove parens after `defined'.
8250 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8251 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8252 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8253 (re_compile_pattern): Use size_t for length.
8254 (init_syntax_once): Move to a better place.
8255 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8256 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8257
f7c436c1
SM
8258 * syntax.c (back_comment): Detect cases where a comment-starter is
8259 actually inside another comment as in: /* a // b */ c // d \n.
8260 Make it clear that `comstart_pos' is unused for nested comments.
8261
8262 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8263 (KEYMAPP): New macro.
8264 (Fkeymap_parent, Fset_keymap_parent): Use it.
8265 (fix_submap_inheritance): Mark it static.
8266 (define_as_prefix, describe_buffer_bindings, describe_command)
8267 (describe_translation, describe_map): Complete prototypes.
8268
8269 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8270
8271 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8272 to better match the key-lookup behavior.
8273
6288c62f
GM
82742000-08-27 Gerd Moellmann <gerd@gnu.org>
8275
8276 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8277 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8278
e931344e
EZ
82792000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8280
8281 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8282 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8283 (xterm.o): Depend on coding.h
8284
d10dfeef
KH
82852000-08-26 Kenichi Handa <handa@etl.go.jp>
8286
8287 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8288 the corresponding '#endif'.
8289
2d73e8d3
MB
82902000-08-26 Miles Bader <miles@gnu.org>
8291
8292 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8293 * xfaces.c (QCinherit): New variable.
8294 (syms_of_xfaces): Initialize it.
8295 (LFACE_INHERIT): New macro.
8296 (Finternal_get_lisp_face_attribute)
52283633 8297 (merge_face_vector_with_property)
2d73e8d3
MB
8298 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8299 (check_lface_attrs): Allow new types of face height. Check
8300 inherit attribute.
8301 (CYCLE_CHECK): New macro.
8302 (merge_face_inheritance): New function.
8303 (merge_face_vectors): Merge inherited faces too. Add F and
8304 CYCLE_CHECK arguments.
8305 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8306 (lookup_named_face, lookup_derived_face, realize_named_face)
8307 (face_at_string_position, face_at_buffer_position): Supply
8308 new F and CYCLE_CHECK arguments to merge_face_vectors.
8309 (merge_face_heights): New function.
52283633 8310 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8311 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8312 handle relative face heights.
8313 (lface_same_font_attributes_p): Compare heights using EQ.
8314
6ce974d4
KH
83152000-08-26 Kenichi Handa <handa@etl.go.jp>
8316
8317 * charset.c (char_to_string): Check the character validity.
52283633 8318 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8319
dc1e502d
SM
83202000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8321
8322 * regex.c (PUSH_FAILURE_COUNT): New macro.
8323 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8324 Handle popping of a register's or a counter's data.
8325 (POP_FAILURE_POINT): Use the new name.
8326 (re_match_2_internal): Push counter data on the stack for succeed_n,
8327 jump_n and set_number_at and remove misleading dead code in succeed_n.
8328
bd9d0f3f
GM
83292000-08-25 Gerd Moellmann <gerd@gnu.org>
8330
8331 * xdisp.c (redisplay_internal): If considering all windows on all
8332 frames, update the display for each frame as soon as possible,
8333 instead of first building all desired matrices for all frames, and
8334 then updating them all.
8335 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8336
aa5b8e15
GM
83372000-08-24 Gerd Moellmann <gerd@gnu.org>
8338
17494071
GM
8339 * bytecode.c (mark_byte_stack): Add a comment.
8340
52283633
SM
8341 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8342 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8343 a graphical frame.
8344
c543db81
KH
83452000-08-24 Kenichi Handa <handa@etl.go.jp>
8346
d246d5f5
KH
8347 * minibuf.c (do_completion): Always use compare-string, not
8348 string-equal because the latter doesn't pay attention to
8349 multibyteness of strings.
8350
c543db81
KH
8351 * process.c (create_process): Don't setup raw-text coding here.
8352 (Fopen_network_stream): Don't set coding->src_multibyte and
8353 coding->dst_multibyte here.
8354 (read_process_output): For process filter, return unibyte string
8355 if default-enable-multibyte-characters is nil.
8356 (send_process): If OBJECT is multibyte text, be sure to encoded it
8357 by the specified coding system for the process. Otherwise, setup
8358 raw-text coding.
52283633 8359 (init_process): Don't initialize default-process-coding-system here.
c543db81 8360
9b47cfe0
EZ
83612000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8362
8363 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8364 <scroll-down-aggressively>: Likewise.
8365
f5a36960
KH
83662000-08-23 Kenichi Handa <handa@etl.go.jp>
8367
8368 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8369 zero. Set coding->produced_char correctly.
8370
69a7ffa7
AI
83712000-08-22 Andrew Innes <andrewi@gnu.org>
8372
8373 * makefile.w32-in: New file.
8374
8375 * unexw32.c (unexec): Ignore old_name, and use the actual location
8376 of the current executable instead. Base new_name on this.
8377
8378 * w32proc.c (create_child): Remove reference to security
8379 descriptor, which isn't needed and doesn't compile with mingw32.
8380
8381 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8382 up dllimport attributes.
8383 (x_update_window_end): Update prototype.
8384
8385 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8386 extern, which screws up dllimport attributes.
8387
8388 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8389 up dllimport attributes.
8390
8391 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8392 screws up dllimport attributes.
8393
8394 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8395 up dllimport attributes.
8396 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8397 screws up dllimport attributes.
8398
8399 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8400 up dllimport attributes.
8401
8402 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8403 screws up dllimport attributes.
8404
8405 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8406 screws up dllimport attributes.
8407
8408 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8409 up dllimport attributes.
8410
8411 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8412 unnecessary extern, which screws up dllimport attributes.
8413 (main): Ditto.
8414
8415 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8416 up dllimport attributes.
8417
8418 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8419 unnecessary extern, which screws up dllimport attributes.
8420
8421 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8422 screws up dllimport attributes.
8423
8424 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8425 up dllimport attributes.
8426
8427 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8428
52283633
SM
8429 * w32bdf.c (search_file_line):
8430 (set_bdf_font_info):
8431 (seek_char):
8432 (w32_get_bdf_glyph):
69a7ffa7
AI
8433 (w32_BDF_to_x_font): Fix compile warnings.
8434
52283633 8435 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8436
8437 * w32select.c: Include keyboard.h before frame.h.
8438
8439 * w32fns.c (max): Define macro.
8440 (JOHAB_CHARSET): Define if not known.
8441 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8442 (Fx_show_tip): Synch with X version.
8443
8444 * w32xfns.c: Include keyboard.h before frame.h.
8445
8446 * w32fns.c: Include keyboard.h before frame.h.
8447
8448 * w32term.c: Include keyboard.h before frame.h.
8449
8450 * fontset.c: Include keyboard.h before frame.h.
8451
8452 * w32inevt.c: Include keyboard.h before frame.h.
8453 (MOUSE_MOVED): Define if not known.
8454
8455 * minibuf.c: Include keyboard.h before frame.h.
8456
8457 * keyboard.c: Include keyboard.h before frame.h.
8458
8459 * indent.c: Include keyboard.h before frame.h.
8460
8461 * dispnew.c: Include keyboard.h before frame.h.
8462
8463 * buffer.c: Include keyboard.h before frame.h.
8464
8465 * alloc.c: Include keyboard.h before frame.h.
8466
8467 * print.c: Include keyboard.h before frame.h.
8468
8469 * process.c: Include keyboard.h before frame.h.
8470
8471 * scroll.c: Include keyboard.h before frame.h.
8472
8473 * sysdep.c: Include keyboard.h before frame.h.
8474
8475 * term.c: Include keyboard.h before frame.h.
8476
8477 * window.c: Include keyboard.h before frame.h.
8478
8479 * xdisp.c: Include keyboard.h before frame.h.
8480 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8481
8482 * frame.c: Include keyboard.h before frame.h.
8483
8484 * w32heap.h: Undefine min, max.
8485
8486 * w32gui.h: Undefine min, max.
8487
8488 * unexw32.c: Change PUCHAR to PCHAR.
8489 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8490 (relocate_offset):
8491 (get_section_info):
69a7ffa7
AI
8492 (copy_executable_and_dump_data): Remove unnecessary static defs.
8493 (copy_executable_and_dump_data): Fix compile warnings.
8494
8495 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8496
8497 * w32console.c (min): Define macro.
8498 (clear_frame, write_glyphs): Fix compile warning.
8499
52283633 8500 * w32proc.c (compare_env):
69a7ffa7
AI
8501 (find_child_console): Fix compile warning.
8502
8503 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8504 sys_errlist instead of _sys_errlist.
8505 (get_emacs_configuration_options): New function.
8506
8507 * s/ms-w32.h (sys_nerr): Provide default definition.
8508 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8509 name with _ prepended.
8510 (NSIG): Define if not known.
8511 (get_emacs_configuration): Provide extern declaration.
8512 (get_emacs_configuration_options): Provide extern declaration.
8513 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8514
8515 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8516 (map_w32_filename):
69a7ffa7
AI
8517 (read_unc_volume): Fix compile warning.
8518
8519 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8520 definitions from being used.
8521
8522 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8523
52283633 8524 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8525 (open_unc_volume): Make arg const.
8526
8527 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8528 (read_input_waiting): Remove excess parameter.
8529
8530 * w32.c (init_environment): Call _access.
8531 (check_windows_init_file): Call _close.
8532 (init_user_info): Call _putenv.
8533 (init_environment): Call _putenv and _strdup.
8534 (init_ntproc): Reset volume info cache on startup.
8535
8536 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8537 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8538 cannot override the CRT malloc.
8539
8540 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8541 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8542
8543 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8544 unless we are linking with a static CRT.
8545 (RVA_TO_PTR): Cast result to unsigned char*.
8546
8547 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8548 (add_volume_info): Use xstrdup.
8549
25060080
SM
85502000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8551
8552 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8553 (do_completion, Fminibuffer_complete_word): Use it.
8554 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8555 var so it can take non-boolean values.
8556
6917e6bb
GM
85572000-08-21 Gerd Moellmann <gerd@gnu.org>
8558
acb7cc89 8559 * editfns.c (find_field): Formatting changes.
52283633 8560 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8561 changed to prototypes, some new protypes added, some functions
8562 made static.
8563
8564 * lisp.h (set_time_zone_rule): Add prototype.
8565 (use_dialog_box): External declaration.
8566
0bbfdc25
GM
8567 * keyboard.c (gen_help_event): Add parameter SIZE.
8568 (kbd_buffer_events_waiting): Slightly rewritten.
8569 (clear_event): New function.
8570 (kbd_buffer_get_event): Use it, and clear the input_events of
8571 HELP_EVENTs.
8572 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8573 don't fill the newly created array with nils.
8574 (toplevel): Convert some old-style function forward declarations
8575 to prototypes.
8576
8577 * keyboard.h (gen_help_event): Change prototype.
8578
8579 * xterm.c (XTread_socket): Change calls to gen_help_event.
8580
8581 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8582
6917e6bb
GM
8583 * eval.c (Fmacroexpand): Doc fix.
8584
e5cd3d11
JR
85852000-08-20 Jason Rumney <jasonr@gnu.org>
8586
8587 * w32term.h (x_display_info_for_display): Remove as this function
8588 does not exist on W32.
8589
8590 * w32term.c (help_echo_window): New variable.
8591 (syms_of_w32term): staticpro it.
8592 (note_mode_line_highlight): Set it.
8593 (XTextExtents16): Removed as there is no equivalent on W32.
8594 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8595 the X way of doing this will not work for W32.
8596 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8597 (x_draw_image_foreground): Avoid drawing outside of the clip area
8598 when image doesn't have a mask.
8599 (note_mouse_highlight): Process overlays in the right order of
8600 priority. Set help_echo_window.
8601 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8602 because that's more visible for large images.
8603
8604 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8605 name to single_keymap_panes.
8606 (w32_menu_show): Set wv->title when dealing with titles.
8607 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8608
6e69ab8c
MB
86092000-08-21 Miles Bader <miles@gnu.org>
8610
8611 * minibuf.c (do_completion): Try again if we rewrite the input
8612 string, but no completion was done, so that any completion message
8613 will be correct.
8614
511bd4eb
GM
86152000-08-20 Gerd Moellmann <gerd@gnu.org>
8616
8617 * xfaces.c (lface_equal_p): Compare strings differently.
8618 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8619 (realize_tty_face): Use them.
8620 (syms_of_xfaces): Initialize new variables.
8621 (map_tty_color): New function, extracted from realize_tty_face.
8622 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8623 foreground or background color, store the new color name in the
8624 realized face; previous code trying to do this had no effect.
8625 (realize_tty_face): Use map_tty_color.
8626 (Fclear_face_cache): Set face_change_count and ensure thorough
8627 redisplay.
8628
1433385f
GM
86292000-08-19 Gerd Moellmann <gerd@gnu.org>
8630
511bd4eb
GM
8631 * undo.c (record_first_change, record_marker_adjustment): Don't
8632 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8633
419ac0a2
KH
86342000-08-18 Kenichi Handa <handa@etl.go.jp>
8635
8636 * coding.c (decode_coding_string): Set members consumed,
8637 consumed_char, produced, produced_char of *coding correctly. If
8638 decode_coding doesn't consume any byte, don't try anymore.
8639 (encode_coding_string): Likewise.
8640
7eb9e30d
GM
86412000-08-18 Gerd Moellmann <gerd@gnu.org>
8642
511bd4eb
GM
8643 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8644 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8645
8646 * xdisp.c (redisplay_internal): Compare windows for equality with
8647 EQ, instead of applying XWINDOW to something that might not
8648 be a window.
52283633 8649
dd34a735
KH
86502000-08-18 Kenichi Handa <handa@etl.go.jp>
8651
8652 * fontset.c (Finternal_char_font): Search only the selected frame
8653 for a window of the current buffer.
8654
385ff9e3
GM
86552000-08-18 Gerd Moellmann <gerd@gnu.org>
8656
511bd4eb 8657 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8658 Lisp_Objects.
8659
385ff9e3
GM
8660 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8661 second half of a HELP_EVENT is found at the start of kbd_buffer.
8662
d6abb4c7
MB
86632000-08-18 Miles Bader <miles@gnu.org>
8664
4618074a
MB
8665 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8666
d6abb4c7
MB
8667 * editfns.c (save_restriction_save): Rewrite to use markers.
8668 (save_restriction_restore): Rewrite to understand new form of data
8669 saved by save_restriction_save.
8670 (Fsave_restriction): Remove cautionary note in doc-string.
8671
a7b28523
GM
86722000-08-17 Gerd Moellmann <gerd@gnu.org>
8673
8674 * fileio.c (build_annotations): Add a comment explaining the
8675 return value of format-annotate-function. Replace a spurious call
8676 to Flength with a CONSP test. Call format-annotate-function with
8677 a fifth arg specifying how many times the function is been called
8678 in a row, to let it choose temporary buffers appropriately.
8679
03c9ed77
DL
86802000-08-17 Dave Love <fx@gnu.org>
8681
8682 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8683 declare make_temp_name twice.
8684
52283633 8685 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8686 (unreadpure): Give it an arg.
8687
8688 * unexalpha.c: Prototype fatal_unexec, mark_x,
8689 update_dynamic_symbols. Declare unexec as void.
8690
8691 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8692 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8693
8694 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8695 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8696
8697 * alloca.c: Use #error.
8698 [POINTER_TYPE]: Use it.
8699
8700 * eval.c (Fdefvar): Doc fix.
8701
8702 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8703 INITIALIZE_INTERVAL.
8704
8705 * buffer.h: Avoid DECLARE_INTERVALS.
8706
8707 * config.in: Add size_t.
8708
aae41d97
EZ
87092000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8710
8711 * w16select.c (set_clipboard_data): If there's not enough memory
8712 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8713 expects. In case of other failures, return 3.
8714 (system_error_msg): New error message.
8715 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8716 system_error_msg.
8717
65aa5e85
GM
87182000-08-16 Gerd Moellmann <gerd@gnu.org>
8719
8720 * term.c (write_glyphs): Also turn off inverse video after turning
8721 off other appearances in case TS_exit_attribute_mode is not equal
8722 to TS_end_standout_mode.
8723 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8724 with the same face.
8725 (turn_off_face): Reset standout_mode only if
8726 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8727 is equal to TS_end_standout_mode.
8728
ece23901
KH
87292000-08-16 Kenichi Handa <handa@etl.go.jp>
8730
9d7bcb2e
KH
8731 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8732 sequence at the end of the source block.
8733
ece23901
KH
8734 * ccl.c (Fccl_program_p): Docstring modified.
8735 (Fccl_execute): Likewise.
8736 (Fccl_execute_on_string): Likewise.
8737
5e30eaa2
EZ
87382000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8739
8740 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8741
290602fd
KH
87422000-08-16 Kenichi Handa <handa@etl.go.jp>
8743
8744 The following changes are mainly to fix bugs of
8745 encode/decode-coding-string failing if encoding/decoding return
8746 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8747 variable conversion_buffer.
8748
8749 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8750 decrement dst_end to avoid buffer overflow in the later call of
8751 string_as_multibyte
8752
8753 * coding.h (conversion_buffer_size, conversion_buffer)
8754 (get_conversion_buffer): Extern deleted.
8755
8756 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8757 (conversion_buffer, conversion_buffer_size): Variables deleted.
8758 (get_conversion_buffer): Function deleted.
8759 (struct conversion_buffer): New structure.
8760 (MAX_ALLOCA): New macro.
8761 (allocate_conversion_buffer): New macro.
8762 (extend_conversion_buffer, free_conversion_buffer): New functions.
8763 (ccl_coding_driver): Set coding->result.
8764 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8765 this is the last block of source.
8766 (encode_coding): Likewise. Handle the source block as the last
8767 one only when the whole source text is consumed.
8768 (decode_coding_string): Handle the case that the output buffer is
8769 too small to decode the whole source text. Use
8770 allocate_conversion_buffer, extend_conversion_buffer and
8771 free_conversion_buffer, not get_conversion_buffer.
8772 (encode_coding_string): Likewise.
8773 (init_coding): Function deleted.
52283633 8774 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8775
8776 * emacs.c (main): Don't call init_coding.
8777
52283633 8778 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8779
8780 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8781 (insert_glyphs): Likewise.
8782
8783 * w32console.c (write_glyphs): Use a locally declared
8784 conversion_buffer.
8785
b9f80d41
EZ
87862000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8787
8788 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8789 member of display_info is NULL.
8790
32dc52f7
GM
87912000-08-15 Gerd Moellmann <gerd@gnu.org>
8792
52283633 8793 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8794
32dc52f7 8795 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8796 appearances with capability `me'.
32dc52f7
GM
8797 (write_glyphs): Switch on inverse video before each face change.
8798
4eb22d33
DL
87992000-08-14 Dave Love <fx@gnu.org>
8800
8801 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8802 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8803 (lisp_free): Declare and make static.
8804
8805 * window.c: Fix embedded comment.
8806 (syms_of_window): Fix doc string.
8807
90cbf47e
GM
88082000-08-14 Gerd Moellmann <gerd@gnu.org>
8809
52283633 8810 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
8811 make sure to print `C-' before `M-', like in the manual.
8812
440fc135
GM
88132000-08-11 Gerd Moellmann <gerd@gnu.org>
8814
8815 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8816 since they aren't relocated anymore.
52283633 8817 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
8818
8819 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 8820 partially visible line which is smaller than the window's height.
440fc135 8821
6e264fad
KH
88222000-08-11 Kenichi Handa <handa@etl.go.jp>
8823
8824 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 8825 the multibyte form of eight-bit-control characters.
6e264fad
KH
8826 (Fccl_execute_on_string): Initialize ccl->multibyte.
8827
8828 * ccl.h (struct ccl_program): New member multibyte.
8829
8830 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
8831
c371f69a
KH
88322000-08-11 Kenichi Handa <handa@etl.go.jp>
8833
8834 * regex.c (regex_compile) <normal_char>: Pay attention to
8835 multibyteness.
8836 (analyse_first) <exactn>: Setup fastmap correctly for
8837 eight-bit-control characters.
8838
88392000-08-11 Kenichi Handa <handa@etl.go.jp>
8840
52283633 8841 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
8842
8843 * keyboard.c (make_lispy_event): Handle the new event type
8844 multibyte_char_keystroke.
8845
8846 * xterm.c: Include coding.h.
8847 (XTread_socket): Work around a bug of XmbLookupString. If the
8848 input is from XIM, decode it according to the current locale. In
8849 that case, generate multibyte_char_keystroke events.
8850
b8ddbe71
KH
88512000-08-11 Kenichi Handa <handa@etl.go.jp>
8852
8853 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
8854 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
8855
47589c8c
GM
88562000-08-10 Gerd Moellmann <gerd@gnu.org>
8857
8858 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
8859 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
8860 (move_it_in_display_line_to): Record iterator's ascent and descent
8861 before producing glyphs, and restore them when we know the glyph
8862 doesn't fit on the line.
8863 (move_it_to): Restructured so that it's easier to debug. If
8864 moving to a vpos, and not moving to an x or character position,
8865 stop as soon as the specified vpos is reached; don't move further
8866 into that line because that might change the computed line height.
8867 (try_cursor_movement): New function, extracted from the cursor
8868 movement branch of redisplay_window. If ending on a partially
8869 visible line, don't try to scroll if the cursor line is taller
8870 than the window.
8871 (redisplay_window): Use try_cursor_movement.
8872
8873 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8874 because that function doesn't cope with variable-height lines.
8875
8876 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8877 box cursor because that's better visible for large images.
52283633 8878
c51bacd6
MB
88792000-08-10 Miles Bader <miles@gnu.org>
8880
8881 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8882
bea56df7
GM
88832000-08-10 Gerd Moellmann <gerd@gnu.org>
8884
8885 * xdisp.c (Vmessages_buffer_name): New variable.
8886 (message_dolog): Use it.
8887 (syms_of_xdisp): Initialize it.
8888
99cd7364
EZ
88892000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8890
52283633 8891 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
8892 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8893 redundant now that keyboard.h is included.
8894
7d093d56
EZ
88952000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8896
8897 * keyboard.c (kbd_buffer_events_waiting): New function.
8898
8899 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8900
8901 * msdos.c: Include keyboard.h.
8902 (XMenuActivate): Empty no_event events from the event buffer. If
8903 no events are left after that, call clear_input_pending.
8904 (mouse_clear_clicks): New function, code moved from mouse_init.
8905 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8906 mouse driver to ``forget'' any past clicks.
8907
8908 * Makefile.in (msdos.o): Depend on keyboard.h.
8909
41e757a6
GM
89102000-08-09 Gerd Moellmann <gerd@gnu.org>
8911
8e7bd231
GM
8912 * lisp.h (input_pending): External declaration.
8913
8914 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8915
8e7bd231
GM
8916 * xdisp.c (echo_area_display): Display thoroughly if input is
8917 pending. Bind redisplay-dont-pause to t during the redisplay.
8918 in case input is pending.
8919
8920 * dispnew.c (Qredisplay_dont_pause): New variable.
8921 (syms_of_display): Initialize and staticpro it.
8922 (update_frame_1): Don't interrupt the display for pending input if
8923 redisplay_dont_pause is set.
52283633 8924
43028b7e
GM
8925 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8926
41e757a6
GM
8927 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8928
2f2174fa
KH
89292000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8930
8931 * callproc.c (Fcall_process): Terminate the unwind-protect around
8932 the post-read-conversion of coding system.
8933
0a6fd67e
MB
8934 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8935 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8936 * buffer.h (overlays_at): Update prototype.
8937 * xdisp.c (next_overlay_change): Update call to overlays_at.
8938 * xfaces.c (face_at_buffer_position): Likewise.
8939 * textprop.c (Fget_char_property): Likewise.
8940 * xterm.c (note_mouse_highlight): Likewise.
8941
0c80756e
MB
8942 * minibuf.c (do_completion): Don't consider a simple change of
8943 case as `completion'.
8944
975f250a
KR
89452000-08-08 Ken Raeburn <raeburn@gnu.org>
8946
52283633 8947 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8948 * undo.c (record_delete): Make sure last_point_position_buffer is
8949 a buffer before comparing pointers.
8950
8951 * coding.h (decode_coding_string): Declare.
8952
8953 * intervals.h (Fprevious_single_char_property_change): Declare.
8954
8955 * textprop.c (Fprevious_single_char_property_change): Don't do
8956 arithmetic directly on lisp objects.
8957
52283633 8958 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
8959
8960 * keyboard.h (menu_item_eval_property): Declare.
8961
8962 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8963 reuse as buffer name, instead of recreating (and discarding) every
8964 time a message is logged.
8965 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
8966 (current_message_1, truncate_message_1, set_message_1)
8967 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8968 (current_message, truncate_echo_area, display_echo_area)
8969 (resize_echo_area_axactly): Changed calls.
b347b3fd 8970
975f250a 8971 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 8972 Lisp object.
975f250a 8973 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 8974 must be an integer, not a Lisp object.
975f250a 8975
46dc9912
KH
89762000-08-08 Kenichi Handa <handa@etl.go.jp>
8977
8978 * charset.c (Fchar_width): Doc fix.
8979
9f6d1a6c
GM
89802000-08-08 Gerd Moellmann <gerd@gnu.org>
8981
8982 * charset.c (Fstring_width): Doc fix.
8983
ff3d9573
GM
89842000-08-07 Gerd Moellmann <gerd@gnu.org>
8985
41e757a6 8986 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
8987 line, clear ascent and descent members of the iterator structure;
8988 the height of the continued line does not affect the height of the
8989 continuation line.
8990 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8991 line taller than the window.
8992 (redisplay_window) <forced window start>: Handle case that the
8993 middle of the window is not found in any row.
8994 (dump_glyph_row): Show more information.
8995 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8996 first text line in a glyph matrix.
8997
8998 * xterm.c (x_draw_image_foreground): Avoid drawing outside
8999 of the clip area when image doesn't have a mask.
9000
70fc58b3
GM
9001 * fns.c (sweep_weak_table): Fix survival conditions for
9002 key-or-value and key-and-value weakness.
9003
9004 * .gdbinit (xhashtable): New command.
9005
ac0e96ee
GM
9006 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9007 tables out of the list of all weak hash tables.
9008
ff3d9573
GM
9009 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9010 a new buffer is created, make sure echo_area_buffer[] references
9011 the new buffer.
9012
e0d8827b
EZ
90132000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9014
9015 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9016 the doc string.
9017
c6f35378
KH
90182000-08-07 Kenichi Handa <handa@etl.go.jp>
9019
9020 * syntax.c (skip_chars): Fix previous change. Make the handling
9021 of unibyte string consistent with that of regex search.
9022
1fd4c450
GM
90232000-08-05 Gerd Moellmann <gerd@gnu.org>
9024
e49aa397
GM
9025 * xmenu.c (popup_get_selection): Use xfree instead of free.
9026
9027 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9028
9029 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9030
9031 * callproc.c (child_setup): Use xfree instead of free.
9032
9033 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9034 instead of malloc.
9035 (run_mac_command, closedir): Use `xfree' instead of `free'.
9036
9037 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9038
9039 * eval.c (error): Use xfree instead of free.
9040
1fd4c450
GM
9041 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9042
9043 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9044 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9045
82d497fc
KH
90462000-08-05 Kenichi Handa <handa@etl.go.jp>
9047
9048 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9049 conversion.
9050
59f953a2
NF
90512000-08-04 Noah Friedman <friedman@splode.com>
9052
9053 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9054 docstring.
9055
688351f2
GM
90562000-08-04 Gerd Moellmann <gerd@gnu.org>
9057
9058 * syntax.c (skip_chars): Fix typo in error message.
9059
2dad51cc
AS
90602000-08-04 Andreas Schwab <schwab@suse.de>
9061
9062 * m/ia64.h: Moved from s/ia64.h.
9063
99bb2c60
KH
90642000-08-04 Kenichi Handa <handa@etl.go.jp>
9065
082a1df2
KH
9066 * process.c (read_process_output): Big simplification. Handle
9067 composition and post-read-conversion of coding system correctly.
9068 (send_process): Handle composition correctly.
9069
9070 * callproc.c (Fcall_process): Handle post-read-conversion of
9071 coding system if any.
9072
99bb2c60
KH
9073 * coding.c (decode_coding_iso2022): More strict check for handling
9074 single shifting.
082a1df2
KH
9075 (coding_restore_composition): Pay attention to the case that
9076 cmp_data is not set properly (because of invalid code in the
9077 source text).
9078 (run_pre_post_conversion_on_str): Include text properties in the
9079 resulting string.
9080 (decode_coding_string): Set members of coding correctly.
99bb2c60 9081
f4988be7
GM
90822000-08-03 Gerd Moellmann <gerd@gnu.org>
9083
9084 * s/ia64.h: New file.
9085
9086 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9087 Use NULL instead of 0 at the end of variable argument list of
9088 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9089 sizeof (int) < sizeof (void *).
9090
9091 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9092 of variable argument lists of XtVaGetValues and XtVaSetValues.
9093
9094 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9095 variable argument lists of XtVaGetValues and XtVaSetValues.
9096
ead53494
GM
90972000-08-02 Gerd Moellmann <gerd@gnu.org>
9098
9099 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9100 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9101
9102 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9103 prototype.
9104
9105 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9106 in call to Fsingle_key_description.
9107
9108 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9109 Callers changed.
9110
91112000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9112
9113 * window.c (display_buffer_reuse_frames): New variable.
9114 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9115 frames displaying BUFFER.
52283633 9116 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9117
10b0f752
MB
91182000-08-01 Miles Bader <miles@gnu.org>
9119
9120 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9121 when to constrain NEW_POS (they were pretty screwed up before).
9122
16425c4a
EZ
91232000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9124
9125 * msdos.c (run_msdos_command): Save and restore the master
9126 environment, for the case that child_setup signals an error.
9127 When mirroring slashes in DOS shell commands, don't fail when
9128 argv[2] has embedded blanks.
da288c14
EZ
9129 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9130 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9131 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9132
9133 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9134 using alloca; free it after run_msdos_command returns.
9135
27f73852
DL
91362000-07-27 Dave Love <fx@gnu.org>
9137
52283633
SM
9138 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9139 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9140
9141 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9142
c0261b5e
EZ
91432000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9144
9145 * editfns.c (lisp_time_argument): Fix last change.
9146
b548072f
GM
91472000-07-27 Gerd Moellmann <gerd@gnu.org>
9148
3ab82477
GM
9149 * fns.c (Fdelete): Make it work on vectors and strings in addition
9150 to lists.
9151
b548072f
GM
9152 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9153 (syms_of_fns): Initialize new variables.
52283633 9154 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9155 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9156 weakness, with t meaning the same as `key-and-value'.
9157
91ae8751
KH
91582000-07-27 Kenichi Handa <handa@etl.go.jp>
9159
9160 * coding.h (struct coding_system): Member safe_charset deleted.
9161
9162 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9163 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9164 New variables.
91ae8751
KH
9165 (coding_safe_chars): New function.
9166 (CODING_SAFE_CHAR_P): New macro.
9167 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9168 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9169 (detect_coding_iso2022): New local variable safe_chars.
9170 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9171 safe_charsets member of the coding system.
9172 (decode_coding_iso2022): New local variable safe_chars.
9173 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9174 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9175 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9176 (ENCODE_UNSAFE_CHARACTER): New macro.
9177 (encode_coding_iso2022): New local variable safe_chars. Check
9178 unsafe chars.
9179 (setup_coding_system): Delete the code to initialize
9180 coding->safe_charses
9181 (intersection, find_safe_codings): New functions.
9182 (Ffind_coding_systems_region_internal): New function.
9183 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9184 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9185 variable and initialize it.
9186
9187 * fns.c (char_table_ref_and_index): New function.
9188
9189 * lisp.h (char_table_ref_and_index): Add prototype.
9190
34a7a267
SS
91912000-07-26 Sam Steingold <sds@gnu.org>
9192
9193 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9194 (Ffloat_time): New built-in Lisp function.
34a7a267 9195
a95cb10a
GM
91962000-07-26 Gerd Moellmann <gerd@gnu.org>
9197
3353ef5a
GM
9198 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9199 for the character code.
9200
9201 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9202 GNU/Linux.
9203
a95cb10a
GM
9204 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9205 if called for a popup menu.
9206 (xmenu_show): Store help string in widget values.
9207
b4a12321
DL
92082000-07-26 Dave Love <fx@gnu.org>
9209
9210 * syswait.h: Move some definitions.
9211 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9212 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9213 perspicuous definitions.
9214 (WTERMSIG): Fix bit pattern used.
9215
13f5ad37
KH
92162000-07-26 Kenichi Handa <handa@etl.go.jp>
9217
9218 * print.c (print_object): If vector printing is truncated, print
9219 "..." to indicate it as well as the case of list printing.
9220
070fe99c
GM
92212000-07-25 Gerd Moellmann <gerd@gnu.org>
9222
969065c3
GM
9223 * xdisp.c (next_element_from_display_vector): Improve comments.
9224
9225 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9226 for the character code, and the rest for the face id as in 20.x.
9227 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9228
9229 * window.c (window_display_table): Cleaned up.
9230
070fe99c
GM
9231 * syntax.c (Fforward_word): Add last arg nil in call of
9232 Fconstrain_to_field.
9233
bad77ef7
EZ
92342000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9235
969065c3 9236 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9237 identical but for the letter-case, don't call
9238 barf_or_query_if_file_exists.
bad77ef7 9239
c28da489
MB
92402000-07-25 Miles Bader <miles@gnu.org>
9241
9242 * editfns.c (find_field): Honor special `boundary' fields.
9243 (Qboundary): New variables.
9244 (syms_of_editfns): Initialize Qboundary.
9245 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9246 Use scan_buffer instead of find_before_next_newline, because it
9247 allows us to detect the boundary case where there's a newline at
9248 the search limit.
9249 * lisp.h (Fconstrain_to_field): Update external declaration.
9250
e3c31fd5
GM
92512000-07-24 Gerd Moellmann <gerd@gnu.org>
9252
9253 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9254 if that is nil.
c28da489 9255
c66c29a2
DL
92562000-07-24 Dave Love <fx@gnu.org>
9257
9258 * s/sunos4-0.h, s/sol2.h:
9259 (LIBS_TERMCAP): Move from m/sparc.h.
9260
9261 * m/sparc.h (TERMINFO): Moved to system files (probably only
9262 relevant for sunos4 judging by its vintage).
9263 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9264 __arch64__.
9265
fbe0a958
EZ
92662000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9267
9268 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9269 name to single_keymap_panes.
9270
7d88e5c9
AS
92712000-07-24 Andreas Schwab <schwab@suse.de>
9272
9273 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9274
e024b101
GM
92752000-07-24 Gerd Moellmann <gerd@gnu.org>
9276
9277 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9278 parameters instead of using int parameters. Expect FN to accept
9279 EMACS_INT parameters.
9280 (display_echo_area, resize_echo_area_axactly, current_message)
9281 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9282 with new argument list.
9283 (resize_mini_window_1): New callback function.
9284 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9285 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9286
25c1a9ce
KH
92872000-07-24 Kenichi Handa <handa@etl.go.jp>
9288
9289 * fontset.c (fontset_ref): Remove INLINE declaration.
9290 (fontset_ref_via_base): Likewise.
9291 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9292 to downcase.
9293
7f987ac0
EZ
92942000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9295
9296 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9297 correct order of priority. If help echo was found in an overlay,
9298 use that overlay as the object in which the help echo was found.
9299
e2db3069
MB
93002000-07-22 Miles Bader <miles@gnu.org>
9301
9302 * textprop.c (Fprevious_single_char_property_change): The initial
9303 property value should be from the position preceding POSITION, not
9304 following it.
9305
5e3203e4
EZ
93062000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9307
9308 * coding.c (syms_of_coding): Doc fix for
9309 inhibit-iso-escape-detection.
9310
62145073
GM
93112000-07-21 Gerd Moellmann <gerd@gnu.org>
9312
c20aeb83
GM
9313 * xterm.c (note_mouse_highlight): Process overlays in the right
9314 order of priority.
34a7a267 9315
743934db
GM
9316 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9317
9318 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9319 overlay, use that overlay as the object in which the help was found.
743934db 9320
d1dc7e43 9321 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9322
62145073
GM
9323 * window.c (foreach_window): Instead of a fake variable argument
9324 list, take one USER_DATA argument.
9325 (foreach_window_1): Likewise, and call callback functions with two
9326 args, the window and USER_DATA.
9327 (struct check_window_data): New struct.
9328 (check_window_containing): Use it.
9329 (window_from_coordinates): Set up a struct check_window_data for
9330 foreach_window.
9331 (add_window_to_list, freeze_window_start): Change parameters
9332 according to new calling convention.
9333
9334 * window.h (foreach_window): Change prototype.
9335
9336 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9337
93382000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9339
9340 * xmenu.c (menu_help_callback): Call show_help_echo with
9341 additional arguments OBJECT and POS.
9342
11270583
KH
93432000-07-21 Kenichi Handa <handa@etl.go.jp>
9344
07b14857
KH
9345 * data.c (Faset): Allow storing any multibyte character in a
9346 string. Convert unibyte string to multibyte if necessary.
9347
11270583
KH
9348 * xfns.c (x_encode_text): New function.
9349 (x_set_name): Use x_encode_text.
9350 (x_set_title): Likewise.
9351
9352 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9353
9354 * xterm.h (x_encode_text): Add prototype.
9355
bc75b4fd
DL
93562000-07-20 Dave Love <fx@gnu.org>
9357
9358 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9359 xfree, not free.
9360
48c14970
EZ
93612000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9362
9363 * msdos.c (help_echo_window): New variable.
9364 (syms_of_msdos): Initialize and staticpro it.
9365 (IT_note_mode_line_highlight): Set help_echo_window.
9366 (IT_note_mouse_highlight): Ditto.
9367 (dos_rawgetc): Store help_echo_window in the second event produced
9368 for HELP_EVENTs.
9369
9370 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9371 Record the object that generated the help echo and the position of
9372 that object in help_echo_object and help_echo_pos. Record that
9373 some glyphs in a row are displayed in mouse-face.
9374 (IT_update_begin): Don't clear mouse highlight unless one of the
9375 enabled glyph rows is marked as being displayed in mouse-face.
9376 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9377 and position recorded in help_echo_object and help_echo_pos to the
9378 event queue.
9379 (IT_menu_display): Accept a new argument PN: the pane number of
9380 the current menu pane. Record the pane number and the item
9381 number of the item which has associated help string.
9382 (XMenuActivate): Update the prototype for help_callback in
9383 function declaration. Call IT_menu_display with the current menu
9384 pane number as an additional argument. Call help_callback with
9385 two additional arguments: the pane number and the item number of
9386 the menu item associated with the help text.
9387 (help_echo_object, help_echo_pos): New variables.
9388 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9389
9390 * msdos.h (XMenuActivate): Update prototype.
9391
4279296d
GM
93922000-07-19 Gerd Moellmann <gerd@gnu.org>
9393
47db06aa
GM
9394 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9395 Add some more prototypes.
9396
9397 * xterm.c, xterm.h: Add some more prototypes.
9398
9399 * lisp.h (Fnext_single_char_property_change): Add prototype.
9400
9401 * dispnew.c (direct_output_for_insert): Remove confusing
9402 outer local variable mouse_face_overwritten_p.
9403 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9404
4279296d
GM
9405 * alloc.c (allocate_string_data): Don't copy old string contents.
9406
670acd62
KH
94072000-07-19 Kenichi Handa <handa@etl.go.jp>
9408
9409 * coding.c (code_convert_region): Delete text properties before
9410 shrinking the conversion region.
9411
7cea38bc
GM
94122000-07-18 Gerd Moellmann <gerd@gnu.org>
9413
dc1cac59
GM
9414 * dispnew.c (update_text_area): Write the whole row if it
9415 has mouse-face in it.
9416
85a8aca9
GM
9417 * xfaces.c (face-alternative-font-family-alist): Remove
9418 DEFVAR_LISP; staticpro instead.
9419
34a7a267 9420 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9421 new arguments.
9422
9423 * keyboard.c (show_help_echo): Add parameter WINDOW.
9424 (read_char): Call show_help_echo with window extracted from Lisp
9425 help event.
9426 (gen_help_event): Add parameter WINDOW.
9427
9428 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9429
9430 * xterm.c (help_echo_window): New variable.
52283633 9431 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9432 (XTread_socket): Pass help_echo_window to gen_help_event.
9433 (syms_of_xterm): Initialize and staticpro help_echo_window.
9434
f8276b77
DL
94352000-07-18 Dave Love <fx@gnu.org>
9436
52283633 9437 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9438
088831a6
GM
94392000-07-18 Gerd Moellmann <gerd@gnu.org>
9440
3d6cd763
GM
9441 * alloc.c (allocate_string_data): If string had already data
9442 assigned, copy old contents to new string data.
9443
9444 * coding.c (syms_of_coding): Fix typo in spelling of variable
9445 `inhibit-iso-escape-detection'.
9446
088831a6
GM
9447 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9448
9449 * Makefile.in: Add dependencies on dispextern.h.
9450 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9451 `free'; both can conflict with system header files.
9452
bc8a8d55
KH
94532000-07-18 Kenichi Handa <handa@etl.go.jp>
9454
9455 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9456 undefined.
9457
069f5950
DL
94582000-07-18 Dave Love <fx@gnu.org>
9459
9460 * window.c (Fwindow_list): Declare arg `window'.
9461
aa96c820
KH
94622000-07-18 Kenichi Handa <handa@etl.go.jp>
9463
9464 * coding.c (setup_coding_system): Don't override the explicitly
9465 specified designations.
9466
06be8d32
MB
94672000-07-15 Miles Bader <miles@gnu.org>
9468
9469 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9470 from `text_property_eq' and `text_property_stickiness', respectively.
9471 (find_field, Fconstrain_to_field, char_property_eq)
9472 (char_property_stickiness): Changed to call char-property functions
9473 instead of text-property-only ones.
9474
9475 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9476 `next_single_char_property_change'). Do more error checking, and
9477 cleanup limit behavior.
9478 (Fprevious_single_char_property_change): New function.
9479 (syms_of_textprop): Initialize new subrs.
9480
9481 * xdisp.c (display_prop_end, invisible_text_between_p):
9482 Call Fnext_single_char_property_change instead of
9483 next_single_char_property_change.
9484
3fddcdc3
JR
94852000-07-15 Jason Rumney <jasonr@gnu.org>
9486
9487 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9488 after menu is finished with.
9489 (add_menu_item): Only consider wv->title as a menu title.
9490 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9491
9492 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9493 null title.
9494 (FONT_REGEXP): Remove unused macro, and its sub-components.
9495 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9496
9497 * w32term.c (help_echo_object, help_echo_pos): New variables.
9498 (note_mode_line_highlight): Store additional information about the
9499 help-echo in help_echo_object and help_echo_pos. Check both
9500 `local-map' and `keymap' properties for changing the cursor
9501 (note_mouse_highlight): Store additional information about the
9502 help-echo in help_echo_object and help_echo_pos.
9503 (note_tool_bar_highlight): Set help_echo_object to nil and
9504 help_echo_pos to -1.
9505 (w32_read_socket): Use gen_help_event instead of filling
9506 input_events manually.
9507 (syms_of_w32term): Staticpro help_echo_object.
9508 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9509 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9510 (x_clear_mouse_face): New function.
9511 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9512 (x_update_window_begin): No need to turn off the mouse
9513 highlight here.
9514 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9515 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9516 (x_fill_stretch_glyph_string): Consume runs of stretch
9517 glyphs instead of a single one.
9518 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9519 with new argument list.
9520 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9521 (x_append_glyph, x_append_composite_glyph)
9522 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9523 changes in struct glyph starting 1999-12-27. See comments for
9524 xterm.c on 2000-07-05.
9525
178c5d9c
SS
95262000-07-14 Sam Steingold <sds@gnu.org>
9527
9528 * xfaces.c (realize_x_face): Fix the last patch:
9529 check `default_face' before dereferencing.
9530
6fe533f6
DL
95312000-07-14 Dave Love <fx@gnu.org>
9532
069f5950 9533 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9534
dd7b81cf
KH
95352000-07-14 Kenichi Handa <handa@etl.go.jp>
9536
0693904a 9537 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9538 default_face's fontset, not using the default fontset.
0693904a 9539
dd7b81cf
KH
9540 * coding.c (inhibit_iso_escape_detection): New variable.
9541 (syms_of_coding): Make it a Lisp variable.
9542 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9543 nonzero, ignore ISO2022's escape sequence.
9544
d5aa31d8
GM
95452000-07-14 Gerd Moellmann <gerd@gnu.org>
9546
e5acf0ca
GM
9547 * alloca.c (malloc) [emacs]: Define as xmalloc.
9548
bd23a692
GM
9549 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9550 use that instead of the mouse position. Add parameters DX and DY.
9551
9552 * dispextern.h (Fx_show_tip): Adjust number of parameters
9553 in prototype.
9554
9662da0b
GM
9555 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9556 if HELP is a function, call it with OBJECT and POS as parameters
9557 to get the help to display.
9558 (gen_help_event, kbd_buffer_store_help_event): New functions.
9559 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9560 (read_char): Call show_help_echo with new parameters.
9561
178c5d9c 9562 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9563 Add prototypes.
9564
9565 * xterm.c (help_echo_object, help_echo_pos): New variables.
9566 (note_mode_line_highlight): Store additional information about the
9567 help-echo in help_echo_object and help_echo_pos. Check both
9568 `local-map' and `keymap' properties for changing the cursor
9569 (note_mouse_highlight): Store additional information about the
9570 help-echo in help_echo_object and help_echo_pos.
9571 (note_tool_bar_highlight): Set help_echo_object to nil and
9572 help_echo_pos to -1.
9573 (XTread_socket): Use gen_help_event instead of filling
9574 input_events manually.
9575 (syms_of_xterm): Staticpro help_echo_object.
9576
9577 * xmenu.c (menu_highlight_callback): Use
9578 kbd_buffer_store_help_event instead of setting up and input_event
9579 structure manually.
9580
9581 * xdisp.c (eval_form): GCPRO argument sexpr.
9582 (call_function): New function.
9583 (handle_single_display_prop): Use call_function and FUNCTIONP
9584 instead of checking whether if font_height is a symbol and
9585 using eval_form.
9586
9587 * eval.c (internal_condition_case_2): New function.
9588
9589 * lisp.h (FUNCTIONP): New macro.
9590 (internal_condition_case_2, call_function): Add prototypes.
9591
d5aa31d8
GM
9592 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9593 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9594 Always set `arg' member of input_events.
9595 (construct_menu_click): Unused function removed.
9596
9597 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9598
9599 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9600 (construct_drag_n_drop, x_scroll_bar_handle_click)
9601 (w32_read_socket): Always set `arg' member of input_events.
9602
9603 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9604
9605 * lisp.h (eval_form): Add prototype.
9606
9607 * xdisp.c (eval_form): Make it externally visible.
9608
0f1a9b23
GM
96092000-07-13 Gerd Moellmann <gerd@gnu.org>
9610
9611 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9612 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9613 consing. For prefix events, store the frame in the `arg' slot of
9614 the event, otherwise store the key there.
9615 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9616 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9617
9618 * xmenu.c (menu_highlight_callback): Store help string in the
9619 `arg' member of the input event; don't cons.
9620 (menubar_selection_callback): Use the `arg' slot of input events
9621 to queue additional information, instead of consing.
9622
9623 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9624
9625 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9626 TOOL_BAR_EVENTs.
9627 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9628
9629 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9630 input events to queue additional information, instead of consing.
9631
9632 * keyboard.c (kbd_buffer_gcpro): Renamed from
9633 kbd_buffer_frame_or_window. Now used for all Lisp objects
9634 referenced from the input queue.
9635 (kbd_buffer_store_event): Always use structure assignment for
9636 copying input events. Record all Lisp objects referenced from
9637 events in kbd_buffer_gcpro.
9638 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9639 differently from input events. Test for prefix menu_bar_events
9640 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9641 event in kbd_buffer_gcpro to nil.
9642 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9643 frame_or_window is equal to its arg member as prefix events.
9644 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9645 used by an input event to nil.
9646 (init_keyboard): Use two times the size of the input queue
9647 for kbd_buffer_gcpro.
9648 (syms_of_keyboard): Likewise.
9649
52283633
SM
9650 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9651 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9652
9653 * termhooks.h (struct input_event): Add member `arg'.
9654 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9655 (USER_SIGNAL_EVENT): Renamed from user_signal.
9656
9657 * xfaces.c (ASET): Remove definition.
9658
9659 * lisp.h (AREF, ASET, ASIZE): New macros.
9660
9661 * fontset.c (AREF, ASIZE): Remove definitions.
9662
9663 * fns.c (AREF): Remove definition.
178c5d9c 9664
0f1a9b23
GM
9665 * composite.c (AREF): Remove definition.
9666
712eaef2
GM
96672000-07-12 Gerd Moellmann <gerd@gnu.org>
9668
d8ee7803
GM
9669 * dispnew.c (redraw_overlapped_rows): Add missing local.
9670 (scrolling_window): Remove debug code.
9671
712eaef2
GM
9672 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9673 Before scrolling, turn off a mouse-highlight in the window
9674 being scrolled.
9675
9676 * xterm.c (x_update_window_end): Add parameter
9677 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9678 redisplay in XTframe_up_to_date.
9679 (x_clear_mouse_face): New function.
9680 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9681
9682 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9683 current glyph row.
9684 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9685 it when any row is written to that contains glyphs highlighted in
9686 mouse-face.
9687 (update_window): Call the window update end hook with new
9688 parameter MOUSE_FACE_OVERWRITTEN_P.
9689 (direct_output_for_insert): Give up if row contains mouse-face.
9690
9691 * dispextern.h (struct redisplay_interface): Add parameter
9692 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9693 (clear_mouse_face): New function pointer member.
9694
02010917
SM
96952000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9696
9697 * syntax.c (back_comment): Use one switch rather than a few `if's.
9698 Obey open_paren_in_column_0_is_defun_start.
9699 When reverting to the `slow' method, try to nicely handle the case
9700 of nested comments by checking that the comment-starter we found
9701 does indeed match the comment-ender.
9702 (scan_sexps_forward, scan_sexps_forward):
9703 Ignore excessive opening parenthesis rather than throwing an error.
9704
d76c03ea
GM
97052000-07-11 Gerd Moellmann <gerd@gnu.org>
9706
9707 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9708 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9709
9710 * dispnew.c (direct_output_forward_char): Give up if currently
9711 displaying a message instead of the minibuffer contents.
9712
9713 * xterm.c (x_update_window_begin): No need to turn off the mouse
9714 highlight here.
9715 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9716 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9717
9718 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9719 compare the mouse_face_p flags of both rows.
9720
9721 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9722
d55ead18
EZ
97232000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9724
9725 * keyboard.c (show_help_echo): Accept additional parameter
9726 ok_to_overwrite_keystroke_echo.
9727 (read_char): Call show_help_echo with a zero
9728 ok_to_overwrite_keystroke_echo argument.
52283633 9729 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9730 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9731 ok_to_overwrite_keystroke_echo argument.
9732 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9733 non-zero ok_to_overwrite_keystroke_echo argument.
9734
df75b1a3
GM
97352000-07-10 Gerd Moellmann <gerd@gnu.org>
9736
4b92c49a
GM
9737 * xdisp.c (try_window_id): If changes are all below what is
9738 displayed in the window, and point is in the window, we still
9739 might have to find point on the display.
9740
9741 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9742 glyphs instead of a single one.
9743 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9744 with new argument list.
9745 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9746
df75b1a3
GM
9747 * keymap.c (get_keymap_1): Add comment that this function can GC.
9748 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9749 comment that functions can GC.
9750 (Fset_keymap_parent): GCPRO arg KEYMAP.
9751
4314cf3e
EZ
97522000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9753
9754 * msdos.c (XMenuActivate): After exiting the menu, restore the
9755 echo area message and erase it.
9756
ab49ce15
KH
97572000-07-10 Kenichi Handa <handa@etl.go.jp>
9758
9759 * fontset.c (Ffontset_info): Make the return value more compatible
9760 with that of Emacs 20.
9761
090a072f
GM
97622000-07-07 Gerd Moellmann <gerd@gnu.org>
9763
9764 * eval.c (Fsignal): Handle case that backtrace_list is null.
9765
f92de4a6
KH
97662000-07-07 Kenichi Handa <handa@etl.go.jp>
9767
9768 * ccl.c (Fccl_execute): Typo fixed.
9769
dd8888a1
GM
97702000-07-06 Gerd Moellmann <gerd@gnu.org>
9771
e5c81191 9772 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9773
dd8888a1
GM
9774 * window.c (Fwindow_list): Reverse list at the end.
9775 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9776 means allow windows on OWINDOW's frame, only.
9777 (window_loop): Simplified; use Fwindow_list.
9778
9779 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9780
485266d0
GM
97812000-07-05 Gerd Moellmann <gerd@gnu.org>
9782
9783 * xterm.c (XTread_socket): Increment handling_signal at the start,
9784 decrement it at the end.
9785
9786 * eval.c (handling_signal): New variable.
9787 (Fsignal): Abort if handling_signal is non-zero.
9788
9789 * lisp.h (handling_signal): External declaration.
178c5d9c 9790
485266d0
GM
9791 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9792
80fcd514
KR
97932000-07-05 Ken Raeburn <raeburn@gnu.org>
9794
9795 Sound support for NetBSD through "Linux emulation" support:
9796 * config.in (HAVE_SOUNDCARD_H): Undef.
9797 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9798 * Makefile.in (LIBSOUND): New variable.
9799 (LIBES): Include it.
52283633
SM
9800 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9801 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9802 (vox_open): Use DEFAULT_SOUND_DEVICE.
9803 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9804
d5c5cddd
GM
98052000-07-05 Gerd Moellmann <gerd@gnu.org>
9806
9807 * print.c (print_error_message): If Vsignaling_function is set,
9808 show it in *Messages*.
9809
9810 * lisp.h (Vsignaling_function): External declaration.
9811
9812 * eval.c (Vsignaling_function): New variable.
9813 (Fsignal): Compute it.
9814 (syms_of_eval): Staticpro it.
9815
65171e3a
DL
98162000-07-05 Dave Love <fx@gnu.org>
9817
9818 * syswait.h: Use the autoconf recommended approach. Old code
9819 #if'd out in case we need to revert.
9820
178c5d9c 9821 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 9822
e2c46326
AI
98232000-07-05 Andrew Innes <andrewi@gnu.org>
9824
9825 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
9826 when non-NULL instead of __morecore, to take account of buffer
9827 memory. This also solves a problem with spurious memory warnings
9828 on Windows.
9829
9830 * ralloc.c: Make real_morecore non-static.
9831
9832 * eval.c (internal_condition_case): Comment out abort if
9833 interrupt_input_blocked is not zero.
9834
9835 * makefile.nt: Add support for `bootstrap' and related targets.
9836 Include minimal debug info in emacs.exe in release build.
9837 Remove all dependencies on lisp.h, and fixup some others.
9838
9839 * w32.c (init_environment): Install code from 20.7 for providing
9840 default values for environment variables, based on the
9841 executable's own location.
52283633 9842 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
9843 (sys_socket): Install socket inheritance bug fix from 20.7.
9844
9845 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
9846 here via blockinput.h).
9847
a027a91b
SM
98482000-07-05 Stefan Monnier <monnier@cs.yale.edu>
9849
e4b31601
SM
9850 * w32menu.c (w32_menu_display_help):
9851 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
9852
9853 * keyboard.h (show_help_echo): Declare.
9854
9855 * keyboard.c (show_help_echo): New function, extracted from read_char.
9856 Feval its `msg' argument if it's a cons cell.
9857 (read_char): Use it.
4cf8d9d5 9858 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 9859
178c5d9c 9860 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 9861 (note_tool_bar_highlight, XTread_socket):
178c5d9c 9862 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
9863 (dos_rawgetc):
9864 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9865 (note_tool_bar_highlight, w32_read_socket):
9866 Do not gratuitously ignore non-string `help-echo' properties.
9867
88d75730
GM
98682000-07-05 Gerd Moellmann <gerd@gnu.org>
9869
969f7e79
GM
9870 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9871
71201b00
GM
9872 * window.c (delete_all_subwindows): Reset Vwindow_list.
9873
88d75730
GM
9874 * xterm.c (x_append_glyph, x_append_composite_glyph)
9875 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9876 changes in struct glyph starting 1999-12-27. Some bit-fields of
9877 struct glyph were not set, which made glyphs unequal when compared
9878 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9879 effects were the result. This also depended on the contents of
9880 memory returned by xmalloc. If flickering happens again, activate
9881 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9882 gone with that, chances are that it is caused by something similar.
88d75730
GM
9883
9884 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9885
88d75730
GM
9886 * dispextern.h: Add some comments.
9887
9888 * window.c (add_window_to_list): Add parameter LIST.
9889 (window_list): Order list so that, for each frame, windows are
9890 in canonical order, and so that frames appear in the list in
9891 the order given by Vframe_list.
9892 (next_window): Reverse the handling of NEXT_P.
9893
53654733
GM
98942000-07-04 Gerd Moellmann <gerd@gnu.org>
9895
87efd256
GM
9896 * window.c (Vwindow_list): New variable.
9897 (make_window, delete_window): Set Vwindow_list to nil.
9898 (check_window_containing): New function.
9899 (window_from_coordinates): Rewritten.
9900 (add_window_to_list, window_list, candidate_window_p)
9901 (decode_next_window_args, next_window): New functions.
52283633 9902 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
9903 (Fwindow_list): New function.
9904 (Fother_window): Cleaned up.
9905 (foreach_window): Add a longer "variable argument list". Let
9906 callback function return 0 to indicate that cycling over windows
9907 should stop.
9908 (foreach_window_1): Likewise.
9909 (freeze_window_start): Return int.
9910 (init_window): New function.
9911 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9912
9913 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9914 input_event with bzero.
9915 (main): Call init_window.
9916
53654733
GM
9917 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9918 a menu filter.
9919
4a8c194f
KH
99202000-07-04 Kenichi Handa <handa@etl.go.jp>
9921
9922 * composite.h (make_composition_value_copy): Extern it.
9923
9924 * composite.c (make_composition_value_copy): New function.
9925
9926 * editfns.c (Fformat): While copying text properties, make each
9927 composition property value a copy.
9928
9929 * fns.c (concat): While copying text properties, make each
9930 composition property value a copy.
9931
831a6cb0
GM
99322000-07-03 Gerd Moellmann <gerd@gnu.org>
9933
2f516940
GM
9934 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9935
178c5d9c 9936 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9937 marked already.
9938
831a6cb0
GM
9939 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9940 include those frames as candidates which have their focus
9941 redirected to the minibuffer frame.
9942
d9c4f922
SM
99432000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9944
9945 * fns.c (Fputhash): Return `value' rather than nil.
9946
3780bc22
GM
99472000-06-30 Gerd Moellmann <gerd@gnu.org>
9948
97d176db
GM
9949 * frame.c (next_frame): Don't check focus redirection in case
9950 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9951 unless their focus is redirected, which contradicts the
9952 specification of next-frame, and leads to infinite loops in
9953 certain situations when cycling through windows with next-window.
9954
dca9961d
KH
99552000-06-30 Kenichi Handa <handa@etl.go.jp>
9956
9957 * coding.c (code_convert_region): Even if the length of text is
9958 zero, try to convert it if coding->type is coding_type_ccl.
9959 (decode_coding_string, encode_coding_string): Likewise.
9960
d5483ab1
GM
99612000-06-28 Gerd Moellmann <gerd@gnu.org>
9962
af5c25e1 9963 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 9964 the display if windows_or_buffers_changed.
af5c25e1
GM
9965
9966 * dispnew.c (struct row_entry): New structure.
9967 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9968 (row_table_size, old_lines, new_lines, old_lines_size)
9969 (new_lines_size, run_pool, runs_size, runs): New variables.
9970 (add_row_entry): New function.
9971 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 9972 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
9973 holding them in local variables. Use a larger hash table whose
9974 size depends on glyph matrix sizes. Don't use bzero to clear the
9975 hash table; instead, clear used slots only.
9976
9977 * fns.c (next_almost_prime): Make it externally visible.
9978
9979 * lisp.h (next_almost_prime): Add prototype.
9980
d5483ab1
GM
9981 * s/isc4-0.h (sigunblock): Define.
9982
9983 * s/sco5.h (sigunblock): Define.
9984
93e40f40
DL
99852000-06-27 Dave Love <fx@gnu.org>
9986
9987 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9988 (moved to osf5-0.h).
9989 [!NOT_C_CODE]: Protect string.h stuff.
9990
9991 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9992 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9993
3c4b7685
GM
99942000-06-27 Gerd Moellmann <gerd@gnu.org>
9995
97d176db 9996 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
9997 below the last line from the needed window height.
9998
32cad0aa
SM
99992000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10000
10001 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10002 (Fwidget_get): Use it.
10003 (syms_of_fns): Defsubr it.
10004
2c69ced2
GM
100052000-06-26 Gerd Moellmann <gerd@gnu.org>
10006
178c5d9c 10007 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10008 display info for XIM.
10009 (xim_open_dpy): Likewise.
10010 (xim_close_dpy): Don't free the display info's XIM.
10011
10012 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10013
10014 * config.in (USE_XIM): New define.
10015
3fc720e4
GM
10016 * keymap.c (get_keyelt): For menu-items containing a `:filter
10017 FILTER', apply FILTER to the menu-item's definition to get the
10018 real definition to use.
10019
10020 * lisp.h (QCfilter): External declaration.
10021
2c69ced2
GM
10022 * xfns.c (Fimage_size): New function.
10023 (syms_of_xfns): Defsubr it.
10024
f978b2a2
AS
100252000-06-26 Andreas Schwab <schwab@suse.de>
10026
10027 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10028 Fstring_as_unibyte.
10029
94cc7892
DL
100302000-06-25 Dave Love <fx@gnu.org>
10031
52283633 10032 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10033
10034 * Makefile.in (blockinput.h): Depend on atimer.h.
10035 (atimer.h): Depend on systime.h.
10036
52283633 10037 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10038
52283633 10039 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10040
10041 * lisp.h (swap_in_global_binding): Declare.
10042
b8c24556
KR
100432000-06-24 Ken Raeburn <raeburn@gnu.org>
10044
10045 * process.c (Fopen_network_stream): Turn off atimers for duration
10046 of call to connect. (Patch from Gerd.)
10047
8cf8560b
DL
100482000-06-23 Dave Love <fx@gnu.org>
10049
511c7541
DL
10050 * ralloc.c: Maybe include unistd.h
10051
8cf8560b
DL
10052 * emacs.c (setgrp): Undefine before defining.
10053 (malloc_warning, set_time_zone_rule, index): Prototype.
10054
10055 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10056 HAVE_STRUCT_TIMEZONE.
10057
10058 * s/osf1.h: Move string.h hack here from alpha.h and make it
10059 conditional.
10060 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10061 _XOPEN_SOURCE.
10062 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10063 (SOCKLEN_TYPE): Don't define.
10064
10065 * m/alpha.h: Remove string.h hack.
10066
10067 * s/osf5-0.h: New file.
10068
10069 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10070 include time.h, done by systime.h.
10071 [__FreeBSD__]: Remove redundant includes.
10072
3fc720e4 10073 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10074 (delete_temp_file): Return Qnil to avoid warning.
10075
10076 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10077
10078 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10079 HAVE_X_WINDOWS.
10080
10081 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10082
10083 * composite.h (compose_text): Declare.
10084
10085 * xterm.c: Don't include sys/types.h unconditionally. Don't
10086 protect its inclusion with !USG (following xmenu.c).
10087
ea055732
GM
100882000-06-23 Gerd Moellmann <gerd@gnu.org>
10089
10090 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10091 in x_create_frame.
10092
74b01b80
EZ
100932000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10094
10095 * coding.c (decode_eol_post_ccl): Special handling for undecided
10096 and inconsistent EOL types.
10097
64f3a166
GM
100982000-06-22 Gerd Moellmann <gerd@gnu.org>
10099
16cf31f7
GM
10100 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10101 trough color and main window's background color.
10102
52283633 10103 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10104
10105 * xterm.h (Xt_app_con): External declaration.
10106
10107 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10108
486a103d
GM
10109 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10110
64f3a166
GM
10111 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10112 (handle_invisible_prop): Record the start of invisible text in
10113 it->add_overlay_start.
10114 (struct overlay_entry): Add member `overlay'.
10115 (handle_overlay_change): Simplify.
10116 (next_overlay_string): After having processed overlay strings at the
10117 end of the buffer, record that fact in
10118 it->overlay_strings_at_end_processed_p.
10119 (compare_overlay_entries): If before- and after-strings come
10120 from the same overlay, let before-strings come first.
10121 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10122 (load_overlay_strings): Take it->add_overlay_start into account
10123 when adding overlay strings.
10124
10125 * dispextern.h (struct it): Add member add_overlay_start.
10126
bb746ea6
DL
101272000-06-22 Dave Love <fx@gnu.org>
10128
10129 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10130
10131 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10132
a8f573f3
KH
101332000-06-22 Kenichi Handa <handa@etl.go.jp>
10134
10135 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10136 is greater than 0.
10137
9f2bbc92
DL
101382000-06-21 Dave Love <fx@gnu.org>
10139
178c5d9c 10140 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10141
3ee5041c
SM
101422000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10143
10144 * syntax.c (back_comment): Simplify string-parity counting (with
10145 the added benefit of handling multiple string-styles as long as
10146 they are not intertwined).
10147 Jump to the slow code as soon as a comment starter is found in
10148 a "string_lossage" position. Fixes the case: " /* " /* " */.
10149
4c343001
DL
101502000-06-21 Dave Love <fx@gnu.org>
10151
10152 * Makefile.in: Use GETLOADAVG_LIBS.
10153
10154 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10155 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10156
e6365855
SM
101572000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10158
10159 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10160 (Fforward_comment, scan_lists):
10161 Check the comstyle of single-char comment-starters.
10162 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10163 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10164 Check the comstyle of single-char comment-starters.
10165 Clarify control-flow around the Scomment case.
e6365855 10166
5700d2cc
DL
101672000-06-20 Dave Love <fx@gnu.org>
10168
d355bd8a
SM
10169 * fns.c (make_hash_table, maybe_resize_hash_table):
10170 Cast arg of next_almost_prime.
5700d2cc 10171
178c5d9c 10172 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10173
10174 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10175 and unistd.h.
10176
4a27bdfb
GM
101772000-06-20 Gerd Moellmann <gerd@gnu.org>
10178
a61d762c 10179 * keyboard.c (adjust_point_for_property): Check if display
52283633 10180 property should be treated as intangible by looking at its value.
a61d762c 10181
178c5d9c 10182 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10183 (display_prop_intangible_p): New functions.
10184
10185 * dispextern.h (display_prop_intangible_p): Add prototype.
10186
10187 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10188
4a27bdfb
GM
10189 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10190 argument to sigprocmask.
10191
10192 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10193 argument to sigprocmask.
10194
10195 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10196 sigprocmask_set, and pass a pointer to it to sigprocmask.
10197
10198 * sysdep.c (sigprocmask_set): New variable.
10199
10200 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10201 report_file_error.
10202
427ec082
SS
102032000-06-20 Sam Steingold <sds@gnu.org>
10204
10205 * xrdb.c: Don't declare xmalloc, xrealloc.
10206
8972fe79 102072000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10208
10209 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10210 (re_comp): Cast gettext return value to avoid complaints when
10211 !HAVE_LIBINTL.
10212
074b6efe
DL
102132000-06-20 Dave Love <fx@gnu.org>
10214
52283633 10215 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10216
5700d2cc 10217 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10218
d355bd8a 10219 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10220
10221 * m/alpha.h: Don't declare xmalloc, xrealloc.
10222
0af4f205
DL
10223 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10224
10225 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10226
10227 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10228
10229 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10230 HAVE_GETWD.
10231
074b6efe
DL
10232 * keyboard.h (poll_for_input_1): Declare.
10233
10234 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10235
10236 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10237
10238 * doprnt.c: Don't declare xmalloc, xrealloc.
10239
10240 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10241 (getenv, ctime, getwd): Removed.
10242 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10243
10244 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10245 x_set_tool_bar_lines.
10246
10247 * config.in: Add HAVE_GETWD. Move some definitions above
10248 machine/system includes.
10249
68a5e97b
KH
102502000-06-20 Kenichi Handa <handa@etl.go.jp>
10251
95417e1e
KH
10252 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10253
68a5e97b
KH
10254 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10255 contain information about ENCODING.
10256
10257 * fontset.c (FONTSET_ASCII): Use the first element of char table
10258 for an ASCII font, not defalt slot.
10259 (fontset_ref_via_base): If FONTSET doesn't contain information for
10260 C, try the default fontset.
10261 (make_fontset): Don't copy the default fontset.
10262 (fontset_font_pattern): Likewise.
10263 (accumulate_font_info): If ELT is nil, use the corresponding
10264 element in the default fontset.
10265
3b4fa1b2
DL
102662000-06-19 Dave Love <fx@gnu.org>
10267
943e731c
DL
10268 * syntax.c (Fparse_partial_sexp): Doc fix.
10269
10270 * regex.h: Test PROTOTYPES as well as __STDC__.
10271
3b4fa1b2
DL
10272 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10273 errno, strerror. Put text after #endif in comment.
10274
52283633 10275 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10276
10277 * xterm.c (x_frame_of_widget): Likewise.
10278
cdf0357b
GM
102792000-06-19 Gerd Moellmann <gerd@gnu.org>
10280
10281 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10282 to Vfundamental_mode_abbrev_table.
10283
10284 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10285 bogus objects are marked. This slows down GC by ~80 percent, but
10286 it might be worth trying when debugging GC-related problems.
10287 This feature requires conservative stack marking to be enabled.
10288
10289 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10290 returns XLookupChars, reset `modifiers' to zero.
10291
998e9f8c
DL
102922000-06-19 Dave Love <fx@gnu.org>
10293
10294 * mktime.c: Unprotoized.
10295
18e21ce8 102962000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10297
10298 * data.c (set_internal): If variable is frame-local,
10299 store the new value immediately into the frame parameter alist.
10300
140c4ac6
KR
103012000-06-19 Ken Raeburn <raeburn@gnu.org>
10302
14358466
KR
10303 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10304 in the custom handler pointer.
10305
140c4ac6
KR
10306 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10307 value, or checks for CHAR_META can fail when Lisp_Object is a
10308 union type.
10309 * keymap.c (get_keyelt): Likewise.
10310
10d7bf84
KH
103112000-06-19 Kenichi Handa <handa@etl.go.jp>
10312
10313 * ccl.h (struct ccl_program): New member eol_type.
10314 (struct ccl_spec): New member cr_carryover.
10315
10316 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10317 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10318
10319 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10320 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10321 (decode_eol_post_ccl): New function.
10322 (decode_coding): Don't detect EOL format here for CCL based coding
10323 systems.
10324 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10325 decode_eol_post_ccl after running the CCL program.
10326 (code_convert_region): Don't detect EOL format here for CCL based
10327 coding systems.
10328 (decode_coding_string): Likewise.
10329
52e386c2
KR
103302000-06-18 Ken Raeburn <raeburn@gnu.org>
10331
10332 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10333 when treating it as an integer.
10334
10335 * coding.h (encode_coding_string): Declare.
10336
10337 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10338 it as an integer.
10339
10340 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10341 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10342 to be passed to get_local_map.
10343
10344 * sound.c (Fplay_sound): Don't call make_number on
10345 Frun_hook_with_args count argument.
10346
10347 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10348 for lisp objects in X event structure data field, when lisp
10349 objects are represented with unions.
10350 (x_scroll_bar_to_input_event): Ditto.
10351
b357b9d4
KR
103522000-06-16 Ken Raeburn <raeburn@gnu.org>
10353
10354 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10355 termination of string. Fix sense of test whether
10356 Vline_number_display_limit is an integer.
b357b9d4 10357
a871441d
GM
103582000-06-16 Gerd Moellmann <gerd@gnu.org>
10359
a9021acd
GM
10360 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10361 only if HAVE_X_WINDOWS.
10362
6344985d
GM
10363 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10364 of titles.
10365
427ec082 10366 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10367 out of bounds.
10368
228b083e
EZ
103692000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10370
10371 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10372 of its headers.
10373
c25b53a2
KH
103742000-06-15 Kenichi Handa <handa@etl.go.jp>
10375
10376 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10377 start of the while loop.
10378
a6981b11
GM
103792000-06-15 Gerd Moellmann <gerd@gnu.org>
10380
e9924e52
GM
10381 * atimer.c (alarm_signal_handler): Add forward declaration.
10382
a6981b11
GM
10383 * data.c (set_internal): Remove debug code.
10384
25fa6deb
GM
103852000-06-14 Gerd Moellmann <gerd@gnu.org>
10386
dce6b995
GM
10387 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10388
9f817ea4
GM
10389 * unexec.c (toplevel) [COFF]: Include coff.h.
10390
10391 * s/lynxos.h: New file.
10392
10393 * keymap.c (Fsingle_key_description): Enclose function key and
10394 event symbol names in angle brackets.
10395
8a4e3c0c
GM
10396 * xdisp.c (setup_echo_area_for_printing): Call
10397 message_log_maybe_newline if message_buf_print is not set.
10398
10399 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10400 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10401 function does something useful even when message_buf_print is
10402 already set.
10403
52283633
SM
10404 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10405 New variables.
25fa6deb
GM
10406 (ensure_echo_area_buffers): Initialize echo buffer's
10407 truncate lines setting to nil.
10408 (with_echo_area_buffer): Don't set the echo buffer's truncate
10409 lines setting here.
8a4e3c0c 10410 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10411 of message_truncate_lines.
10412 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10413 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10414 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10415
10416 * keyboard.c (read_char): Bind message-truncate-lines to t
10417 while displaying a help-echo.
10418
10419 * lisp.h (Qmessage_truncate_lines): External declaration.
10420
163dcff3
GM
104212000-06-13 Gerd Moellmann <gerd@gnu.org>
10422
1681ead6
GM
10423 * xdisp.c (Vline_number_display_limit): Renamed from
10424 line_number_display_limit.
10425 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10426 Extend documentation string. Initialize
10427 Vline_number_display_limit to nil meaning no limit.
10428 (decode_mode_spec): Use Vline_number_display_limit with its new
10429 meaning.
10430
163dcff3
GM
10431 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10432
18e21ce8 104332000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10434
10435 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10436
163dcff3
GM
10437 * xfns.c (x_set_frame_parameters): Comment fix.
10438
10439 * frame.c (store_frame_param): Call swap_in_global_binding if the
10440 variable's current binding was chosen based on this frame.
10441
10442 * data.c (swap_in_global_binding): New function.
10443
a704139d
EZ
104442000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10445
10446 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10447 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10448
9b6610db
EZ
104492000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10450
10451 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10452
c68833d2
JR
104532000-06-12 Jason Rumney <jasonr@gnu.org>
10454
10455 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10456
10457 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10458
10459 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10460
10461 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10462
ed1056b3
GM
104632000-06-12 Gerd Moellmann <gerd@gnu.org>
10464
10465 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10466 (syms_of_xfaces): Defsubr Sdump_colors.
10467 (x_free_colors): Don't treat b&w specially on default visual.
10468 (x_free_dpy_colors): New function.
10469 (free_face_colors): Don't check visual class; it's done
10470 in x_free_colors.
10471
10472 * xterm.c (x_frame_of_widget): New function.
10473 (x_alloc_nearest_color_for_widget): Use it.
10474 (x_copy_dpy_color): New function.
10475 (x_destroy_window): Free various colors.
10476
5050a2ef
KH
104772000-06-12 Kenichi Handa <handa@etl.go.jp>
10478
10479 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10480
10481 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10482
10483 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10484
10485 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10486
10487 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10488
fb1b041d
DL
104892000-06-11 Dave Love <fx@gnu.org>
10490
10491 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10492
ff96b5f4
EZ
104932000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10494
10495 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10496
db8eeecd
GM
104972000-06-11 Gerd Moellmann <gerd@gnu.org>
10498
ed1056b3 10499 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10500 to `XEvent *'.
10501
49b71c5f
KH
105022000-06-10 Kenichi Handa <handa@etl.go.jp>
10503
c479bd55
KH
10504 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10505 (regex_compile): Fix the code for handling the case of single byte
10506 char and multibyte char being mixed in a range within [...].
10507
ff6a65c2
KH
10508 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10509 and dst_multibyte members of coding.
10510
49b71c5f
KH
10511 * charset.c (update_charset_table): Update the table
10512 bytes_by_char_head.
10513 (init_charset_once): Initialize elements of bytes_by_char_head to
10514 1 except for leading codes for private charases.
10515
10516 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10517 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10518
9e80b57d
KR
105192000-06-09 Ken Raeburn <raeburn@gnu.org>
10520
10521 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10522 access the data it doesn't point to.
10523
f83fe4b4
GM
105242000-06-08 Gerd Moellmann <gerd@gnu.org>
10525
10526 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10527 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10528 event queue. This is necessary because Emacs otherwise won't
10529 perform a switch-frame to a new frame until some other event, for
10530 example a keystroke event, forces it to do so. This has various
10531 effects, one visible being that the cursor of a frame created with
10532 C-x 5 2 or switched to with a window manager key binding like
10533 A-TAB stays hollow because selected_window isn't on the newly
10534 focused frame until the switch-frame is performed.
10535
10536 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10537 generating a switch-frame event if necessary.
10538
10539 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10540
10541 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10542 it's an integer.
10543
0890801b
KH
105442000-06-08 Kenichi Handa <handa@etl.go.jp>
10545
52283633 10546 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10547
173cbca8
GM
105482000-06-07 Gerd Moellmann <gerd@gnu.org>
10549
3091c2a6
GM
10550 * window.c (displayed_window_lines): Take empty lines at
10551 the bottom of a window into account.
427ec082 10552
f38952fe
GM
10553 * window.c (displayed_window_lines): New function.
10554 (Fmove_to_window_line): Use displayed_window_lines to determine
10555 the number of lines to move, instead of using the window's height.
10556
10557 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10558 to stop reading, even if the form read sets point to a different
10559 value when evaluated.
10560
427ec082 10561 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10562 put the cursor.
10563
6ba6c818
KH
105642000-06-07 Kenichi Handa <handa@etl.go.jp>
10565
10566 * fileio.c (e_write): Free composition data if stored in
10567 coding->cmp_data.
10568
5f1aea9a
GM
105692000-06-06 Gerd Moellmann <gerd@gnu.org>
10570
666852af
GM
10571 * xdisp.c (display_line): Set row's and iterator's
10572 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10573 Set cursor even if row ends in the middle of a character.
10574 (dump_glyph_row): Print values of new flags.
10575 (redisplay_window) <cursor movement in unchanged window>: When
10576 point has been moved forward, and PT is at the end of the cursor
10577 row, don't place the cursor in the next row if the cursor row ends
10578 in the middle of a character or at ZV.
10579
10580 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10581 (struct glyph_row): Add starts_in_middle_of_char_p and
10582 ends_in_middle_of_char_p.
10583 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10584 ends_in_middle_of_char_p flag.
10585 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10586
d13f3e2e
GM
10587 * term.c (append_glyph): Revert change of 2000-06-06.
10588
10589 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10590 padding glyph not fitting on line as whole character not
10591 fitting on line.
10592
5f1aea9a
GM
10593 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10594 this isn't true for images with `:ascent 100'.
10595
10cda9b0
KH
105962000-06-06 Kenichi Handa <handa@etl.go.jp>
10597
ed00559d
KH
10598 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10599 as modified if it is originally unmodified.
10600
10cda9b0
KH
10601 * term.c (encode_terminal_code): Change the way to check if
10602 terminal coding does any conversion.
10603 (append_glyph): Set glyph->pixel_width correctly.
10604
10605 * xdisp.c (display_line): While checking line continuation, pay
10606 attention to a padding glyph.
10607
1969fae2
GM
106082000-06-05 Gerd Moellmann <gerd@gnu.org>
10609
10610 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10611
162ccef4
DL
106122000-06-05 Dave Love <fx@gnu.org>
10613
f19f32dd
DL
10614 * xdisp.c: Include fontset.h.
10615
10616 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10617
10618 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10619
10620 * dispnew.c: Conditionally include term.h.
10621
10622 * coding.h: Declare code_convert_string_norecord.
10623
10624 * frame.h (struct frame): Use volatile unconditionally.
10625
10626 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10627
10628 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10629
10630 * systime.h: Protect against multiple inclusion.
10631 (timezone) [USG5_4]: Define as time_t.
10632
10633 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10634 (Foptimize_char_table, make_temp_name): Declare.
10635
10636 * Makefile.in (xdisp.o): Depend on fontset.h.
10637
10638 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10639
10640 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10641 (Foptimize_char_table, make_temp_name): Declare.
10642
427ec082 10643 * s/irix4-0.h:
162ccef4
DL
10644 * s/irix5-0.h:
10645 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10646
2082fe81
DL
106472000-06-02 Dave Love <fx@gnu.org>
10648
10649 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10650
dcf671d2
GM
106512000-06-02 Gerd Moellmann <gerd@gnu.org>
10652
10653 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10654 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10655 be freed.
10656
10657 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10658 glyph, use the ASCII NUL character to determine the face.
10659
d42122a3
DL
106602000-06-02 Dave Love <fx@gnu.org>
10661
10662 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10663 (VFORK_RETURN_TYPE): Remove.
427ec082 10664
d42122a3
DL
10665 * config.in: Add NO_MATHERR.
10666
dd432f16
DL
106672000-06-01 Dave Love <fx@gnu.org>
10668
90aa4ea8
DL
10669 * cmds.c (internal_self_insert): Don't check
10670 Vbefore_change_function, Vafter_change_function.
10671
10672 * insdel.c (signal_before_change, signal_after_change): Likewise.
10673
10674 * buffer.c (Vbefore_change_function, Vafter_change_function):
10675 Variables and their initializations deleted.
10676
2330c9d4
DL
10677 * callint.c (Fcall_interactively): Doc fix.
10678
dd432f16
DL
10679 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10680
bf9e8804
DL
106812000-05-31 Dave Love <fx@gnu.org>
10682
10683 * textprop.c: Revert last change -- duplicated.
10684
3694b4ab
GM
106852000-05-31 Gerd Moellmann <gerd@gnu.org>
10686
10687 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10688 in #if 0.
10689
10690 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10691
f14156cd
JR
106922000-05-31 Jason Rumney <jasonr@gnu.org>
10693
8119aab8
JR
10694 * search.c (Fre_search_forward, Fre_search_backward)
10695 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10696
f14156cd
JR
10697 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10698
4aab9be3
JR
106992000-05-30 Jason Rumney <jasonr@gnu.org>
10700
10701 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10702 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10703
52283633 10704 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10705
10706 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10707 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10708 expand a nil default_filename.
10709
10710 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10711 pointer to glyph_to_pixel_coords, not a frame.
10712
10713 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10714 coding.h to dependencies.
10715
10716 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10717
10718 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10719 window pointer to be consistent with w32term.c and xterm.c.
10720
10721 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10722 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10723 (Qline_spacing, Qcenter): New variables.
10724 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10725 (x_set_line_spacing): New function.
52283633 10726 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10727 (x_specified_cursor_type): New function.
10728 (x_set_cursor_type): Use it.
10729 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10730 and icon strings.
10731 (validate_x_resource_name, x_get_resource_string): Measure lengths
10732 of external strings in bytes.
10733 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10734 GetTextExtentPoint32 with NULL title.
10735 (Fx_create_frame): Initialize Qline_spacing.
10736 (w32_load_system_font): Initialize font->double_byte_p.
10737 (x_to_w32_charset): Use Vw32_charset_info_alist.
10738 (Image, busy cursor, tooltip functions): Merged changes from
10739 xfns.c. Not yet functional on Windows.
10740
10741 * w32gui.h (W32FontStruct): Add double_byte_p member.
10742
10743 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10744 (emacs_button_translation): Use it.
10745 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10746 in `mask' to be set.
10747
10748 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10749 menu strings.
10750
10751 * w32term.c: Format and doc changes to bring closer to xterm.c.
10752 (w32_char_font_type): New enum.
10753 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10754 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10755 (w32_encode_char): New function.
10756 (x_encode_char): Removed.
10757 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10758 x_encode_char and w32_font_is_double_byte.
10759 (x_produce_image_glyph): Use image_ascent.
10760 (x_produce_glyphs): Use new version of w32_per_char_metric and
10761 handle NULL return value. Allow extra line spacing.
10762 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10763 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10764 w32_font_type member of glyph instead.
10765 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10766 (fast_find_position): Make sure not to consider rows not visible
10767 in the window.
10768 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10769 w32_menu_display_help with input blocked, as it can abort.
10770 (x_display_and_set_cursor): Choose cursor depending
10771 on buffer-local value of cursor_type.
10772 (x_draw_bar_cursor): Add parameter WIDTH.
10773
10774 * w32term.h (CP_DEFAULT): Define.
10775 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10776
10fc3187
GM
107772000-05-30 Gerd Moellmann <gerd@gnu.org>
10778
10779 * search.c (Fre_search_forward, Fre_search_backward)
10780 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10781
d0555360
KH
107822000-05-30 Kenichi Handa <handa@etl.go.jp>
10783
10784 * coding.c (detect_coding_iso2022): Fix code for checking
10785 CODING_CATEGORY_MASK_ISO_8_2.
10786
f1ad044f
SM
107872000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10788
10789 * regex.c (PREFETCH_NOLIMIT): New function.
10790 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10791
84ec3b4b
GM
107922000-05-29 Gerd Moellmann <gerd@gnu.org>
10793
66254a13
GM
10794 * syntax.c (find_defun_start): Move test for
10795 open_paren_in_column_0_is_defun_start outside of the loop.
10796
49e70dec
GM
10797 * xdisp.c (redisplay_window): Really switch buffers when
10798 displaying mode lines, and temporarily set selected_frame to the
10799 frame of the window that's redisplayed.
10800
84ec3b4b
GM
10801 * xfaces.c (free_realized_faces): Block/unblock input.
10802 (free_realized_multibyte_face): Ditto.
10803
869a3a14
DL
108042000-05-29 Dave Love <fx@gnu.org>
10805
10806 * textprop.c (Qkeymap): New variable.
10807 (syms_of_textprop): Intern it.
10808
10809 * keymap.c: Include intervals.h.
10810 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10811
10812 * Makefile.in (keymap.o): Depend on intervals.h.
10813
10814 * keyboard.c (menu_bar_items, tool_bar_items)
10815 (Fexecute_extended_command): Deal with `keymap' property.
10816 (read_key_sequence): Track map from `keymap' property as well as
10817 `local_map'.
10818
10819 * intervals.c (get_local_map): Extra arg to allow looking for
10820 `keymap' too.
10821
10822 * intervals.h (map_property): New enum.
10823 (get_local_map): Extra arg using it.
10824 (Qkeymap): Declare.
10825
84ec3b4b 10826 * lisp.h (get_local_map): Don't declare here.
869a3a14 10827
89d0c844
KH
108282000-05-29 Kenichi Handa <handa@etl.go.jp>
10829
10830 * Makefile.in (callproc.o): Depend on composite.h.
10831
10832 * callproc.c: Include composite.h.
10833 (Fcall_process): Handle composition correctly.
10834
10835 * coding.h (coding_allocate_composition_data): Extern it.
10836 (coding_restore_composition): Likewise.
10837
10838 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
10839 yet allocated, finish decoding with result
10840 CODING_FINISH_INSUFFICIENT_CMP.
10841 (coding_allocate_composition_data): Make it non-static.
10842 (coding_restore_composition): Likewise.
10843
797a084a
EZ
108442000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
10845
10846 * charset.c (syms_of_charset): Revert last change.
10847
cf872af5
EZ
108482000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10849
10850 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
10851 charsets as unibyte, with 1-column screen width. Sent by Kenichi
10852 Handa.
cf872af5 10853
5b1ae051
EZ
108542000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10855
10856 * charset.c (syms_of_charset): Set width of character sets
10857 eight-bit-control and eight-bit-graphic to 1 column.
10858
34ec9ebe
GM
108592000-05-26 Gerd Moellmann <gerd@gnu.org>
10860
10861 * config.in (HAVE_SPEED_T): New define.
10862
10863 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10864 `extern speed_t'.
10865
dd854dc2
DL
108662000-05-26 Dave Love <fx@gnu.org>
10867
10868 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10869
10870 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10871 (Fsubr_arity): New function.
10872 (syms_of_data): Install them.
10873
ba9f8f95
KH
108742000-05-26 Kenichi Handa <handa@etl.go.jp>
10875
0f3e0672
KH
10876 * charset.c (init_charset_once): Set the table bytes_by_char_head
10877 correctly.
10878
cebefb44
KH
10879 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10880 the default fontset to what Emacs uses by default.
0f3e0672
KH
10881 (check_registry_encoding): This function deleted.
10882 (Fset_fontset_font): Remove the adhoc condition for the default
10883 fontset. Allow cons in FONTNAME.
cebefb44 10884
0f3e0672
KH
10885 * fns.c (map_char_table): Ignore char-table entries for
10886 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 10887
7a18af49
KR
108882000-05-25 Ken Raeburn <raeburn@gnu.org>
10889
10890 * emacs.c (main): Initialize keyboard syms before initializing
10891 window code, so face names are available.
10892
d2af47df
SM
108932000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10894
10895 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10896 of an anchor at the beginning of a shy-group.
10897
fc6a6a4e
GM
108982000-05-25 Gerd Moellmann <gerd@gnu.org>
10899
10900 * xdisp.c (handle_invisible_prop): Don't try to skip over
10901 invisible text if end of text is already reached.
10902
005f0d35
DL
109032000-05-25 Dave Love <fx@gnu.org>
10904
02513cdd
DL
10905 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10906
005f0d35
DL
10907 * coding.c (encode_eol): Add null statement after label.
10908
89f6ca4e
EZ
109092000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10910
10911 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10912 2000-05-20.
10913
a4e1759e
KH
109142000-05-25 Kenichi Handa <handa@etl.go.jp>
10915
10916 * ccl.c (ccl_driver): Fix previous change.
10917
eacfd7fe
KH
109182000-05-25 Kenichi Handa <handa@etl.go.jp>
10919
46ab33a9
KH
10920 * coding.c (run_pre_post_conversion_on_str): Set point to the
10921 beginning of buffer before calling coding->post_read_conversion.
10922 (decode_coding_string): Give correct args to
10923 run_pre_post_conversion_on_str.
10924 (encode_coding_string): Likewise.
10925
eacfd7fe
KH
10926 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10927 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10928 eight-bit-graphic correctly.
10929
f8569325
DL
109302000-05-24 Kenichi HANDA <handa@etl.go.jp>
10931
10932 * fileio.c (Finsert_file_contents): Even if a file is not found,
10933 execute codes for setting up coding system. Call
10934 after-insert-file-functions unconditionally.
10935
04545643
GM
109362000-05-24 Gerd Moellmann <gerd@gnu.org>
10937
10938 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10939 BSD_PGRPS are not defined.
10940
747d90ea
KH
109412000-05-24 Kenichi Handa <handa@etl.go.jp>
10942
10943 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10944 DESCRIPTION.
10945 (syms_of_charset): Avoid building same strings.
10946
716e3b88
GM
109472000-05-23 Gerd Moellmann <gerd@gnu.org>
10948
10949 * lread.c (Fload): Add a comment about the meaning of
10950 Vuser_init_file being t.
10951
10952 * puresize.h (BASE_PURESIZE): Increase to 675000.
10953
10954 * s/gnu-linux.h (setpgrp): Don't define it here because this
10955 prevents compilation on GNU/Linux systems with glib 2.2.
10956
10957 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10958 as setpgid.
427ec082 10959
9aeb39fa
EZ
109602000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10961
10962 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10963 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10964 version.
10965 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10966
29ced61b
KH
109672000-05-23 Kenichi Handa <handa@etl.go.jp>
10968
52283633 10969 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 10970
3d80f24d
KH
10971 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10972
52283633 10973 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 10974
29ced61b
KH
10975 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10976
d7e00792
KH
109772000-05-22 Kenichi Handa <handa@etl.go.jp>
10978
c9d80d38
KH
10979 * keyboard.c (read_char): Allow character codes 128..255 to be
10980 handled by input-method-function.
10981
d7e00792
KH
10982 * insdel.c (adjust_markers_for_replace): Fix previous change.
10983 (adjust_after_replace): If PREV_TEXT is nil, call
10984 adjust_markers_for_insert, not adjust_markers_for_replace.
10985
087121cc 109862000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 10987
087121cc
GM
10988 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10989 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10990 [HAVE_GRANDPT]: Define.
10991 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10992
10993 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10994 like SYSV_PTYS.
10995
10996 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10997
10998 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
10999
c9671f81
KH
110002000-05-20 Kenichi Handa <handa@etl.go.jp>
11001
11002 The following changes are to handle 8-bit characters in a
11003 multibyte buffer/string without facing with byte combining
11004 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11005 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11006
11007 * Makefile.in (fns.o): Depend on charset.h.
11008
11009 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11010 convert it to unibyte.
11011 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11012
11013 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11014 apparent char boundary.
11015 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11016 0x80..0x9F to/from multibyte form.
11017
11018 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11019 to unibyte.
11020
11021 * callproc.c (Fcall_process): Always encode an argument string if
11022 it is multibyte. Setup src_multibyte and dst_multibyte members of
11023 process_coding properly.
ce75fd23 11024
c9671f81
KH
11025 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11026 SPLIT_NON_ASCII_CHAR.
11027
11028 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11029 as is.
11030 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11031
52283633 11032 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11033 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11034 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11035 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11036 and eight-bit-graphic.
11037 (char_to_string): Likewise. Signal an error for too large
11038 character code.
11039 (char_printable_p): Return 0 for 8-bit characters.
11040 (update_charset_table): Update iso_charset_table only when a final
11041 character is non-negative.
11042 (find_charset_in_text): Renamed from find_charset_in_str.
11043 Arguments and return value changed. Callers changed.
11044 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11045 be -1 if CHARSET is used only internally.
11046 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11047 eight-bit-graphic.
11048 (Fcharset_after): Simplified.
11049 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11050 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11051 (multibyte_chars_in_text): Simplified by assuming there's no
11052 invalid multibyte sequence.
52283633
SM
11053 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11054 (str_as_unibyte): New functions.
11055 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11056 (init_charset_once): Initialization for
11057 LEADING_CODE_8_BIT_CONTROL.
11058 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11059 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11060 eight-bit-control and eight-bit-graphic.
11061
52283633
SM
11062 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11063 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11064 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11065 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11066 (CHARSET_REVERSE_CHARSET): Likewise.
11067 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11068 eight-bit-graphic.
11069 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11070 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11071 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11072 encounter an invalid multibyte sequence.
11073 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11074 sequence is always valid.
11075 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11076 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11077 (CHAR_STRING): For 8-bit characters, call char_to_string.
11078 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11079 multibyte sequence is always valid.
11080 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11081 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11082 (str_as_unibyte): Extern them.
c9671f81 11083 (BCOPY_SHORT): Fix a bug.
52283633 11084 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11085 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11086 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11087 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11088
bd4bde7f 11089 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11090 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11091 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11092 (EMIT_BYTES): New macros.
11093 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11094 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11095 macros deleted.
11096 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11097 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11098 check the validity of multibyte sequence.
11099 (decode_coding_emacs_mule): New function.
11100 (encode_coding_emacs_mule): New macro.
11101 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11102 the source.
11103 (DECODE_ISO_CHARACTER): Just return a character code.
11104 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11105 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11106 EMIT_CHAR to produced decoded characters. Exit the loop only by
11107 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11108 block here.
11109 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11110 only position codes for an invalid character.
11111 (encode_designation_at_bol): Return new destination pointer. 5th
11112 arg DSTP is changed to DST.
11113 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11114 from the source by ONE_MORE_CHAR. Don't handle the case of last
11115 block here.
11116 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11117 macros deleted.
52283633
SM
11118 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11119 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11120 TWO_MORE_BYTES to fetch a byte from the source.
11121 (encode_eol): Pay attention to coding->src_multibyte.
11122 (detect_coding, detect_eol): Preserve members src_multibyte and
11123 dst_multibyte.
11124 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11125 (encoding_buffer_size): Set magnification to 3 for all coding
11126 systems that require encoding.
11127 (ccl_coding_driver): For decoding, be sure that the result is
11128 valid multibyte sequence.
11129 (decode_coding): Initialize coding->errors and coding->result.
11130 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11131 and raw-text, always call decode_eol. Handle the case of last
11132 block here. If not coding->dst_multibyte, convert the resulting
11133 sequence to unibyte.
11134 (encode_coding): Initialize coding->errors and coding->result.
11135 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11136 and raw-text, always call encode_eol. Handle the case of last
11137 block here.
11138 (shrink_decoding_region, shrink_encoding_region): Detect cases
11139 that we can't skip data more rigidly.
11140 (code_convert_region): Setup src_multibyte and dst_multibyte
11141 members of coding. For decoding, if the buffer is multibyte,
11142 convert the source sequence to unibyte in advance. For encoding,
11143 if the buffer is multibyte, convert the resulting sequence to
11144 multibyte afterward.
11145 (run_pre_post_conversion_on_str): New function.
11146 (code_convert_string): Deleted and divided into the following two.
11147 (decode_coding_string, encode_coding_string): New functions.
11148 (code_convert_string1, code_convert_string_norecord): Call one of
11149 above.
11150 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11151 MAKE_NON_ASCII_CHAR.
52283633
SM
11152 (Fset_terminal_coding_system_internal)
11153 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11154 and dst_multibyte members.
11155 (init_coding_once): Initialize iso_code_class with new enum
11156 ISO_control_0 and ISO_control_1.
11157
11158 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11159 devided into ISO_control_0 and ISO_control_1.
11160 (struct coding_system): New members src_multibyte, dst_multibyte,
11161 errors, and result. Delete member fake_multibyte.
11162 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11163 nonzero.
11164 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11165 nonzero.
11166
11167 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11168 (Faset): Likewise.
11169
11170 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11171 multibyte form.
11172 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11173 combining occurs.
11174 (Ftranspose_region): Delete codes for handling byte combining.
11175
11176 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11177 dst_multibyte members of coding. On handling REPLACE on unibyte
11178 buffer, convert the result of decode_coding to unibyte. On
11179 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11180 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11181 multibyteness of the source (buffer or string).
11182
11183 * fns.c (concat): Handle 8-bit characters correctly.
11184 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11185 unibyte in the result.
11186 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11187 valid multibyte form in the result.
11188 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11189 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11190 return -1, signal an error.
11191 (base64_encode_1): New arg MULTIBYTE. Get each character by
11192 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11193 character is found, return -1.
11194 (Fbase64_decode_region): Delete codes for handling byte-combining.
11195 Treat each decoded byte as a unibyte character.
11196 (Fbase64_decode_string): Return unibyte string.
11197 (Fcompare_strings, concat, string_byte_to_char): Use
11198 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11199 FETCH_STRING_CHAR_ADVANCE.
11200 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11201 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11202
11203 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11204 SPLIT_NON_ASCII_CHAR.
11205 (fontset_ref_via_base, fontset_set): Likewise
11206
11207 * insdel.c (adjust_markers_for_record_delete): Deleted.
11208 (adjust_markers_for_insert): Argument changed. Caller changed.
11209 (adjust_markers_for_replace): Likewise.
52283633
SM
11210 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11211 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11212 (copy_text): Delete unused local varialbe c_save. For converting
11213 to multibyte, be sure to make all 8-bit characters in valid
11214 multibyte form.
11215 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11216 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11217 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11218 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11219 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11220 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11221 handling byte combining.
11222 (adjust_before_replace): Deleted.
427ec082 11223
c9671f81
KH
11224 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11225 SPLIT_NON_ASCII_CHAR.
11226 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11227 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11228 (Fkey_description): Likewise.
11229
11230 * lread.c (read1): On reading multibyte string, be sure to make
11231 all 8-bit chararacters in valid multibyte form.
11232 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11233
11234 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11235 unconditionally.
11236
11237 * process.c (Fstart_process): GCPRO current_dir before calling
11238 Ffind_operation_coding_system. Encode arguments here.
11239 (create_process): Don't encode arguments here. Setup
11240 src_multibyte and dst_multibyte members of struct coding.
11241 (read_process_output): Setup src_multibyte and dst_multibyte
11242 members of struct coding. If the output is to multibyte buffer,
11243 always decode the output of the process. Adjust the
52283633 11244 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11245 (send_process): Setup coding->src_multibyte according to the
11246 multibyteness of the source.
11247
52283633 11248 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11249 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11250 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11251
52283633 11252 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11253
11254 * w16select.c (Fw16_set_clipboard_data): Setup members
11255 src_multibyte and dst_multibyte of coding. Adjusted for the
11256 change for find_charset_in_str.
11257 (Fw16_get_clipboard_data): Likewise.
11258
11259 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11260 dst_multibyte of coding.
11261 (x_to_w32_font): Likewise.
11262
11263 * w32select.c (Fw32_set_clipboard_data): Setup members
11264 src_multibyte and dst_multibyte of coding. Adjusted for the
11265 change for find_charset_in_str.
11266 (Fw32_get_clipboard_data): Likewise.
11267
11268 * xdisp.c (get_next_display_element): Handle 8-bit characters
11269 correctly.
52283633
SM
11270 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11271 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11272
11273 * xselect.c (selection_data_to_lisp_data): Setup members
11274 src_multibyte and dst_multibyte of coding. Adjusted for the
11275 change for find_charset_in_str.
11276 (lisp_data_to_selection_data): Likewise.
11277
5f64c9e0
GM
112782000-05-19 Gerd Moellmann <gerd@gnu.org>
11279
52283633 11280 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11281
5f64c9e0
GM
11282 * dispextern.h (Vimage_types): Add extern declaration.
11283
11284 * xdisp.c (Vimage_types): Moved here from xfns.c.
11285 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11286
11287 * xfns.c (Vimages_types): Moved to xdisp.c.
11288 (syms_of_xfns): Move `image-types' to xdisp.c.
11289
11290 * w32fns.c (Vimage_types): Removed.
11291 (syms_of_w32fns): Remove `image-types'.
11292
813086ea
KH
112932000-05-18 Kenichi Handa <handa@etl.go.jp>
11294
11295 * fns.c (map_char_table): Pay attention to character number of
11296 charset. Check the validity of charset at the first level. For
11297 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11298 the default value.
11299
11300 * fontset.c: Include "buffer.h".
11301 (fs_load_font): If the face has fontset, record the face ID in
11302 that fontset.
11303 (Finternal_char_font): New function.
11304 (accumulate_font_info): New function.
11305 (Ffontset_info): Rewritten for the new fontset implementation.
11306 (syms_of_fontset): Register Vdefault_fontset in the first element
11307 of Vfontset_table. Include Vdefault_fontset in
11308 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11309 function.
11310
bdaebbf0
DL
113112000-05-16 Dave Love <fx@gnu.org>
11312
11313 * m/iris5d.h: Deleted -- unused.
11314
cb613bb8
GM
113152000-05-16 Gerd Moellmann <gerd@gnu.org>
11316
b15f3b77
GM
11317 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11318 `invalid' instead of `illegal'.
11319
11320 * indent.c (Fmove_to_column): When ending within a tab, insert
11321 spaces first so that markers at the end of the tab get adjusted.
11322
835c1b36
GM
11323 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11324 buffer list that wasn't selected in that frame.
11325
cb613bb8
GM
11326 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11327 is needed on mescaline, use a 2 char prefix, and call
11328 make_temp_name with second arg non-zero.
11329
11330 * fileio.c (make_temp_name): New function, extracted from
11331 Fmake_temp_name.
11332 (Fmake_temp_name): Use it.
11333
f685bea9
EZ
113342000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11335
52283633 11336 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11337
a1b8d58b
GM
113382000-05-15 Gerd Moellmann <gerd@gnu.org>
11339
11340 * Makefile.in (lisp): Add env.elc.
11341
11342 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11343
a265079f
GM
113442000-05-12 Gerd Moellmann <gerd@gnu.org>
11345
11346 * search.c (Freplace_match): Handle case of `\N' in the
11347 replacement when there's no group N.
11348
da4496b6
GM
113492000-05-11 Gerd Moellmann <gerd@gnu.org>
11350
0ace421a
GM
11351 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11352 of the message to message_dolog.
11353
1172eb8d
GM
11354 * keyboard.c (read_char): Don't clear current message for help
11355 events; let the code handling help events handle this. Change
11356 code detecting help events that should be ignored.
11357
da4496b6
GM
11358 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11359 we're interating over a string.
11360
0623e40f
DL
113612000-05-09 Dave Love <fx@gnu.org>
11362
11363 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11364 that offset before writing. Move gcpro region past call of
11365 Ffile_regular_p.
11366
bae2503b
DL
113672000-05-04 Dave Love <fx@gnu.org>
11368
11369 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11370
ec82fb2f
GM
113712000-05-04 Gerd Moellmann <gerd@gnu.org>
11372
11373 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11374 of inserted characters when BUF equals the current buffer, and PT
11375 is in front of or equal to FROM.
11376
cbf18892
GM
113772000-05-03 Gerd Moellmann <gerd@gnu.org>
11378
4ff40dd0
GM
11379 * xdisp.c (handle_single_display_prop): If display property value
11380 is invalid, or something not supported on the frame, restore
11381 iterator's position to what it was initially. Make sure to return
11382 0 for invalid and unsupported property values.
11383
cbf18892
GM
11384 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11385 that x_per_char_metric returns null.
11386
1b0672c3
GM
113872000-05-02 Gerd Moellmann <gerd@gnu.org>
11388
576da55d
GM
11389 * xterm.h (struct face): Add forward declaration.
11390 (struct image): Ditto.
11391 (image_ascent): Add prototype.
11392
11393 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11394 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11395 image_ascent instead of using IMAGE_ASCENT.
11396
11397 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11398 (IMAGE_ASCENT): Removed.
11399
11400 * xfns.c (Qcenter): New variable.
11401 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11402 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11403 (image_ascent): New function.
11404 (lookup_image): Recognize `:ascent center'.
11405 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11406 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11407 (xbm_load): Don't set image's ascent here.
11408 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11409 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11410 check ascent values here.
11411 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11412 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11413 (syms_of_xfns): Initialize Qcenter.
11414
1b0672c3
GM
11415 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11416 to the limits, increase the limits.
11417
0d7811ed
KH
114182000-05-01 Kenichi Handa <handa@etl.go.jp>
11419
11420 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11421 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11422
a943a5ca
GM
114232000-04-28 Gerd Moellmann <gerd@gnu.org>
11424
11425 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11426 taller than the window.
11427
5dba1e29
KH
114282000-04-28 Kenichi Handa <handa@etl.go.jp>
11429
11430 * xfaces.c (realize_x_face): Fix the argument of the second
11431 xassert. BASE_FACE may not be a face for ASCII.
11432
353964e3
GM
114332000-04-27 Gerd Moellmann <gerd@gnu.org>
11434
c76e04a8
GM
11435 * print.c (print_object): Treat print-length < 0 as nil.
11436
11437 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11438
11439 * s/freebsd.h (TERMCAP_OBJ): Removed.
11440 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11441
11442 * lread.c (read1): Don't treat period followed by certain
11443 characters as symbol start.
11444
11445 * xfns.c (slurp_file): New function.
11446 (xbm_image_p): Handle case of in-memory XBM files.
11447 (xbm_scan): Rewritten to work on memory buffers instead of files.
11448 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11449 Work on memory buffers instead of files. If DATA is null test
11450 if buffer looks like an in-memory XBM file.
11451 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11452 memory buffers instead of files.
11453 (xbm_file_p): New function.
11454 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11455
353964e3
GM
11456 * lread.c (end_of_file_error): New function.
11457 (read1): Call it instead of signaling `end-of-file' directly.
11458
427ec082 11459 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11460 with Fprinc instead of Fprin1.
11461
24d744ac
KR
114622000-04-26 Ken Raeburn <raeburn@gnu.org>
11463
11464 * window.c (freeze_window_start): Check that minibuffer scroll
11465 window isn't nil before extracting the window structure pointer
11466 from it.
11467
11468 * undo.c (record_delete): If we hit the end of the undo list, stop
11469 picking elements apart.
11470
7464346d
GM
114712000-04-26 Gerd Moellmann <gerd@gnu.org>
11472
11473 * xdisp.c (display_line): If lines are continued, restore
11474 iterator's ascent/descent information to the values before the
11475 first glyph not fitting on the line.
11476
612839b6
GM
114772000-04-25 Gerd Moellmann <gerd@gnu.org>
11478
11479 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11480 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11481
11482 * dispnew.c (increment_matrix_positions): Renamed from
11483 increment_glyph_matrix_buffer_positions.
11484 (increment_row_positions): Renamed from
11485 increment_glyph_row_buffer_positions.
11486
11487 * dispextern.h: Change names of renamed functions from dispnew.c
11488 in prototypes.
11489
cc181e95
GM
114902000-04-24 Gerd Moellmann <gerd@gnu.org>
11491
abfcc168
GM
11492 * fileio.c (Fdo_auto_save): Create directories for auto-save
11493 list file if necessary.
11494
cc181e95
GM
11495 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11496 from buffer or frame.
11497 (automatic_hscrolling_p): New variable.
11498 (hscroll_windows): Scroll windows horizontally only if automatic
11499 hscrolling is allowed.
11500 (syms_of_xdisp): New variable `automatic-hscrolling'.
11501
11502 * frame.h (struct frame): Add member extra_line_spacing.
11503
11504 * xfns.c (x_set_line_spacing): New function.
11505 (Fx_create_frame): Set line spacing from resources.
11506 (Qline_spacing): New variable.
11507 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11508
cc181e95
GM
11509 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11510
11511 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11512 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11513 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11514 extra_line_spacing from default value.
11515 (init_buffer_once): Initialize default value of extra_line_spacing.
11516
11517 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11518 and extra3.
11519
11520 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11521 prompt_width. Add extra line spacing.
11522
11523 * term.c (produce_glyphs): Remove reference to struct it's
11524 prompt_width.
11525
11526 * dispextern.h (struct it): Remove member prompt_width, add
11527 extra_line_spacing.
11528
58827478
GM
115292000-04-22 Gerd Moellmann <gerd@gnu.org>
11530
11531 * dispnew.c (update_frame_line): When writing a whole line, make
11532 sure cursor is in the right row afterwards, otherwise a use of
11533 capability `ch' in cmgoto might leave the cursor in the row below.
11534
25a87f42
GM
115352000-04-21 Gerd Moellmann <gerd@gnu.org>
11536
11537 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11538
11539 * keyboard.c (timer_check): Fix typo in comment.
11540
54edf5c2
KH
115412000-04-21 Kenichi Handa <handa@etl.go.jp>
11542
11543 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11544 name change: ch -> character.
11545
3a64eef5
GM
115462000-04-20 Gerd Moellmann <gerd@gnu.org>
11547
11548 * keyboard.c (echo_message_buffer): New variable.
11549 (echo_now): Set echo_message_buffer to the echo area buffer used
11550 to display the echo.
11551 (cancel_echoing): Reset echo_message_buffer to nil.
11552 (read_char): Code rewritten that handles canceling an echo or
11553 echoing a dash, respectively.
11554
11555 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11556 directory doesn't exist.
11557
6142fdcb
DL
115582000-04-19 Dave Love <fx@gnu.org>
11559
11560 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11561 (concat): Don't allow numeric args.
11562 (Fconcat): Doc change.
6142fdcb 11563
ac6b5352
SM
115642000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11565
11566 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11567 instead define end_match(1|2) more carefully.
11568 Use GET_CHAR_BEFORE_2 for `begline'.
11569
cb9215e4
GM
115702000-04-19 Gerd Moellmann <gerd@gnu.org>
11571
5e3dac3f
GM
11572 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11573 on 64-bit systems where NULL is defined as `0'.
11574
11575 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11576 the `variable argument list' to make it work on Alpha.
11577
cb9215e4
GM
11578 * m/alpha.h (_LP64) [!_LP64]: Define.
11579 (ORDINARY_LINK): Define for NetBSD.
11580
11581 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11582
f532dca0
DL
115832000-04-19 Dave Love <fx@gnu.org>
11584
c750667e
DL
11585 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11586 change.
11587
11588 * Makefile.in (LIBS): Don't use.
11589 (GETLOADAVG_OBJ): Define again.
11590 (otherobj): Add GETLOADAVG_OBJ.
11591
f532dca0
DL
11592 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11593
1c7e22fd
GM
115942000-04-18 Gerd Moellmann <gerd@gnu.org>
11595
f6d3257b
GM
11596 * lread.c (read_filtered_event): Cancel and start busy cursor.
11597
427ec082 11598 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11599 that the per-character metrics may be null.
11600
e10f64e7
GM
116012000-04-17 Gerd Moellmann <gerd@gnu.org>
11602
0daee095
GM
11603 * buffer.c (clone_per_buffer_values): New function.
11604 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11605 clone_per_buffer_values if CLONE is not nil.
11606
e10f64e7
GM
11607 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11608
38687d43
DL
116092000-04-16 Dave Love <fx@gnu.org>
11610
11611 * Makefile.in: Remove obsolete localcpp stuff.
11612 (GETLOADAVG_OBJ): Don't define.
11613 (obj): Move LIBOBJS...
11614 (otherobj): ... to here.
11615 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11616 whitespace-only lines after the continuation (Irix).
11617
c21c7262
GM
116182000-04-14 Gerd Moellmann <gerd@gnu.org>
11619
11620 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11621
11622 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11623
314767c0
DL
116242000-04-14 Dave Love <fx@gnu.org>
11625
11626 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11627 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11628 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11629 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11630 NLIST_STRUCT.
11631
11632 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11633 autoconfiscated HAVE_GETLOADAVG.
11634
11635 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11636 BROKEN_MKTIME.
11637
a2522dca
GM
116382000-04-14 Gerd Moellmann <gerd@gnu.org>
11639
11640 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11641 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11642
33744b5d
DL
116432000-04-14 Dave Love <fx@gnu.org>
11644
c21c7262 11645 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11646 (INTERVAL_SRC): Convert to make variable.
11647 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11648 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11649 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11650 add LIBOBJS.
11651 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11652 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11653 (shortlisp): Add facemenu, float-sup, frame.
11654 (SOME_MACHINE_LISP): Remove them from here.
11655 (LIBES): Change unused LDLIBS to autoconf LIBS.
11656
11657 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11658
9d3d5916
KH
116592000-04-14 Kenichi Handa <handa@etl.go.jp>
11660
11661 * composite.c (update_compositions): If FROM and TO are not in a
11662 valid range, do nothing.
11663
198e3c7a
GM
116642000-04-13 Gerd Moellmann <gerd@gnu.org>
11665
52283633 11666 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11667
52283633 11668 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11669
11670 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11671 as TERMCAP_OBJ.
11672
055a28c9
EZ
116732000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11674
11675 * fileio.c (a_write): Remove redundant semi-colons.
11676 (e_write): Return -1 if failed to write all the data.
11677 This fixes the changes made at 1999-12-15.
11678
f5c75033
DL
116792000-04-12 Dave Love <fx@gnu.org>
11680
11681 * fns.c (mapcar1): Test for null vals to support mapc.
11682 (Fmapc): New function.
11683
0c3cfc51
EZ
116842000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11685
11686 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11687 (IT_frame_up_to_date): Support the buffer local value of
11688 cursor-type, if defined.
11689
33465a31
DL
116902000-04-10 Dave Love <fx@gnu.org>
11691
11692 * editfns.c (preceding-char, following-char): Doc fix.
11693
6ed56568
KR
116942000-04-10 Ken Raeburn <raeburn@gnu.org>
11695
11696 * Makefile.in (temacs): Revert 2000-03-12 change.
11697
7cf80d4e
JR
116982000-04-10 Jason Rumney <jasonr@gnu.org>
11699
11700 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11701
34f3f342
GM
117022000-04-10 Gerd Moellmann <gerd@gnu.org>
11703
1a1b1895
GM
11704 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11705 area buffer, if it's not set up yet.
11706
34f3f342
GM
11707 * indent.c (compute_motion): Set immediate_quit.
11708
be0dbdab
GM
117092000-04-09 Gerd Moellmann <gerd@gnu.org>
11710
52283633 11711 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11712 (realize_tty_face): Suppress boldness if colors are the inverse of
11713 the default colors, and tty_suppress_bold_inverse_default_colors_p
11714 is set.
11715 (Ftty_suppress_bold_inverse_default_colors): New function.
11716 (syms_of_xfaces): Defsubr it.
11717
be0dbdab
GM
11718 * buffer.c (Frestore_buffer_modified_p): New function.
11719 (syms_of_buffer): Defsubr it.
11720
e8413c3b
KR
117212000-04-08 Ken Raeburn <raeburn@gnu.org>
11722
87f67317
KR
11723 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11724 charset id (int) argument, not a charset (Lisp_Object).
11725
e8413c3b
KR
11726 * coding.h (code_convert_string): Declare.
11727 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11728 object, as the fourth argument to code_convert_string.
11729
52283633 11730 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11731 (Fset_fontset_font): Use EQ to compare lisp objects.
11732
7c752c80
KR
117332000-04-05 Ken Raeburn <raeburn@gnu.org>
11734
c0333abc
KR
11735 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11736 a pointer that looks like a lisp object.
11737 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11738 zero, instead see whether it's an integer object, since they can't
11739 have intervals.
11740 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11741
52283633
SM
11742 * dispnew.c (allocate_matrices_for_frame_redisplay)
11743 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11744 to convert between (unsigned) int values and lisp integers.
11745 * keyboard.c (read_key_sequence): Likewise.
11746 * lread.c (substitute_object_recurse): Likewise.
11747 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11748 * minibuf.c (do_completion, Fminibuffer_complete_word)
11749 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11750 * term.c (produce_special_glyphs): Likewise.
11751
11752 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11753 * print.c (print_preprocess, print_object): Likewise.
11754
11755 * search.c (compile_pattern): Use NILP when checking for nil.
11756
74e49b38
KR
11757 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11758 __OPTIMIZE__]: Provide a GNU C macro version that handles
11759 lisp-object unions.
11760 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11761 field, to better cope with ENABLE_CHECKING and calls that modify a
11762 Lisp_Object using its old value.
11763
685e5ed2
GM
117642000-04-04 Gerd Moellmann <gerd@gnu.org>
11765
c407c570
GM
11766 * window.c (compare_window_configurations): Signal an error
11767 if parameters C1 or C2 aren't window configurations.
11768
685e5ed2
GM
11769 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11770 AFTER_POTENTIAL_GC calls around calls to functions that can
11771 signal an error and thus invoke the debugger.
11772
587a49ab
GM
117732000-04-03 Gerd Moellmann <gerd@gnu.org>
11774
62f20204
GM
11775 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11776 an error if decoding fails.
11777
587a49ab
GM
11778 * keyboard.c (lispy_mouse_names): Variable removed.
11779 (Vlispy_mouse_stem): New variable.
11780 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11781 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11782 for any mouse button number. Increase size of mouse_syms and
11783 button_down_location as needed. Call modify_event_symbol with
11784 different arguments.
11785 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11786 Call modify_event_symbol with different arguments.
11787 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11788 for any button number. Call modify_event_symbol with different
11789 arguments.
11790 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11791 Accept a string for NAME_ALIST_OR_STEM.
11792
11793 * lisp.h (larger_vector): Add prototype.
11794
11795 * fns.c (larger_vector): Make externally visible.
11796
11797 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11798
2d1675e4
SM
117992000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11800
11801 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11802 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11803 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11804 we are between str1 and str2.
11805 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11806 (PATFETCH): Use `TRANSLATE'.
11807 (PATFETCH_RAW): Fetch multibyte char if applicable.
11808 (PATUNFETCH): Remove.
11809 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11810 When writing a char, write it directly into the pattern buffer rather
11811 than going needlessly through a temp char-array.
11812 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11813 multibyte magic and remove the useless `#ifdef emacs'.
11814 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11815 buffer.
11816
11817 * regex.h (struct re_pattern_buffer): Make field `multibyte'
11818 conditional on `emacs'.
11819
11820 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
11821
cc2d8c6b
KR
118222000-04-01 Ken Raeburn <raeburn@gnu.org>
11823
11824 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
11825 non-union-type versions of XMARK and friends here, because XMARK
11826 and friends won't work on an integer field if NO_UNION_TYPE is not
11827 defined.
52283633 11828 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 11829
52283633 11830 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
11831 (syms_of_composite): Delete local var NARGS, pass an int as first
11832 argument to Fmake_hash_table.
11833
2387b382
KR
11834 * editfns.c (text_property_stickiness): Use NILP to test
11835 Lisp_Object boolean value.
11836 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
11837 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
11838 problems reading from and changing the same lisp value in an
11839 XSETSTRING call.
11840
27660e89
GM
118412000-04-01 Gerd Moellmann <gerd@gnu.org>
11842
11843 * term.c (TN_no_color_video): New variable.
11844 (term_init): Intitialize TN_no_color_video.
11845 (enum no_color_bit): New enumeration.
11846 (MAY_USE_WITH_COLORS_P): New macro.
11847 (turn_on_face): Use it to determine if attributes may be used
11848 combined with colors.
11849
3578db3c
KR
118502000-04-01 Ken Raeburn <raeburn@gnu.org>
11851
11852 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 11853 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
11854 (enlarge_window): Variable sizep now points to Lisp_Object. Use
11855 proper accessor macros.
11856 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
11857 (grow_mini_window): Fix typo getting int value of root->height.
11858
6fc556fd
KR
11859 * xdisp.c (compute_string_pos): Fix order of arguments to
11860 string_pos_nchars_ahead.
11861 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
11862 count arg to variable-arg routines like Frun_hook_with_args and
11863 Fformat.
587a49ab
GM
11864 (back_to_previous_visible_line_start)
11865 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
11866 fixed-arg routines like Fget_char_property and Fmake_string.
11867 (reconsider_clip_changes): Use XINT when comparing integer lisp
11868 objects, or passing them as int arguments.
587a49ab
GM
11869 (mark_window_display_accurate, insert_left_trunc_glyphs)
11870 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11871 storing or passing integer values as lisp objects.
11872 (set_cursor_from_row, highlight_trailing_whitespace): Use
11873 INTEGERP, not implicit test against zero, for glyph object.
11874 (try_window_id): Don't use make_number when we want an int value.
11875
11876 * xfaces.c (xlfd_symbolic_value): Make last argument a
11877 Lisp_Object, to be consistent with callers.
11878 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11879 (lface_hash): Apply XFASTINT to lisp values before folding in.
11880
11881 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11882 fill in window width and height. Pass an int, not a lisp object,
11883 as first arg to Finsert.
11884
6e7b2457
GM
118852000-04-01 Gerd Moellmann <gerd@gnu.org>
11886
610d841e
GM
11887 * xfaces.c (realize_basic_faces): Block input while realizing
11888 the faces.
11889
6e7b2457
GM
11890 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11891
11892 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11893
aa110c0c
GM
118942000-03-31 Gerd Moellmann <gerd@gnu.org>
11895
11896 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 11897 or ASCII, handle case that per-char metric is null.
aa110c0c 11898
8801a864
KR
118992000-03-30 Ken Raeburn <raeburn@gnu.org>
11900
c6129d7e
KR
11901 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11902
52283633
SM
11903 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11904 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
11905 pointer, using eassert.
11906 * frame.h (XFRAME): Likewise.
11907
52283633
SM
11908 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11909 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11910 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 11911 * data.c (set_internal): Likewise.
52283633
SM
11912 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11913 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
11914 * fileio.c (auto_save_1): Likewise.
11915 * insdel.c (check_markers): Likewise.
11916 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11917 * undo.c (record_insert): Likewise.
11918 * vmsproc.c (child_sig): Likewise.
11919 * window.c (unshow_buffer, window_loop): Likewise.
11920 * xterm.c (x_erase_phys_cursor): Likewise.
11921
8e7af858
GM
119222000-03-30 Gerd Moellmann <gerd@gnu.org>
11923
11924 * xfns.c (free_image_cache): Free the cache structure itself
11925 last, after all its members have been freed.
11926
11927 * lisp.h (xstrdup): Add prototype.
11928
11929 * alloc.c (xstrdup): Moved here from xfaces.c.
11930 (allocating_for_lisp): Variable removed.
52283633 11931 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11932
11933 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11934 of Fsymbol_value.
11935 (xstrdup): Moved to alloc.c.
11936
e0b8c689
KR
119372000-03-29 Ken Raeburn <raeburn@gnu.org>
11938
b96f9fb7
KR
11939 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11940
11941 * emacs.c (main): Fix sense of no-loadup test.
11942
e0b8c689
KR
11943 * config.in (ENABLE_CHECKING): Undef.
11944
11945 * lisp.h (struct interval): Replace "parent" field with a union of
11946 interval pointer and Lisp_Object; add new bitfield to use as
11947 discriminant. Change other flag fields to bitfields.
11948 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11949 is defined and the supplied test fails, print a message and abort.
11950 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11951
11952 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11953 pointers; abort if the value looks like a lisp object.
52283633
SM
11954 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11955 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11956 Modify for new interval parent definition.
11957
52283633
SM
11958 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11959 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
11960 addressable lisp object in the interval structure.
11961 (die): New function.
11962 (suppress_checking): New variable.
11963
11964 * intervals.c (interval_start_pos): Just return 0 if there's no
11965 parent object.
11966
f83c5440
GM
119672000-03-29 Gerd Moellmann <gerd@gnu.org>
11968
11969 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11970 and earlier Emacs versions.
11971
11972 * keyboard.c (Ftop_level): Cancel busy-cursor.
11973
11974 * eval.c (call_debugger): Cancel busy-cursor.
11975
fdce64ff
KH
119762000-03-29 Kenichi Handa <handa@etl.go.jp>
11977
11978 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 11979 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 11980
f6a3f532
SM
119812000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11982
11983 * regex.c (analyse_first): New function obtained by ripping out most
11984 of re_compile_fastmap and generalizing it a little bit so that it
11985 can also just return whether a given (sub)pattern can match the empty
11986 string or not.
11987 (regex_compile): Use `analyse_first' to decide whether the loop-check
11988 needs to be done or not for *, +, *? and +? (the loop check is costly
11989 for non-greedy repetition).
11990 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11991
e9b309ac
DL
119922000-03-28 Dave Love <fx@gnu.org>
11993
52283633 11994 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 11995
e9b309ac
DL
11996 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11997
ed0767d8
SM
119982000-03-27 Stefan Monnier <monnier@cs.yale.edu>
11999
12000 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12001 an expression.
12002 (enum re_opcode_t): Update description of succeed_n.
12003 (PATFETCH): Always define.
12004 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12005 operators, char classes, shy-groups and intervals).
12006 Optimize special cases of intervals so as to only use succeed_n and
12007 jump_n when really needed.
12008 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12009 that we don't have to handle the special cases any more.
12010 Simplify on_failure_jump handling as well.
12011
e11e7e46
JR
120122000-03-28 Jason Rumney <jasonr@gnu.org>
12013
12014 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12015
88faab89
GM
120162000-03-27 Gerd Moellmann <gerd@gnu.org>
12017
182ff242
GM
12018 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12019
12020 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12021
182ff242
GM
12022 * alloc.c (mark_maybe_object): New function.
12023 (mark_memory): Use it.
12024 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12025 (setjmp_tested_p, longjmp_done): New variables.
12026 (test_setjmp): New function.
12027 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12028 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12029
c1005d06
GM
12030 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12031 to DEC_TEXT_POS and INC_TEXT_POS.
12032
12033 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12034 with parameter MULTIBYTE_P.
12035
52283633 12036 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12037
7439e5b9 12038 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12039 buffers because it looks for multibyte character byte sequences
12040 which don't exist in unibyte text.
7439e5b9 12041
d9c545da
GM
12042 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12043
11fd416e 12044 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12045 [DEBUG_X_COLORS]: New functions.
12046 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12047
12048 * xfns.c (x_set_cursor_color): Get color reference counts right.
12049
12050 * xterm.c (x_copy_color): New function.
12051 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12052
12053 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12054 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12055 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12056 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12057 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12058 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12059 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12060 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12061 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12062 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12063
11fd416e
GM
12064 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12065 names for handling per-buffer variables.
d9c545da
GM
12066
12067 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12068 instead of MAX_BUFFER_LOCAL_VARS.
12069 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12070
12071 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12072
88faab89
GM
12073 * xfns.c (x_specified_cursor_type): New function.
12074 (x_set_cursor_type): Use it.
12075
12076 * buffer.h (struct buffer): Add cursor_type.
12077
d80f42b7
SM
120782000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12079
12080 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12081 (print_partial_compiled_pattern, re_compile_fastmap):
12082 Handle new opcode.
d80f42b7
SM
12083 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12084 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12085 executing it as well as when popping it off the stack to find infinite
12086 loops in non-greedy repetition operators.
12087
89e80928
GM
120882000-03-26 Gerd Moellmann <gerd@gnu.org>
12089
3d4ff2dd
GM
12090 * doc.c (Qfunction_documentation): New variable.
12091 (syms_of_doc): Initialize Qfunction_documentation.
12092 (Fdocumentation): If FUNCTION is a symbol with non-nil
12093 `function-documentation' property, return a documentation derived
12094 from that.
12095
bd96bd79
GM
12096 * buffer.c (syms_of_buffer): Add default-cursor-type.
12097 (init_buffer_once): Don't let cursor_type have a local value
12098 in every buffer.
12099
19d1bc27
GM
12100 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12101 on buffer-local value of cursor_type.
12102 (x_draw_bar_cursor): Add parameter WIDTH.
12103
12104 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12105 (init_buffer_once): Set default cursor_type value to t.
12106 Mark cursor_type as local everywhere.
12107 (syms_of_buffer): New per-buffer variable cursor-type.
12108
89e80928
GM
12109 * buffer.h (struct buffer): Remove member local_var_flags,
12110 add local_flags.
12111 (MAX_BUFFER_LOCAL_VARS): New macro.
12112 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12113 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12114 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12115 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12116
52283633 12117 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12118
12119 * category.c (Fset_category_table): Use new macros for per-buffer
12120 variables.
12121
12122 * buffer.c (buffer_permanent_local_flags): Make a char array.
12123 (max_buffer_local_idx): New variable.
12124 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12125 for new handling of per-buffer variables.
12126 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12127 (init_buffer_once): Initialize per-buffer vars differently.
12128 Set max_buffer_local_idx.
12129
12130 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12131 variables.
12132
52283633 12133 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12134
12135 * data.c (do_symval_forwarding, store_symval_forwarding)
12136 (find_symbol_value, set_internal, default_value, Fset_default)
12137 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12138 per-buffer variables.
12139
12140 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12141
9a0dd3dc
GM
121422000-03-24 Gerd Moellmann <gerd@gnu.org>
12143
b68c375f
GM
12144 * xterm.c (x_term_init): Unblock input around call1 of
12145 Qvendor_specific_keysyms.
12146
9a0dd3dc
GM
12147 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12148 (find_defun_start): Consider an open parenthesis in column 0
12149 a defun start only if open_paren_in_column_0_is_defun_start is set.
12150 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12151
7973e637
SM
121522000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12153
12154 * eval.c (Fautoload): Add entry in load-history (if after dump).
12155 * lread.c (load-history): Update docstring.
12156
39210e90
GM
121572000-03-24 Gerd Moellmann <gerd@gnu.org>
12158
12159 * indent.c (Fvertical_motion): Always use the current buffer.
12160 Temporarily change the window's buffer, if necessary.
12161
72db3ab5
GM
121622000-03-23 Gerd Moellmann <gerd@gnu.org>
12163
12164 * xterm.c (fast_find_position): Make sure not to consider rows
12165 not visible in the window.
12166
990b2375
SM
121672000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12168
12169 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12170 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12171
ff4df011
JR
121722000-03-22 Jason Rumney <jasonr@gnu.org>
12173
12174 * w32menu.c (single_submenu): Set help string to NULL if none.
12175 (w32_menu_show): Set help string correctly.
12176 (add-menu-item): Set help string in MIIM_DATA for menu item.
12177 Load SetMenuItemInfoA explicitly.
12178 (w32_menu_display_help): New function.
427ec082 12179
ff4df011
JR
12180 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12181 (QCdata): Moved to xdisp.c.
12182
12183 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12184 (Vw32_charset_to_codepage_alist): Removed.
12185 (Vw32_charset_info_alist): New variable.
52283633
SM
12186 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12187 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12188 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12189 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12190 with TODO comment.
12191 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12192 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12193 Define Vw32_charset_info_alist and w32_charset symbols.
12194
121952000-03-22 Jason Rumney <jasonr@gnu.org>
12196
12197 * makefile.nt (w32bdf.obj): Update dependencies.
12198
12199 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12200
12201 * w32fns.c: Include fontset.h after dispextern.h.
12202 (Fx_create_frame): Do not create fontset.
12203 (w32_load_system_font): Doc fix.
12204 (Fx_close_connection): Free full_name if it is not shared.
12205
12206 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12207 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12208 Callers updated.
ff4df011
JR
12209 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12210 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12211 (w32_font_is_double_byte): New function, needs body.
12212 (x_append_glyph): Set glyph->glyph_not_available_p.
12213 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12214 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12215 character, convert it to a unibyte character.
12216 (struct glyph_string): Delete member `charset'.
12217 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12218 calculating it is found.
12219 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12220 the case that per char metric is not available correctly.
12221 (x_fill_glyph_string): Handle the case that the specific glyph is
12222 not available correctly.
12223 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12224 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12225 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12226 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12227 fontset. Don't call FS_LOAD_FONT.
12228
439d5cb4
KR
122292000-03-22 Ken Raeburn <raeburn@gnu.org>
12230
12231 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12232 (INT_LISPLIKE): New macro.
12233 (NULL_INTERVAL_P): Use it.
52283633
SM
12234 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12235 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12236 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12237
12238 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12239 explicit references to "parent" field of struct interval and
12240 associated unclean type conversions.
52283633
SM
12241 * intervals.c (create_root_interval, root_interval, rotate_right)
12242 (rotate_left, balance_possible_root_interval, split_interval_right)
12243 (split_interval_left, interval_start_pos, find_interval)
12244 (next_interval, previous_interval, update_interval)
12245 (adjust_intervals_for_insertion, delete_node, delete_interval)
12246 (adjust_intervals_for_deletion, merge_interval_right)
12247 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12248 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12249 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12250 Likewise.
12251 * syntax.c (update_syntax_table): Likewise.
12252
12253 * intervals.c (reproduce_tree_obj): New function, like
12254 reproduce_tree but takes a Lisp_Object for the parent. Declare
12255 with prototype.
12256 (graft_intervals_into_buffer): Use it when appropriate.
12257 (reproduce_tree): Declare with prototype.
12258 (balance_possible_root_interval): Check that the parent is a lisp
12259 object before trying to examine its type.
12260
ee1c5b21
GM
122612000-03-22 Gerd Moellmann <gerd@gnu.org>
12262
12263 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12264 as strings only if both are known to be strings.
12265
12266 * s/openbsd.h (LIBS_TERMCAP): Undef.
12267
1fb352e0
SM
122682000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12269
12270 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12271 definitions for non-Emacs compilation.
12272 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12273 outside of `#ifdef emacs'.
12274 (print_partial_compiled_pattern): Update.
12275 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12276 (re_compile_fastmap): Merge handling of charset and charset_not (for
12277 emacs and non-emacs compilation as well).
12278 Similarly for (not)categoryspec and (not)syntaxspec.
12279 Don't use the fastmap when reaching `anychar' since the added
12280 complexity is not justified.
12281 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12282 and (not)syntaxspec. Merge (not)categoryspec.
12283
fdaa1f77
KH
122842000-03-22 Kenichi Handa <handa@etl.go.jp>
12285
52283633
SM
12286 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12287 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12288 --without-x.
fdaa1f77 12289
d152fb46
DL
122902000-03-21 Dave Love <fx@gnu.org>
12291
12292 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12293 doc string.
12294
d2cafc8c
GM
122952000-03-21 Gerd Moellmann <gerd@gnu.org>
12296
12297 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12298 (lface_fully_specified_p): Don't check contents of
12299 LFACE_FONT_INDEX because that attribute is optional.
12300 (realize_x_face): Remove now unwarranted xassert.
12301
9111d4b5
KH
123022000-03-21 Kenichi HANDA <handa@etl.go.jp>
12303
12304 The following changes are to make font selection based on
12305 characters, not charset. In addition, they recover fontset
12306 facilities while utilizing the new font selection mechanism.
12307
6c4bfdc0
KH
12308 * Makefile.in (fontset.o): Depend on dispextern.h.
12309
12310 * alloc.c (mark_face_cache): Don't mark face->registry.
12311
9111d4b5
KH
12312 * dispextern.h (struct glyph): New member glyph_not_available_p.
12313 Use 22 bits for face_id.
12314 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12315 (struct face): Delete member registry, new member ascii_face.
12316 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12317 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12318 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12319 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12320
12321 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12322 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12323 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12324 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12325 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12326 (fs_free_face_fontset, fontset_font_pattern)
12327 (face_suitable_for_char_p, face_for_char)
12328 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12329 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12330 (FS_LOAD_FACE_FONT): New macro.
12331
12332 * fontset.c: All codes rewritten or adjusted for the change of
12333 fontset implementation. Now fontset is represented by char table.
52283633
SM
12334 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12335 Variables removed.
9111d4b5 12336 (my_strcasecmp): Function removed.
52283633 12337 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12338 (AREF, ASIZE): New macros.
52283633
SM
12339 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12340 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12341 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12342 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12343 (fontset_id_valid_p, font_family_registry, fontset_name)
12344 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12345 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12346 New functions.
12347 (fs_load_font): New arg FACE. Caller changed.
12348 (fs_query_fontset): Argument changed. Caller changed.
12349 (Fquery_fontset): call fs_query_fontset.
12350 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12351 Functions removed.
52283633
SM
12352 (clear_fontset_elements, check_registry_encoding)
12353 (check_fontset_name): New functions.
9111d4b5
KH
12354 (syms_of_fontset): Set char-table-extra-slots property of fontset
12355 to 3. Staticpro and initialize Vfontset_table and
12356 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12357
12358 * frame.h (struct frame): Member `fontset_data' removed.
12359 (FRAME_FONTSET_DATA): Macro removed.
12360
12361 * frame.c (make_frame): Don't allocate f->fontset_data.
12362 (Fdelete_frame): Don't free f->fontset_data.
12363
6c4bfdc0
KH
12364 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12365
9111d4b5
KH
12366 * xdisp.c (charset_at_position): Function removed.
12367 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12368 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12369 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12370 Likewise.
12371 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12372 FACE_FOR_CHARSET.
52283633
SM
12373 (get_next_display_element, append_space)
12374 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12375
12376 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12377 Variables removed.
12378 (clear_font_table, frame_update_line_height, load_face_font):
12379 Adjusted for the change of fontset implementation.
12380 (load_face_fontset_font): Function removed.
12381 (pixel_point_size): New function.
12382 (font_list): Argument type changed. Caller changed.
12383 (LFACE_FONT): New macro.
12384 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12385 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12386 Lisp_Object. Determine the font name by actually loading a font
12387 by the specified pattern. Set LFACE_FONT (lface) to the specified
12388 pattern. Even if a font is not found, don't try alternatives.
12389 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12390 (set_font_frame_param): If `font' is specified in lface, use it.
12391 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12392 (lface_same_font_attributes_p): Likewise.
12393 (make_realized_face): Arguent changed. Caller changed. Set
12394 face->ascii_face to face itself.
12395 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12396 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12397 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12398 (free_realized_multibyte_face): New function.
12399 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12400 changed. Caller changed.
12401 (try_font_list): Argument type changed.
12402 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12403 (choose_face_font): Argument changed. Handle fontset properly.
12404 (choose_face_fontset_font): Function removed.
12405 (realize_default_face, realize_named_face): Don't remove the
12406 former face here.
12407 (realize_face): Argument changed. Caller changed. Remove face
52283633 12408 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12409 (realize_x_face): Argument changed. Caller changed. For a
12410 multibyte character, share fontset with base_face. For a single
52283633 12411 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12412 (realize_tty_face): Argument changed. Caller changed.
12413 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12414 (face_at_buffer_position): Don't check multibyte_p for returning
12415 DEFAULT_FACE_ID.
12416 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12417 FACE_SUITABLE_FOR_CHARSET_P.
12418 (syms_of_xfaces): Remove code for Qx_charset_registry and
12419 Vface_default_registry.
12420
6c4bfdc0
KH
12421 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12422 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12423 (x_per_char_metric): Don't try FONT->default_char. Even if
12424 pcm->width is zero, glyph bits may exist.
12425 (x_encode_char): Always initialize char2b->byte1.
12426 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12427 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12428 (x_append_glyph): Set glyph->glyph_not_available_p.
12429 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12430 it->charset. Handle the case that per char metric is not
12431 available. If it->multibyte_p is zero and it->c is a multibyte
12432 character, convert it to a unibyte character.
12433 (struct glyph_string): Delete member `charset'.
12434 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12435 the case that per char metric is not available correctly.
12436 (x_fill_glyph_string): Handle the case that the specific glyph is
12437 not available correctly.
12438 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12439 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12440 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12441 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12442 fontset. Don't call FS_LOAD_FONT.
12443
12444 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12445 (x_create_tip_frame): Likewise.
12446 (Fx_close_connection): Free full_name of font_info.
12447
12448 * fns.c (optimize_sub_char_table): New function.
12449 (Foptimize_char_table): New function.
12450 (syms_of_fns): Defsubr Soptimize_char_table.
12451
b33dd3b0
GM
124522000-03-20 Gerd Moellmann <gerd@gnu.org>
12453
12454 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12455 only if buffer is displayed in some window.
12456
12457 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12458 (try_window_reusing_current_matrix): Don't call scroll run
12459 function if run's current and desired position are the same;
12460 this prevents cursor flickering.
12461
4e8a9132
SM
124622000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12463
12464 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12465
12466 * regex.c (RE_STRING_CHAR): New macro.
12467 (GET_CHAR_AFER_2): Remove.
12468 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12469 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12470 (print_partial_compiled_pattern, re_compile_fastmap)
12471 (re_match_2_internal): Remove on_failure_jump_exclusive.
12472 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12473 optimization only need to work for * (ie. can use of_keep_string_jump).
12474 Remove the special case for .*\n since it is now covered by the general
12475 optimization.
12476 (re_search_2): Don't bother with `room'.
12477 (skip_one_char): New function.
12478 (skip_noops): Simplify since `memory' is not needed any more.
12479 (mutually_exclusive_p): Restructure slightly to use `switch' and
12480 add handling for "all" remaining cases.
12481 (re_match_2_internal): Change on_failure_jump_smart to use
12482 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12483 rather than on_failure_jump_exclusive.
12484
2136fdd4
GM
124852000-03-19 Gerd Moellmann <gerd@gnu.org>
12486
12487 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12488 number of bits per RGB because it's everywhere used as the depth
12489 of the visual.
12490
12491 * term.c (calculate_costs): Remove code dealing with X frames.
12492
18e21ce8 124932000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12494
12495 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12496
d7b511c4
GM
124972000-03-18 Gerd Moellmann <gerd@gnu.org>
12498
12499 * lread.c (read_integer): Unread the last char not consumed.
12500
16b5d424
GM
125012000-03-17 Gerd Moellmann <gerd@gnu.org>
12502
12503 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12504 which are in the process of being deleted.
16b5d424 12505
1fa28578
GM
125062000-03-16 Gerd Moellmann <gerd@gnu.org>
12507
83488cce
GM
12508 * Makefile.in (mostlyclean): Add `*.core'.
12509 (clean): Add `bootstrap-emacs'.
12510
1fa28578
GM
12511 * lread.c (read_integer): New function.
12512 (read1): Support read syntax #o, #x, #b, #r.
12513
99633e97
SM
125142000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12515
1fa28578
GM
12516 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12517 make sure POINTER_TO_OFFSET gives the same value before and after
12518 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12519 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12520 (debug): Now only active if > 0 rather than if != 0.
12521 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12522 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12523 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12524 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12525 (store_op1, store_op2, insert_op1, insert_op2)
12526 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12527 (group_in_compile_stack): Move to after its arg's types are
12528 declared and add a prototype.
99633e97 12529 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12530 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12531 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12532 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12533 indentation of the greedy-op and shy-group code.
99633e97
SM
12534 (at_(beg|end)line_loc_p): Fix argument's types.
12535 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12536 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12537 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12538 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12539 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12540 QUIT unconditionally.
99633e97 12541
699238d9
GM
125422000-03-15 Gerd Moellmann <gerd@gnu.org>
12543
12544 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12545 a sole completion.
12546
12547 * process.c (send_process): Add a hint that the function
12548 can call Lisp code to its comment.
12549
12550 * lread.c (load_dangerous_libraries): New variable.
12551 (Vbytecomp_version_regexp): New variable.
12552 (safe_to_load_p): New function.
12553 (Fload): Handle files not compiled with Emacs specially.
12554 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12555
34e23e5a
GM
125562000-03-14 Gerd Moellmann <gerd@gnu.org>
12557
9c763cca
GM
12558 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12559
12560 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12561 support functions only if HAVE_X11R6_XIM is defined.
12562 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12563
12564 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12565
12566 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12567 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12568 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12569
12570 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12571 (HAVE_X11R6_XIM): Define.
12572
12573 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12574
34e23e5a
GM
12575 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12576 If set, call XSynchronize.
12577
66f0296e
SM
125782000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12579
34e23e5a
GM
12580 * regex.c: Declare a new type `re_char' used throughout the code
12581 for the string char type. It's `const unsigned char' to match the
12582 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12583 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12584 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12585 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12586 code duplication.
66f0296e
SM
12587
12588 * charset.h (GET_CHAR_AFTER_2): Remove.
12589 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12590
854a025c
KR
125912000-03-12 Ken Raeburn <raeburn@gnu.org>
12592
12593 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12594 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12595 of them try to use backquotes.
12596
b9d2c7e2
DL
125972000-03-12 Dave Love <fx@gnu.org>
12598
12599 * unexelf.c: Restore changes of 1999-10-19.
12600 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12601 fix its type and alignment; copy it from current process.
12602
5e5dff44
GM
126032000-03-12 Gerd Moellmann <gerd@gnu.org>
12604
9b2f3c38
GM
12605 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12606 has been found. Fix bug not computing timer's predecessor.
12607
427ec082 12608 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12609 file name.
12610
e1cff360
GM
12611 * window.c (Fsave_window_excursion): Doc fix.
12612
52283633 12613 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12614
e411ce4b
EZ
126152000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12616
12617 * msdos.c (vga_installed): New function, code moved from
12618 dos_set_window_size.
12619 (Qbar, Qcursor_type, outside_cursor): New variables.
12620 (syms_of_msdos): Intern and staticpro them.
12621 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12622 shape used outside Emacs when called for the first time.
12623 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12624 cursor shape used outside Emacs.
12625 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12626 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12627 type has changed.
12628 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12629 parameters specify the cursor. Make qreverse a global
12630 variable (renamed to Qreverse).
12631
80460654
GM
126322000-03-09 Gerd Moellmann <gerd@gnu.org>
12633
12634 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12635
95cd4c40
SM
126362000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12637
12638 This is a big redesign of failure-stack and register handling, prompted
12639 by bugs revealed when trying to add shy-groups. Overall, what happened
12640 is that loops are now structured a little differently, groups can be
12641 shy and the code is a little simpler.
12642
12643 * regex.h: Update the copyright.
12644 (RE_SHY_GROUPS): New value.
12645 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12646 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12647
80460654
GM
12648 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12649 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12650 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12651 for (start|stop)_memory since they now only take one argument (the
12652 second has becomes unnecessary).
52283633 12653 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12654 (print_compiled_pattern): Use %ld to printf long ints and flush to
12655 make debugging a little easier.
95cd4c40
SM
12656 (union fail_stack_elt): Make the integer unsigned.
12657 (struct fail_stack_type): Add a `frame' element.
12658 (INIT_FAIL_STACK): Init `frame' as well.
12659 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12660 (DEBUG_PUSH, DEBUG_POP): Remove.
12661 (NUM_REG_ITEMS): Remove.
12662 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12663 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12664 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12665 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12666 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12667 New macros.
80460654
GM
12668 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12669 address pushed is not the destination of the jump but the source
12670 of it instead.
95cd4c40
SM
12671 (NUM_FAILURE_ITEMS): Remove.
12672 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12673 registers before the actual failure point). Don't hardcode any
12674 meaning for str==NULL anymore.
95cd4c40 12675 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12676 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12677 Remove.
95cd4c40
SM
12678 (REG_UNSET_VALUE): Use NULL (why not?).
12679 (compile_range): Remove declaration since it doesn't exist.
12680 (struct compile_stack_elt_t): Remove inner_group_offset.
12681 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12682 (regex_grow_registers): Remove dead code.
12683 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12684 (regex_compile): Add shy-groups Change loops to use
12685 on_failure_jump_smart&jump instead of
12686 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12687 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12688 variable to me). Use `jump' instead of `jump_past_alt' and don't
12689 bother with push_dummy_failure in alternatives since it is now
12690 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12691 emacs' for (re)allocating the stack.
12692 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12693 from loop when bufp->can_be_null rather than jumping to `done'.
12694 Avoid jumping backwards so as to ensure termination. Use
12695 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12696 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12697 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12698 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12699 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12700 (lowest_active_reg, highest_active_reg)
12701 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12702 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12703 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12704 variables. Push register (in `start_memory') on the stack rather
12705 than storing it in old_reg(start|end). Remove the cycle detection
12706 from `stop_memory', replaced by the use of on_failure_jump_loop
12707 for greedy loops. Add code for the new on_failure_jump_<foo>.
12708 Remove ad-hoc code in `on_failure_jump' to push more registers in
12709 the case of a loop. Take out code from `maybe_pop_jump' into
12710 separate functions and adapt it to the semantics of
12711 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12712 and push_dummy_failure. Remove dummy_failure handling and
12713 handling of `failures to jump to on_failure_jump' (this last one
12714 was already dead code, it seems).
12715 (group_match_null_string_p, alt_match_null_string_p)
12716 (common_op_match_null_string_p): Remove.
95cd4c40 12717
7397acc4
DL
127182000-03-08 Dave Love <fx@gnu.org>
12719
12720 * config.in: Don't depend on __STDC__ for volatile.
12721 Add POINTER_TYPE, PTR, PROTOTYPES.
12722
12723 * hftctl.c, strftime.c: Use PROTOTYPES.
12724 * eval.c (find_handler_clause): Likewise.
12725
12726 * mem-limits.h: Use POINTER_TYPE.
12727
12728 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12729 (memory_warnings): Declare using POINTER_TYPE.
12730
5e91ff9e
GM
127312000-03-08 Gerd Moellmann <gerd@gnu.org>
12732
feab4fba
GM
12733 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12734
52283633 12735 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12736
5e91ff9e
GM
12737 * xfns.c: Remove obsolete code in #if 0.
12738 (Fx_focus_frame): New function.
12739
a735b7e1
KH
127402000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12741
12742 * coding.c (coding_category_name): Add coding-category-utf-8,
12743 coding-category-utf-16-be, coding-category-utf-16-le.
12744 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12745 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12746 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12747 (detect_coding_utf_8): New function.
12748 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12749 UTF_16_LOW_SURROGATE_P): New macros.
12750 (detect_coding_utf_16): New function
12751 (detect_coding_mask): When priorities are specified, skip any
12752 categories that have `nil' coding-system. Fix bug of returning
12753 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12754 returns a mask not set in PRIORITIES.
12755 (detect_eol_type_in_2_octet_form): New function.
12756 (detect_eol): selects detect_eol_type_XXX to call according to
12757 cooding->category_idx.
12758 (detect_coding_system): Remove `nil' coding-system in the result.
12759 (Fupdate_coding_systems_internal): Update all coding-categories.
12760
52283633
SM
12761 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12762 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12763 New macros.
12764 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12765 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12766 (CODING_CATEGORY_IDX_UTF_16_LE)
12767 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12768 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12769 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12770 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12771
9994cc69
GM
127722000-03-07 Gerd Moellmann <gerd@gnu.org>
12773
e9b4e5ff
GM
12774 * doc.c (Fdocumentation_property): If value is not a string,
12775 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12776
f7daf1e1
GM
12777 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12778 close the display with XtCloseDisplay. This caused a bus error
12779 on OpenWindows.
12780
9994cc69
GM
12781 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12782 complete but not unique.
12783
4336c705
GM
127842000-03-06 Gerd Moellmann <gerd@gnu.org>
12785
18bb0684
GM
12786 * process.c (send_process): Remove local variable `procname' that
12787 might become invalid when a GC happens. Instead, access the
12788 process name slot directly.
12789
4336c705
GM
12790 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12791 orig_height if set.
12792
12793 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12794 orig_height if set.
12795
515d0d0e
EZ
127962000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12797
12798 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12799 glyph matrices have been freed.
12800
100b3cbb
GM
128012000-03-05 Gerd Moellmann <gerd@gnu.org>
12802
50df5e5a 12803 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 12804 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
12805
12806 * xfns.c (QCdata): Moved to xdisp.c.
12807
12808 * xdisp.c (QCdata): Moved here from xfns.c.
12809 (syms_of_xdisp): Initialize QCdata.
12810
12811 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12812
12813 * window.c (coordinates_in_window): Use
12814 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12815 FRAME_INTERNAL_BORDER_WIDTH.
12816
100b3cbb 12817 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 12818 it is obviously invalid.
100b3cbb
GM
12819
12820 * xterm.c (x_term_init): Create a colormap if not using the
12821 default visual.
12822
12823 * xterm.h (select_visual): Change prototype.
12824
12825 * xfns.c (select_visual): Rewritten. Recognize user-specified
12826 visual classes.
12827 (visual_classes): New variable.
12828
64d739c4
GM
128292000-03-04 Gerd Moellmann <gerd@gnu.org>
12830
12831 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
12832 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
12833 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 12834 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
12835 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
12836 XtNcolormap resources.
12837 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
12838 (Fx_create_frame): Initialize color members of x_output structure.
12839 (xpm_load): Pass colormap to XPM lib.
12840
12841 * xfaces.c (x_free_colors): Access colormap of frame using
12842 FRAME_X_COLORMAP. Be paranoid about freeing black and white
12843 when default colormap is used.
12844
12845 * xterm.c (x_term_init): Set Colormap member of x_display_info
12846 structure. Copy colormap if resource `privateColormap' is
12847 specified (PseudoColor only).
12848 (x_setup_relief_color): Access colormap of frame using
12849 FRAME_X_COLORMAP.
12850
12851 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
12852 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
12853
c3cee013
JR
128542000-03-04 Jason Rumney <jasonr@gnu.org>
12855
12856 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
12857 other non-platform-specific equivalents.
64d739c4 12858 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
12859 specific functions and macros as their w32 equivalents where
12860 non-platform-specifics are not available.
12861 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
12862 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
12863 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12864 (frame_update_line_height): Use macros to access f->output_data.
12865 (defined_color): Remove FIXME comments; fixed.
12866 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12867 into #ifdef blocks. Add WINDOWSNT blocks.
12868 (Fx_list_fonts): Use macros for accessing font data.
12869 (set_lface_from_font_name): Different default fonts for X and
12870 WINDOWSNT.
12871 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12872 scalable for backward compatibility.
64d739c4 12873 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12874 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12875
64d739c4 12876 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12877 syms_of_w32faces.
12878
12879 * makefile.nt (w32faces.obj): Remove.
12880 (xfaces.obj): Add.
12881
807cc41c
JR
128822000-03-03 Jason Rumney <jasonr@gnu.org>
12883
12884 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12885 correct parameters.
12886
0007072a
KR
128872000-03-03 Ken Raeburn <raeburn@gnu.org>
12888
12889 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12890 standard ELF definitions here if the system header does not.
12891
71a6ba55
GM
128922000-03-03 Gerd Moellmann <gerd@gnu.org>
12893
12894 * xterm.c (PER_CHAR_METRIC): Removed.
12895 (x_per_char_metric_1, x_default_char): New functions.
12896 (x_per_char_metric): If font's default char is invalid, return
12897 metrics of a suitably chosen usable default char.
12898 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
12899 char, replace occurrences of unprintable chars with a suitably
12900 chosen usable default char.
71a6ba55 12901
900fa1f1
GM
129022000-03-02 Gerd Moellmann <gerd@gnu.org>
12903
42f55fe0
GM
12904 * xterm.c (note_mouse_highlight): Return quickly if frame's
12905 glyph matrices have been freed.
12906
12907 * dispnew.c (free_glyphs): Block input while freeing matrices.
12908
900fa1f1
GM
12909 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12910
52283633
SM
12911 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12912 Use x_free_colors.
900fa1f1
GM
12913
12914 * dispextern.h (x_free_colors): Add prototype.
12915
12916 * xfaces.c (x_free_colors): New function.
12917 (unload_color, free_face_colors): Use it.
12918
2f950292
EZ
129192000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12920
12921 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12922
12923 * window.c [MSDOS]: Include msdos.h.
12924
54d04320
DL
129252000-03-02 Dave Love <fx@gnu.org>
12926
12927 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12928
12929 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12930 set C_OPTIMIZE_SWITCH for gcc.
12931
0ba93ac4
KH
129322000-03-02 Kenichi Handa <handa@etl.go.jp>
12933
12934 * coding.c (coding_save_composition): Be sure to allocate
12935 composition data area in coding even if there's no composition in
12936 the current run.
12937
a2bc11d4
JR
129382000-03-01 Jason Rumney <jasonr@gnu.org>
12939
12940 * w32term.c: Equivalent changes to those made to xterm.c on
12941 2000-02-25 and 2000-02-24.
12942
12943 * w32fns.c: Equivalent changes to those made to xfns.c on
12944 2000-02-25 and 2000-02-21.
12945
12946 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12947 correct line-end convention is followed.
12948
12949 * w32menu.c [HAVE_BOXES]: Remove #undef.
12950 (single_keymap_panes): Remove code for simulating checkmarks.
12951 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12952 Remove code for drawing simulated checkmarks.
12953 (w32_menu_show): make unibyte help string correctly.
12954 (add_menu_item): draw standard Windows checkmarks. Draw radio
12955 buttons as radio buttons if possible.
12956
72d19d75
GM
129572000-03-01 Gerd Moellmann <gerd@gnu.org>
12958
2df636f4
GM
12959 * sysdep.c (start_of_text): Don't define this function for NetBSD
12960 with ELF.
12961
427ec082 12962 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
12963 Don't define.
12964 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12965 (LINKER): Don't undef if __NetBSD__ is defined.
12966
12967 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12968
12969 * fileio.c [__NetBSD__]: Define `unix'.
12970
72d19d75
GM
12971 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12972
ed4d0512
GM
129732000-02-29 Gerd Moellmann <gerd@gnu.org>
12974
50b1039f
GM
12975 * atimer.c (start_atimer): Don't abort when timers are stopped.
12976 (append_atimer_lists): New function.
12977 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12978 arbitrary lists of stopped and running atimers.
12979
ed4d0512
GM
12980 * atimer.c (cancel_atimer): Handle canceling an atimer when
12981 some timers are stopped.
12982
12983 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12984 after canceling it.
12985
12986 * fns.c (maybe_resize_hash_table): Handle case of new size
12987 coming out as being the same as old size.
12988
387023ee
JR
129892000-02-27 Jason Rumney <jasonr@gnu.org>
12990
12991 * makefile.nt: Add atimer.h to dependencies.
12992 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12993 * w32console.c: Only disable window system features for dispextern.h
12994 (initialize_w32_display): Build a display info for the console.
12995 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12996 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12997 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
12998 as 2 button mice.
12999 * w32gui.h (struct W32FontStruct): Revert last change after change
13000 to xdisp.c.
13001 * w32menu.c (single_submenu): Set up help string.
13002 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13003 (w32_dialog_show): Set up help string.
13004 * w32term.c (w32_display_info_for_display): Remove unused function.
13005 (w32_draw_bitmap): Use pre-built bitmaps.
13006 (w32_initialize_display_info): New function to initialize parts of
13007 display info that are common to both GUI and console frames.
13008 (w32_term_init): Use w32_initialize_display_info. Do not set
13009 Vw32_num_mouse_buttons here, as it is not called for console
13010 frames. Build bitmaps for indicating truncated lines etc.
13011 (x_delete_display): Destroy pre-built bitmaps.
13012 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13013 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13014
4516715a
DL
130152000-02-27 Dave Love <fx@gnu.org>
13016
13017 * lisp.h: Add a bunch of prototypes.
13018
171ca836
KH
130192000-02-26 Kenichi Handa <handa@etl.go.jp>
13020
13021 * keyboard.c (read_char): Set `usec' correctly.
13022
4013921d
KH
130232000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13024
13025 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13026 `lambda', set reg[RRR] to the map index.
13027 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13028 reg[RRR] to 0. Otherwise, set it to -1.
13029
9244a058
GM
130302000-02-25 Gerd Moellmann <gerd@gnu.org>
13031
2df636f4 13032 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13033
18e21ce8 130342000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13035
f43d79c1
GM
13036 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13037 and contains a `:', prepend `/:'.
13038
13039 * window.c (select_window_1): If selected_window is nil,
13040 don't "swap out" the buffer's point.
13041 (Fset_window_configuration): Set selected_window to nil
13042 before calling Fselect_window.
13043 (unshow_buffer): Don't set point in buffer from window's point
13044 if another more recently selected window also shows the buffer.
13045
bed0c171
GM
130462000-02-25 Gerd Moellmann <gerd@gnu.org>
13047
449c3c52
GM
13048 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13049
f5b58615
GM
13050 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13051 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13052 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13053 New variables.
f5b58615
GM
13054 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13055 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13056 (hide_busy_cursor): New functions.
13057 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13058
13059 * minibuf.c (read_minibuf): Cancel busy-cursor.
13060
13061 * keyboard.c (command_loop_1): Call start_busy_cursor before
13062 Fcommand_execute and cancel_busy_cursor after it.
13063 (timer_check): Remove busy-cursor code.
13064 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13065 cursor timer.
13066
13067 * process.c (wait_reading_process_input): Remove busy-cursor code.
13068
13069 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13070 Fx_hide_busy_cursor.
13071
13072 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13073 Remove prototyoes.
13074 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13075
13076 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13077
13078 * xterm.c (XTread_socket): Remove busy-cursor code.
13079
4eb8436f
GM
13080 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13081 (build_frame_matrix_from_leaf_window): Put code handling
13082 glyph row's not being a slice of a frame row in #if 0.
13083 (sync_window_with_frame_matrix_rows): New function.
13084 (frame_row_to_window): New function.
13085 (mirror_line_dance): Handle copies between windows.
13086
3cb65b0e
GM
13087 * lread.c (Fload): Use `xfree' instead of `free'.
13088 (init_obarray): Use `xmalloc' instead of `malloc'.
13089
bed0c171
GM
13090 * window.c (Fset_window_buffer): Set WINDOW to the window
13091 after decoding.
2add4349
GM
13092 (coordinates_in_window): Take frame's internal border width
13093 into account.
bed0c171 13094
42088c12
GM
130952000-02-24 Gerd Moellmann <gerd@gnu.org>
13096
13097 * xterm.c (x_display_and_set_cursor): Display cursor of
13098 non-selected windows depending on the setting of
13099 cursor_in_non_selected_windows.
13100
13101 * xdisp.c (cursor_in_non_selected_windows): New variable.
13102 (syms_of_xdisp): DEFVAR_BOOL it.
13103
d1e103b2
GM
131042000-02-23 Gerd Moellmann <gerd@gnu.org>
13105
723e779c
GM
13106 * data.c (Fstring_to_number): If number is greater than what
13107 fits into an integer, return a float.
13108
d1e103b2
GM
13109 * eval.c (specbind): Remove references to
13110 keyword_symbols_constant_flag.
13111
13112 * data.c (keyword_symbols_constant_flag): Removed.
13113 (Fmakunbound, set_internal, syms_of_data): Remove references to
13114 keyword_symbols_constant_flag.
13115
13116 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13117
214f877f
KH
131182000-02-23 Kenichi Handa <handa@etl.go.jp>
13119
13120 * syntax.c (multibyte_syntax_as_symbol): New variable.
13121 (syms_of_syntax): Declare it as a Lisp variable.
13122 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13123 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13124 nonzero, treat all multibyte characters as symbol.
52283633 13125 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13126
130adcb7
EZ
131272000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13128
3cb65b0e 13129 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13130 a deleted frame.
130adcb7 13131
17cbbf95
GM
131322000-02-21 Gerd Moellmann <gerd@gnu.org>
13133
13134 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13135
13136 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13137 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13138
beb0bc36
DL
131392000-02-21 Dave Love <fx@gnu.org>
13140
13141 * frame.c (Vmouse_position_function): New variable.
13142 (Fmouse_position): Use it.
13143 (syms_of_frame): Install it.
13144
13145 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13146
1d92afcd
GM
131472000-02-20 Gerd Moellmann <gerd@gnu.org>
13148
13149 * fileio.c (Finsert_file_contents): Unbind the binding of
13150 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13151
13152 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13153 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13154 (specbind, unbind_to): Handle most common case of non-constant
13155 symbol with trivial value specially.
13156
13157 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13158
18e21ce8 131592000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13160
13161 * data.c (Fmake_variable_buffer_local): Doc fix.
13162 Init found_for_buffer to 0.
13163 (Fmake_variable_frame_local): If the variable has already
13164 been buffer-local, set the check_frame field.
13165
1d4311c3
EZ
131662000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13167
13168 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13169 produced for CODING_MODE_LAST_BLOCK requires.
13170
2dc95ddd
DL
131712000-02-18 Dave Love <fx@gnu.org>
13172
13173 * keyboard.c (echo_keystrokes): Remove declaration.
13174 (Vecho_keystrokes) New variable.
13175 (read_char, record_menu_key, read_key_sequence): Use it to allow
13176 use of float value.
13177 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13178
13179 * lread.c: Undef feature selection macros before defining.
13180
f0930f35
GM
131812000-02-18 Gerd Moellmann <gerd@gnu.org>
13182
13183 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13184 for symbols other than the symbol in question.
13185
e3d4de90
DL
131862000-02-17 Dave Love <fx@gnu.org>
13187
13188 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13189
0b378936
GM
131902000-02-17 Gerd Moellmann <gerd@gnu.org>
13191
d621caf7
GM
13192 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13193
0b378936
GM
13194 * alloc.c (enum mem_type): Compile unconditionally.
13195
3b451f74
EZ
131962000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13197
13198 * xfaces.c (tty_defined_color): Don't return faulire indication
13199 for unspecified-fg and unspecified-bg pseudo-colors.
13200
10689a01
GM
132012000-02-17 Gerd Moellmann <gerd@gnu.org>
13202
1216f5e4
GM
13203 * alloc.c (mark_object): Don't mark symbol names in pure space.
13204 (gc_sweep): Don't unmark symbol names in pure space.
13205
13206 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13207 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13208 [GC_MARK_STACK]: New defines.
427ec082 13209 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13210 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13211
13212 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13213
13214 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13215 allocate_buffer instead of xmalloc.
13216
13217 * alloc.c (toplevel): Include setjmp.h.
13218 (PURE_POINTER_P): New define.
13219 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13220 (Vdead) [GC_MARK_STACK]: New variable.
13221 (lisp_malloc): Add parameter TYPE, call mem_insert if
13222 GC_MARK_STACK is defined.
13223 (allocate_buffer): New function.
427ec082 13224 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13225 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13226 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13227 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13228 (MEM_NIL) [GC_MARK_STACK]: New define.
13229 (struct mem_node) [GC_MARK_STACK]: New structure.
13230 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13231 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13232 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13233 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13234 (mark_stack) [GC_MARK_STACK]: New functions.
13235 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13236 (clear_marks): Removed.
13237 (gc_sweep): Set free conses' car, free floats' type, free
13238 symbols' function to Vdead. Use lisp_free to free buffers.
13239 (init_alloc_once): Initialize Vdead.
13240 (survives_gc_p): Return non-zero for pure objects.
13241
13242 * alloc.c: Add comments throughout the file.
13243
2503c8b1
GM
13244 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13245 that unblocks alarms.
13246
8389e1e2
GM
13247 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13248 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13249 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13250
10689a01 13251 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13252
bfc17d18
KH
132532000-02-17 Kenichi Handa <handa@etl.go.jp>
13254
4a09dee0
KH
13255 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13256 avoid infinite error signaling. Allocate sufficient memory for
13257 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13258
2b927d02
SM
132592000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13260
13261 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13262 depends on the previous behavior.
13263
b49cb764
GM
132642000-02-16 Gerd Moellmann <gerd@gnu.org>
13265
13266 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13267
99e95407
GM
132682000-02-15 Gerd Moellmann <gerd@gnu.org>
13269
13270 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13271
13272 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13273 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13274 write(2).
13275
6ffd3cf7
RS
132762000-02-15 Richard M. Stallman <rms@gnu.org>
13277
13278 * data.c (set_internal): Don't make variable buffer-local
13279 if within a let-binding for the same buffer.
13280 (let_shadows_buffer_binding_p): New function.
13281
13282 * eval.c (specbind): For buffer-local value,
13283 record the current buffer also.
13284 (unbind_to): Cope with that change.
13285
cad53475
GM
132862000-02-15 Gerd Moellmann <gerd@gnu.org>
13287
13288 * window.c (Fsave_window_excursion): Doc fix.
13289
1aa963c8
SM
132902000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13291
13292 * syntax.c (back_comment): Make sure we only consider comment-starters
13293 of the relevant style and return -1 in case of a failure to find the
13294 beginning of the comment.
13295 (Fforward_comment): If back_comment fails, go back to the position just
13296 after the comment-end.
13297 (scan_lists): Add comment describing a very minor bug.
13298
b9b84fd3
SM
132992000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13300
13301 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13302 `completion-regexp-list' in the docstring.
13303
3a28db80
DL
133042000-02-14 Dave Love <fx@gnu.org>
13305
13306 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13307
fb4a568d
SM
133082000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13309
13310 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13311 to Emacs' syntax. Also fix the comment about set/not-set meanings
13312 since Emacs syntax is not the value 0 any more.
13313 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13314 since it's now part of RE_SYNTAX_EMACS.
13315
1063ebb5
DL
133162000-02-12 Dave Love <fx@gnu.org>
13317
52283633 13318 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13319
fb07a302
GM
133202000-02-12 Gerd Moellmann <gerd@gnu.org>
13321
13322 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13323
aaf2320c
DL
133242000-02-12 Dave Love <fx@gnu.org>
13325
13326 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13327
13328 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13329 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13330 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13331
13332 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13333
13334 * s/nextstep.h: Don't define HAVE_ALLOCA.
13335
13336 * config.in: Add vfork bits.
13337
eedf8bde
GM
133382000-02-12 Gerd Moellmann <gerd@gnu.org>
13339
13340 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13341 unwind function to undo the effect of stopping atimers.
13342
52283633 13343 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13344
13345 * atimer.c (stopped_atimers): New variable.
13346 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13347 New functions.
13348
13349 * atimer.h (stop_other_atimers, run_all_atimers)
13350 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13351
eedf8bde
GM
13352 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13353
8476c2f8
KR
133542000-02-11 Ken Raeburn <raeburn@gnu.org>
13355
13356 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13357 library may depend on jpeg.
13358 (atimer.o): Depends on atimer.c.
13359
0e85e4a3
KH
133602000-02-11 Kenichi Handa <handa@etl.go.jp>
13361
13362 * insdel.c (del_range_1): Call update_compositions.
13363 (del_range_both): Call update_compositions just once..
13364
97fa0cc8
DL
133652000-02-10 Dave Love <fx@gnu.org>
13366
13367 * xfns.c (create_frame_xic): Fix initialization of automatic
13368 aggregates for pcc.
13369
25566a3c
KH
133702000-02-09 Kenichi Handa <handa@etl.go.jp>
13371
13372 * ccl.c (CCL_MAKE_CHAR): New macro.
13373 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13374 registers by CCL_MAKE_CHAR before calling translate_char.
13375 <CCL_TranslateCharacterConstTbl> Likewise.
13376
69da54ba
DL
133772000-02-08 Dave Love <fx@gnu.org>
13378
13379 * lread.c (__EXTENSIONS__): Define.
13380
f7136ee8
GM
133812000-02-08 Gerd Moellmann <gerd@gnu.org>
13382
13383 * puresize.h (BASE_PURESIZE): Increase to 650000.
13384
7768790b
EZ
133852000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13386
13387 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13388 the help message.
13389
38fd211b
EZ
133902000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13391
13392 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13393 md, mh, mb, mr, and me to the fake termcap entry.
13394
66e4690f
KR
133952000-02-06 Ken Raeburn <raeburn@gnu.org>
13396
13397 * sound.c (sound_cleanup): Don't call device close routine if the
13398 function pointer is null.
13399
a75dfea0
AI
134002000-02-06 Andrew Innes <andrewi@gnu.org>
13401
13402 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13403 around image definitions and prototypes.
13404 (gamma_correct) [WINDOWSNT]: New prototype.
13405
13406 * w32term.c (x_make_frame_visible): Replace call to
13407 input_poll_signal with poll_for_input.
13408
13409 * window.c [WINDOWSNT]: Include w32term.h.
13410
13411 * xdisp.c [WINDOWSNT]: Include w32term.h.
13412
13413 * makefile.nt: Add dependencies on w32gui.h.
13414 (OBJ1): Include atimer.obj.
13415 ($(BLD)\atimer.obj): New dependency rule.
13416
13417 * w32.c (sigmask): New function (does nothing).
13418 (sigunblock): Ditto.
13419
13420 * frame.c [WINDOWSNT]: Include w32term.h.
13421
13422 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13423
13424 * lread.c (syms_of_lread): Fix literal newlines.
13425
13426 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13427 the string constant limit (2048 bytes) in MSVC.
13428 (main): Ditto.
13429
59ddecde
GM
134302000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13431
52283633 13432 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13433 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13434 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13435 dispatch the event.
13436
07590973
DL
134372000-02-04 Dave Love <fx@gnu.org>
13438
13439 * fileio.c: Remove some unused vars.
13440 (_GNU_SOURCE): Define (for euidaccess).
13441
13442 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13443
13444 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13445 gcpro1, gcpro2.
13446 (read_minibuf): Deal with allow_props correctly.
13447
649351f9
EZ
134482000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13449
13450 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13451
66e4690f 134522000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13453
13454 * search.c (compile_pattern): If a cache entry has a nil regexp,
13455 fill in that entry instead of clobbering a previously cached
13456 string regexp.
13457
66e4690f 134582000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13459
13460 * puresize.h (BASE_PURESIZE): Increase to 610000.
13461
d240a249
GM
134622000-02-02 Gerd Moellmann <gerd@gnu.org>
13463
13464 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13465 can GC.
13466
ca91fb26
KH
134672000-02-02 Kenichi Handa <handa@etl.go.jp>
13468
25660570
KH
13469 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13470 instead of incrementing ic directly.
13471 <CCL_WriteExprConst> Likewise.
13472 <ccl_set_expr>: Set ic to jump_address.
13473
ca91fb26
KH
13474 * fileio.c (e_write): Fix the handling of
13475 CODING_FINISH_INSUFFICIENT_SRC.
13476
2ede9689
DL
134772000-02-01 Dave Love <fx@gnu.org>
13478
13479 * editfns.c (Fpropertize): Doc fix.
13480
13481 * process.c (Fstart_process): Doc fix.
13482
13483 * eval.c: Fix various doc strings not to duplicate information
13484 from help-manyarg-func-alist.
13485
52283633 13486 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13487
13488 * doc.c (Vhelp_manyarg_func_alist): New variable.
13489 (Fdocumentation): Use it.
13490 (syms_of_doc): Define it.
13491
b6680a0e
GM
134922000-01-31 Gerd Moellmann <gerd@gnu.org>
13493
2cb750ba
GM
13494 * xterm.c (xim_open_dpy): Remove unused local variable.
13495
52283633 13496 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13497
13498 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13499 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13500
b6680a0e
GM
13501 * fns.c (sweep_weak_table): New function.
13502 (sweep_weak_hash_tables): Use it. Keep on marking until there
13503 is no more change.
13504
994c5afe
GM
135052000-01-30 Gerd Moellmann <gerd@gnu.org>
13506
13507 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13508 that XTread_socket does not crash by trying to call XNoOp on a
13509 closed display.
427ec082 13510
f00276e3
JR
135112000-01-30 Jason Rumney <jasonr@gnu.org>
13512
13513 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13514 Change selected_frame to SELECTED_FRAME ().
13515 (w32_console_mouse_position): Remove #ifndef MULE from around
13516 `insist' parameter.
13517
13518 * makefile.nt: Remove dosfns.obj.
13519
13520 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13521
13522 * w32fns.c (w32_defined_color): Check for valid frame before
13523 applying gamma correction. Eliminate dependency on frame elsewhere.
13524 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13525 (w32_to_x_font): Use resx and resy not height_in and width_in.
13526 (x_to_w32_font): Doc fix.
13527 (xlfd_strip_height): New function to strip and return font height.
13528 (w32_font_match): Compare height separately from rest of xlfd
13529 spec, using xlfd_strip_height.
13530
13531 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13532 width_in. Use w32_defined_color in place of defined_color.
13533
13534 * w32faces.c: Merge more of DOS and X specifics in preparation for
13535 merge with xfaces.c.
13536 (defined_color): Remove FIXME comment.
13537 (tty_color_name): Provide w32-specific function.
13538 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13539
13540 * w32console.c (turn_on_face, turn_off_face): Removed.
13541 (w32_face_attributes): New function.
13542 (Global_variables): Reduce scope where possible.
13543 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13544 fill attribute.
13545 (hl_mode): Don't modify text attributes.
13546 (write_glyphs): Don't do anything if len <= 0. Use
13547 w32_face_attributes to get attributes for drawing. Write
13548 terminating codes using char_attr_normal.
13549 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13550 (update_begin, update_end): Likewise.
13551 (vga_stdcolor_name): New function.
13552 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13553 (Fset_screen_color): Remove char_attr_reverse.
13554
b08e8bb2
GM
135552000-01-29 Gerd Moellmann <gerd@gnu.org>
13556
13557 * xfns.c (xic_set_preeditarea): Take window parameter and
13558 window-relative pixel-positions.
13559
13560 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13561 is its frame's selected window.
13562 (xim_instantiate_callback): Likewise.
13563
13564 * xfns.c (x_create_im): Removed.
13565 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13566 (supported_xim_styles): Renamed from supported_styles.
13567 (best_xim_style): Renamed from best_style.
13568 (create_frame_xic): Renamed from xic_create_frame.
13569 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13570
b08e8bb2
GM
135712000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13572
13573 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13574 our frames, call XFilterEvent with 2nd parameter `None'.
13575 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13576 returning XBufferOverflow.
52283633 13577 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13578 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13579 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13580 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13581 (xim_initialize, xim_close)
13582 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13583 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13584 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13585 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13586
13587 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13588 and `xim_styles'.
13589 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13590 `xic_style' and `xic_xfs'.
13591 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13592 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13593 (FRAME_XIM): Removed.
13594
13595 * xfns.c (supported_styles): New variable.
13596 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13597 (xic_create_xfontset, best_style, xic_create_frame)
13598 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13599 (xic_set_xfontset): New functions.
13600
142e109c
DL
136012000-01-28 Dave Love <fx@gnu.org>
13602
13603 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13604
13605 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13606
b02786f9
GM
136072000-01-28 Gerd Moellmann <gerd@gnu.org>
13608
d060bc9f
GM
13609 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13610 for *scratch* if it already existed.
13611
b02786f9
GM
13612 * emacs.c (USAGE): New macro.
13613 (main): Use it to display usage information.
13614
2c52d7e4
EZ
136152000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13616
13617 Support for the menu-help feature:
13618
52283633 13619 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13620
13621 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13622 part of the line to the termscript file.
13623 (IT_clear_to_end): Clear the entire line, not just its beginning.
13624 (menu_help_message, prev_menu_help_message): New variables.
13625 (IT_menu_make_room): Make room for the help_text member.
13626 (IT_menu_display): New argument disp_help; all callers changed.
13627 If disp_help is non-zero, store the help text of the active menu
13628 item in menu_help_message.
13629 (XMenuAddPane): Initialize the help_text member to NULL.
13630 (XMenuAddSelection): New argument help_text. Store it in the
13631 XMenu structure.
13632 (XMenuActivate): New argument help_callback. If the value of
13633 menu_help_message has changed since the last time, display the
13634 menu help message text while waiting for the mouse to move. Clear
13635 the echo area before exiting.
13636 (XMenuDestroy): Free the help_text member.
13637
ffe0bcd1
GM
136382000-01-27 Gerd Moellmann <gerd@gnu.org>
13639
13640 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13641 XMenuAddSelection. Pass help callback to XMenuActivate.
13642 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13643
50dbd23f
EZ
136442000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13645
13646 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13647 and EMACS_SET_USECS.
13648
f5941bf8
GM
136492000-01-26 Dave Love <fx@gnu.org>
13650
6c67ddee
DL
13651 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13652
f5941bf8
GM
13653 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13654 an error may be signalled.
13655
9e49c990
GM
136562000-01-26 Gerd Moellmann <gerd@gnu.org>
13657
fc3cb460
GM
13658 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13659 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13660
9e49c990
GM
13661 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13662
d0c037d8
GM
136632000-01-25 Gerd Moellmann <gerd@gnu.org>
13664
13665 * charset.c (Fstring): If there is a multibyte char among
13666 the args, always return a multibyte string.
13667
e12489f9
GM
136682000-01-25 Gerd Moellmann <gerd@gnu.org>
13669
13670 * sysdep.c (sys_select): Turn atimers off and on instead of
13671 recording and restoring old alarm handler
13672
13673 * process.c (toplevel): Include atimer.h.
13674 (create_process_1): Rewritten.
13675 (create_process): Use atimers instead of alarm.
13676 (wait_reading_process_input) [hpux]: Turn atimers off instead
13677 of turning off SIGALRM.
13678 (wait_reading_process_input): Turn off atimers instead off
13679 calling stop_polling.
13680
13681 * emacs.c (main): Call init_atimer.
13682
13683 * keyboard.c (toplevel): Include systime.h and atimer.h.
13684 (polling_for_input): Removed because unused.
13685 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13686 (poll_timer): New variable.
13687 (poll_for_input, poll_for_input_1): New functions.
13688 (start_polling, stop_polling): Rewritten.
13689
13690 * keyboard.h (polling_for_input): Removed.
427ec082 13691
e12489f9
GM
13692 * atimer.h, atimer.c: New files.
13693
13694 * Makefile.in (obj): Add atimer.o.
13695 (atimer.o): New target.
13696
13697 * blockinput.h (pending_atimers): Add extern declaration.
13698 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13699
13700 * lisp.h (popup_activated_flag): Add extern declaration.
13701
13702 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13703 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13704 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13705
13706 * xterm.c (toplevel): Include atimer.h.
13707 (toolkit_scroll_bar_interaction): New variable.
13708 (Fxt_process_timeouts): Removed.
13709 (x_process_timeouts): New function.
13710 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13711 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13712 (x_make_frame_visible): Call poll_for_input_1 instead of
13713 input_poll_signal. Don't call alarm.
13714 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13715
1e5279b9
DL
137162000-01-24 Dave Love <fx@gnu.org>
13717
6c67ddee 13718 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13719 Don't use -cckr -- apparently not now necessary.
13720
edf6aeb8
EZ
137212000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13722
13723 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13724 screen boundary.
13725
9badad41
JR
137262000-01-23 Jason Rumney <jasonr@gnu.org>
13727
13728 * w32fns.c (w32_defined_color): Apply gamma correction before
13729 trying to map to the palette.
13730 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13731 to w32_clear_rect.
13732
13733 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13734 here. Callers changed to always pass real device context.
13735 (w32_draw_bitmap): Likewise.
13736 (w32_get_glyph_overhangs): Likewise.
52283633 13737 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13738 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13739 pfnSetScrollInfo and SetScrollRange.
13740 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13741 back into MULE characters after decoding them.
13742 (x_get_glyph_face_and_encoding): Likewise.
13743 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13744 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13745 (x_produce_glyphs): Calculate per char metrics for a character
13746 that we know exists in default font when font_not_found_p is true.
13747
63bd786b
JR
137482000-01-22 Jason Rumney <jasonr@gnu.org>
13749
13750 * makefile.nt (intervals.obj, composite.obj): New modules.
13751 (composite.h): Added as dependency where appropriate.
13752
13753 * w32gui.h (XGCValue): New struct for emulating X GCs.
13754
13755 * w32term.h (XCharStruct): New struct for emulating X.
13756
13757 * w32console.c (turn_on_face, turn_off_face): New functions.
13758 (change_line_highlight): New prototype for new redisplay.
13759 (write_glyphs): Support multibyte text. Support faces.
13760
52283633 13761 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13762
13763 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13764 throughout. struct frame * in place of FRAME_PTR.
13765 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13766 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13767 (w32_get_arg): Renamed from x_get_arg.
13768 (Fx_file_dialog): New function.
13769 (w32_list_fonts): Check cache before asking system.
13770 (Vw32_enable_synthesized_fonts): New variable.
13771 (Vw32_enable_italics): Obsolete, removed.
13772
13773 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13774 Use SELECTED_FRAME macro.
13775
13776 * w32menu.c: Add skeleton support for help strings on menus.
13777 (add_menu_item): Native checkbox and radio support added, but not
13778 yet enabled due to bugs.
13779 (push_menu_item): Add parameters type, selection and help.
13780 Callers updated.
13781 Formatting changes to reduce unnecessary diffs with xmenu.c.
13782
13783 * w32select.c (Fw32_set_clipboard_data): Update call to
13784 find_charset_in_str.
13785
13786 * w32term.c: Complete rewrite for new redisplay based on new
13787 xterm.c with necessary sections merged back in from old w32term.c.
13788
6ffd3cf7 137892000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13790
13791 * data.c (set_internal): Further fix in same criterion.
13792
6ffd3cf7 137932000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13794
13795 * data.c (set_internal): Fix the criteria for whether
13796 to swap out the old cached binding.
13797
60af03f1
DL
137982000-01-19 Dave Love <fx@gnu.org>
13799
13800 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13801
f9be074f
KH
138022000-01-18 Kenichi Handa <handa@etl.go.jp>
13803
13804 * regex.c (re_compile_fastmap): While checking a range table for
13805 `charset', skip flag bits for a character class correctly.
13806
52b8dbf9
GM
138072000-01-17 Gerd Moellmann <gerd@gnu.org>
13808
d36100c9
GM
13809 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13810
52283633 13811 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
13812
13813 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 13814 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
13815
13816 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
13817 MENU_ITEMS_ITEM_.*.
13818 (MENU_ITEMS_ITEM_HELP): New enumerator.
13819 (push_menu_item): Add parameter HELP. Record help in menu_items.
13820 (single_menu_item, single_submenu, list_of_items): Call
13821 push_menu_item with new parameter.
13822 (single_submenu): Set help string in widget value.
13823 (menu_highlight_callback): New function.
13824 (set_frame_menubar): Call lw_create_widget with new
13825 parameter list.
13826 (xmenu_show, xdialog_show): Ditto.
13827
3139018f
GM
138282000-01-13 Gerd Moellmann <gerd@gnu.org>
13829
13830 * sound.c (Fplay_sound): Improve doc string.
13831
83c8f461
RS
138322000-01-11 Richard M. Stallman <rms@gnu.org>
13833
13834 * lisp.h (set_internal): Enter the new arg.
13835
13836 * eval.c (specbind): Record buffer-local variables specially,
13837 indicating which buffer's binding was saved.
13838 (unbind_to): Restore buffer-local variables specially
13839 in the proper buffer.
13840
13841 * data.c (set_internal): New arg BUF.
427ec082 13842
83c8f461
RS
13843 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
13844 * data.c (Fset): Pass new arg to set_internal.
13845 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 13846
1fab1775
GM
138472000-01-11 Gerd Moellmann <gerd@gnu.org>
13848
52283633 13849 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 13850
83c8f461 138512000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
13852
13853 * minibuf.c (Ftry_completion): Doc fix.
13854
7a85e4df
GM
138552000-01-11 Gerd Moellmann <gerd@gnu.org>
13856
13857 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
13858 vector, too.
13859
a970dae4
AS
138602000-01-11 Andreas Schwab <schwab@suse.de>
13861
13862 * coding.c (code_convert_region): Initialize total_skip.
13863
c65d14ee
DL
138642000-01-08 Dave Love <fx@gnu.org>
13865
13866 * eval.c (Fuser_variable_p): Check customizability too.
13867
834938d2
GM
138682000-01-07 Gerd Moellmann <gerd@gnu.org>
13869
13870 * minibuf.c (Fcompleting_read): Doc fix.
13871
e0303cd6
GM
138722000-01-05 Gerd Moellmann <gerd@gnu.org>
13873
8a26744b
GM
13874 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13875 -L /usr/local/lib.
13876
e0303cd6
GM
13877 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13878 Check that input style is supported before trying to create an
13879 IC for it.
13880 (x_window): Call x_create_im.
427ec082 13881
2e471eb5
GM
138822000-01-04 Gerd Moellmann <gerd@gnu.org>
13883
560a7bd2
GM
13884 * xfns.c (current_gif_memory_src): New variable.
13885 (gif_load): Record the address of the current memory source
13886 in current_gif_memory_src.
13887 (gif_read_from_memory): Use current_gif_memory_src.
13888
f9ee84a3
GM
13889 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13890 macros statement form.
13891
d1299cde
GM
13892 * sound.c (struct sound): Renamed from struct sound_file.
13893 (struct sound): Add members `data' and `header_size'.
13894 (enum sound_attr): Add SOUND_DATA.
13895 (current_sound, current_sound_device): Variables renamed from
13896 sound_file and sound_device.
13897 (parse_sound): Parse :data.
13898 (parse_sound): Handle sound data in strings.
13899 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 13900 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
13901 needed header size.
13902 (wav_play, au_play): Play sounds from string data.
13903
2e471eb5
GM
13904 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13905
13906 * lisp.h: Add prototype for allocate_string_data.
13907
52283633 13908 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
13909
13910 * alloc.c (mark_buffer): Remove code in #if 0.
13911 (gc_sweep): Ditto.
13912 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13913 (strings_consed): New variable.
13914 (allocate_string): Set it.
13915 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13916 (Fmemory_use_counts): Return strings_consed. Use Flist.
13917
13918 * alloc.c: General cleanup in comments etc. Remove conditional
13919 compilation for `standalone'.
13920
13921 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13922
13923 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13924 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13925 (DONT_COPY_FLAG): Removed.
13926 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13927 (struct sdata, struct sblock): New
13928 (struct string_block): Rewritten.
13929 (STRINGS_IN_STRING_BLOCK): New macro.
13930 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13931 (large_sblocks, string_blocks, string_free_list): New variables.
13932 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13933 (init_strings): Rewritten.
13934 (allocate_string, allocate_string_data, compact_small_strings)
13935 (free_large_strings, sweep_strings): New functions.
13936 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13937 (struct string_block_head, current_string_block)
13938 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13939 (STRING_PAD): Removed.
13940 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13941 (Fgarbage_collect): Don't set mark bit in large strings.
13942 (mark_object): Mark strings differently. Mark symbol names
13943 differently.
13944 (survives_gc_p): Test marked strings differently.
427ec082 13945 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13946 symbol names.
13947 (compact_strings): Removed.
13948
42608ba8
EZ
139492000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13950
13951 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13952 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13953
e0a09e1a
KH
139542000-01-04 Kenichi Handa <handa@etl.go.jp>
13955
dd9f0750 13956 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 13957 in a non-empty buffer.
dd9f0750 13958
3c0f3b15 13959 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 13960
44cd3ae5
GM
139612000-01-03 Gerd Moellmann <gerd@gnu.org>
13962
13963 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13964 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13965
13966 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13967
c182a70f
EZ
139682000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13969
13970 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13971 need to test for MSDOS frames.
13972
24480d5b
EZ
139732000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13974
13975 * dosfns.c (unspecified_colors): Remove.
13976 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13977 unspecified_bg.
13978 (msdos_stdcolor_name): Return strings for unspecified fore- and
13979 back-ground colors.
13980
13981 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 13982 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
13983 (tty_color_name): Return Lisp strings for unspecified fore- and
13984 back-ground colors.
13985 (Finternal_set_lisp_face_attribute): Remove the special treatment
13986 for Qunspecified_{f,b}g.
52283633 13987 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 13988
047f434a
GM
139892000-01-03 Gerd Moellmann <gerd@gnu.org>
13990
13991 * xdisp.c (reseat_at_next_visible_line_start): Position before
13992 newline only if ending up on a newline.
13993 (next_element_from_ellipsis): Return success. Handle case of
52283633 13994 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
13995 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13996 returns 0.
13997
d684c676
EZ
139982000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13999
14000 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14001 (Fcolor_supported_p): Renamed from face-color-supported-p.
14002
5fe1d139
EZ
140032000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14004
14005 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14006 list of colors renamed to tty-defined-color-alist.
14007 (tty_color_name): Pass the frame to tty-color-by-index.
14008 (realize_tty_face): tty-color-alist is now a function which
14009 accepts the frame as argument.
14010
52283633 14011 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14012
816be8b8
EZ
140132000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14014
14015 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14016 encode_terminal_code.
14017
b635321e
EZ
140182000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14019
14020 * dispnew.c (mode_line_string): Support termcap frames as well.
14021
9b784e96
GM
140222000-01-01 Gerd Moellmann <gerd@gnu.org>
14023
27189709
GM
14024 * syntax.c (Fforward_word): Undo previous change.
14025
14026 * editfns.c (Fconstrain_to_field): Don't constrain if
14027 inhibit-field-text-motion is non-nil.
14028 (Fline_beginning_position): Undo previous change.
14029 (Fline_end_position): Ditto.
14030
14031 * syntax.c (Fforward_word): Notice field boundaries only if
14032 inhibit-field-text-motion is nil.
14033
14034 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14035
14036 * editfns.c (Vinhibit_field_text_motion): New variable.
14037 (inhibit-field-text-motion): New DEFVAR_LISP.
14038 (Fline_beginning_position, Fline_end_position): Notice field
14039 boundaries only if inhibit-field-text-motion is nil.
14040
45158a91
GM
14041 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14042 All calls adjusted.
14043 (x_build_heuristic_mask): Likewise.
14044 (xbm_load_image_from_file): Change error output.
14045 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14046 (gif_load, gs_load, x_kill_gs_process): Ditto.
14047
9b784e96
GM
14048 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14049 color indices when accessing raster pixels.
63cec32f
GM
14050 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14051 one of :file or :data.
14052 (enum pbm_keyword_index): Add PBM_DATA.
14053 (pbm_format): Add :data.
14054 (pbm_image_p): Allow either :file or :data.
14055 (pbm_read_file): New function.
14056 (pbm_scan_number): Rewritten to read from string.
14057 (pbm_load): Support :data.
9b784e96 14058
2cb085db 14059See ChangeLog.8 for earlier changes.
6922b018
KH
14060
14061;; Local Variables:
49b3bd82 14062;; coding: iso-2022-7bit
6922b018 14063;; End:
2a34a036
GM
14064
14065 Copyright (C) 2001 Free Software Foundation, Inc.
14066 Copying and distribution of this file, with or without modification,
14067 are permitted provided the copyright notice and this notice are preserved.