Move the include of ctype.h after unistd.h.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
8db2e33b
KR
12001-11-03 Ken Raeburn <raeburn@gnu.org>
2
3 * lisp.h (CHECK_STRING_CAR): New macro.
4 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
5 treating XCAR and XCDR as lvalues.
6 (openp): Use CHECK_STRING_CAR.
7 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
8
aed29b97
EZ
92001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
10
11 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 12 (SIGMASKTYPE): Define.
aed29b97
EZ
13
14 * syssignal.h (sigunblock): Don't define if already defined.
15
6cb16f95
PJ
162001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
17
16b45be4
EZ
18 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
19 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
20 Fix typos in comments.
21
020f9b38
PJ
22 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
23 and #ifdef'd-out code.
24 Fix and reindent comments.
25
26 * mocklisp.h: Remove comment which is a copy of comment in
27 mocklisp.c.
28
6cb16f95
PJ
29 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
30 argument `i' in macros.
31
32 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
33 `i' in macros.
34
16b45be4
EZ
35 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
36 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
37 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
38 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
39 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
40 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
41 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
42 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
43 in macros.
44
45 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
46 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
47 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
48 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
49 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
50 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
51 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
52 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
53 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
54 (remove unused second argument).
55
7e9d3c2f
SM
562001-11-02 Stefan Monnier <monnier@cs.yale.edu>
57
58 * syntax.c (describe_syntax): New wrapper.
59 (Finternal_describe_syntax_value): Rename from describe_syntax.
60 Don't insert space at front and \n at the end.
61 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
62
63 * regex.c (re_wctype): Try to fix some warnings.
64 (regcomp, regexec): Don't forget the __restrict.
65
e6bff182
RS
662001-11-02 Richard M. Stallman <rms@gnu.org>
67
68 * textprop.c (Fget_char_property): Doc fix.
69
9ba48103
PJ
702001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
71
72 * process.c (Fstart_process): Add usage to doc-string.
73
74 * data.c (Fsetq_default): Ditto.
75
76 * callint.c (Finteractive): Ditto.
77
c22e59e1
SM
782001-11-01 Stefan Monnier <monnier@cs.yale.edu>
79
80 * macros.c: Don't include keymap.h any more.
81
9271ed2c
RS
822001-11-01 Richard M. Stallman <rms@gnu.org>
83
e6bff182
RS
84 * data.c (Fmake_local_variable): Doc fix.
85
86 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
87 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
88
9271ed2c
RS
89 * keymap.c (Fdescribe_buffer_bindings): Print character property
90 bindings along with or instead of the buffer local map.
91 Make the overriding maps override what they should.
92
8b8bd9c6
PJ
932001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
94
95 * window.c (grow_mini_window): Fix typo in comment.
96
27188d11
GM
972001-11-01 Gerd Moellmann <gerd@gnu.org>
98
7b49b9d2
GM
99 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
100 (XTset_vertical_scroll_bar): Likewise.
101
43f7c3ea
GM
102 * xfns.c (x_build_heuristic_mask): Use four_corners_best
103 instead of IMAGE_BACKGROUND.
c22e59e1 104
b350c2e5
GM
105 * xfns.c (four_corners_best): Reindent.
106
c22e59e1 107 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
108 Handle :box so that it is possible to specify sexprs.
109
d576358b
PJ
1102001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
111
112 * xfaces.c (Finternal_merge_in_global_face): Reindent.
113 (Fface_font): Ditto.
114 (Finternal_set_alternative_font_registry_alist): Ditto.
115 (Ftty_suppress_bold_inverse_default_colors): Ditto.
116
117 * xfns.c (x-get-resource): Reindent.
118
bf00d461
EZ
1192001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
120
121 * s/hpux11.h: New file.
122
4e10df59
PJ
1232001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
124
2b209b97
PJ
125 * emacs.c (USAGE1): Show command line option --no-window-system
126 instead of --no-windows in usage.
127 (standard_args): Rename --no-windows to --no-window-system.
128 (bug_reporting_address): Follow Emacs coding conventions.
129
9dbc9081
PJ
130 * eval.c (Fcommandp): Doc fix.
131 Change doc-string comments to `new style' [w/`doc:' keyword].
132
4e10df59
PJ
133 * frame.c (Fframe_live_p): Doc fix.
134
135 * buffer.c (selective-display-ellipses): Doc fix.
136
dd387b25
GM
1372001-10-31 Gerd Moellmann <gerd@gnu.org>
138
fe957e65
GM
139 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
140
dd387b25
GM
141 * xfaces.c (realize_x_face): If C is not a single-byte character,
142 set the face's colors_copied_bitwise_p instead of the defaulted_p
143 members which have a different meaning.
144 (free_face_colors): Do nothing for a face whose colors have been
145 copied bitwise.
146
c22e59e1 147 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 148
2e1280f8
PJ
1492001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
150
687784e8
PJ
151 * marker.c, mocklisp.c: Change doc-string comments to `new style'
152 [w/`doc:' keyword].
2e1280f8 153
b9d9a9b9
GM
1542001-10-31 Gerd Moellmann <gerd@gnu.org>
155
156 * fns.c (require_unwind): Return Lisp_Object.
157
48400103
PJ
1582001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
159
fa1361cb
PJ
160 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
161 (last-input-char): Revert doc-string to be the same as the
162 doc-string of `last-input-event'.
163
48400103
PJ
164 * xdisp.c: Fix typos in comments.
165
eafa3196
GM
1662001-10-31 Gerd Moellmann <gerd@gnu.org>
167
168 * window.c (grow_mini_window): Handle case that the root
169 window is already smaller than the nominal mininum height.
170
747d3f2a
SM
1712001-10-30 Stefan Monnier <monnier@cs.yale.edu>
172
bf9bb76f
SM
173 * emacs.c (main): Don't call keys_of_macros any more.
174
175 * lisp.h (keys_of_macros): Remove.
176
177 * macros.c (keys_of_macros): Remove.
178
747d3f2a
SM
179 * xfaces.c (Fface_attribute_relative_p): Declare args.
180
5e905a57
JR
1812001-10-30 Jason Rumney <jasonr@gnu.org>
182
183 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
184 (enum_font_cb2): Ignore fonts with vertical orientation.
185
3a426197
RS
1862001-10-30 Richard M. Stallman <rms@gnu.org>
187
188 * keyboard.c (Finput_pending_p): Doc fix.
189
a742d646
GM
1902001-10-30 Gerd Moellmann <gerd@gnu.org>
191
259cf6bc
GM
192 * xterm.c (x_after_update_window_line): Don't run the code
193 clearing in borders for rows whose visible height is 0.
194
3f99f948
GM
195 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
196 resized_p flag is set. If not set, use the much less flickering
197 method previously used.
198
199 * dispnew.c (change_frame_size_1): Set frame's resized_p.
200
201 * frame.h (struct frame) <resized_p>: New member.
202
b4a3be43
GM
203 * lread.c (to_multibyte): Ensure read_buffer is at least twice
204 as large as the number of bytes to convert.
747d3f2a 205
a742d646
GM
206 * lread.c (to_multibyte): New function.
207 (read1): Use it.
208
cacbb9e9
EZ
2092001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
210
211 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
212
99cb6b2f
GM
2132001-10-30 Gerd Moellmann <gerd@gnu.org>
214
327f42ee 215 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
216 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
217 if the row's fill_line_p is set and drawing the last glyph with
218 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 219
99cb6b2f
GM
220 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
221
8e8223e2
SM
2222001-10-29 Stefan Monnier <monnier@cs.yale.edu>
223
224 * xmenu.c: Include coding.h and charset.h.
225 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
226 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
227 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
228 Explicitly set wv->help. Use `TRUE' rather than `True'.
229 (menu_help_callback): Use empty_string.
230
231 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
232 (Fx_popup_dialog): Explicitly init f.
233 (w32_menu_display_help): Use empty_string.
234
4d083a8f
RS
2352001-10-29 Richard M. Stallman <rms@gnu.org>
236
b2304472
RS
237 * fns.c (Frequire): Detect recursive try to require the same
238 feature 3 or more levels deep, and get error.
239 (require_unwind): New subroutine.
240 (require_nesting_list): New variable.
241 (syms_of_fns): Init and staticpro it.
242
4d083a8f
RS
243 * print.c (print_object): Clarify indication of insertion type.
244
2fe41216
EZ
2452001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
246
90480000
EZ
247 * coding.c (syms_of_coding): Document that locale-coding-system is
248 used for decoding input on X.
249
2fe41216
EZ
250 * window.c (Fscroll_left, Fscroll_right): Doc fix.
251
74e79967
PJ
2522001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
253
254 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
255 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
256
60ebcfe8
GM
2572001-10-29 Gerd Moellmann <gerd@gnu.org>
258
9a7bdceb
GM
259 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
260 use NO_CURSOR if cursor_in_non_selected_windows is false.
261
3f08fcd2
GM
262 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
263 the slant attribute if FRAME is t.
264
0ccfdad2
GM
265 * xfns.c (x_set_internal_border_width): Set frame garbaged
266 when X window doesn't exist yet.
267
ef253080
GM
268 * xterm.c (x_after_update_window_line): Clear internal border
269 in different circumstances.
270
60ebcfe8
GM
271 * xterm.c (XTread_socket) <KeyPress>: Don't use
272 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
273 <handa@etl.go.jp>.
274
73d25f9c
EZ
2752001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
276
277 * m/ibms390.h: New file. From Adam Thornton
278 <athornton@sinenomine.net>.
279
cac1daf0
GM
2802001-10-28 Gerd Moellmann <gerd@gnu.org>
281
053b3256
GM
282 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
283
cac1daf0
GM
284 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
285 a loop counter.
286
13b1a09c
PJ
2872001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
288
186486eb
PJ
289 * emacs.c: Use argv[0] instead of emacs when -t was specified.
290
4707d2d0
PJ
291 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
292 keyword].
293 Fix typos in comments.
294
d883731c
PJ
295 * emacs.c (bug_reporting_address): New function.
296 Use it when displaying usage message.
297
04012254
PJ
298 * minibuf.c (read_minibuf): Remove unused external declaration of
299 variable `Qread_only'.
300
13b1a09c
PJ
301 * keymap.c (access_keymap): Remove unused variable `charset'.
302
5bbf4378
MB
3032001-10-28 Miles Bader <miles@gnu.org>
304
305 * xfaces.c (merge_face_heights): Handle TO being relative as well.
306 Remove #ifdef'd-out code.
307 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
308 (syms_of_xfaces): Initialize them.
309
1ce1e4ee
JR
3102001-10-27 Jason Rumney <jasonr@gnu.org>
311
312 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
313 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
314 position using the system caret.
315
316 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
317 (w32_system_caret_height, w32_system_caret_x)
318 (w32_system_caret_y): New variables for tracking system caret.
319 (w32_initialize): Initialize them.
c2d53558 320 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 321
c2d53558
SM
322 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
323 New messages types.
1ce1e4ee
JR
324
325 * w32term.c (note_mouse_highlight): Clear old help_echo.
326
4e30ce42
PJ
3272001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
328
bb4600a4
PJ
329 * xterm.c: Fix typo in a comment.
330
7db35a48
PJ
331 * emacs.c: Fix typos in comments.
332 Remove unnecessary spaces.
333 Change doc-string comments to `new style' [w/`doc:' keyword].
334 (USAGE2): Fix typos in usage string.
335
a7248e4f
PJ
336 * xterm.c: Fix typo in a comment.
337
4e30ce42
PJ
338 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
339 emacs.c.
340
62725a92
GM
3412001-10-27 Gerd Moellmann <gerd@gnu.org>
342
798dbe1f 343 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 344 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
345 farther backward when target_y was not reached.
346
62725a92
GM
347 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
348 Display errno only if non-zero.
349 (sound_warning): New function.
350 (vox_configure): Don't treat failing to set sample rate as error.
351 (various places): Improve error messages.
352
d4e34d24
EZ
3532001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
354
944e6f60
EZ
355 * fileio.c (Faccess_file): Run the argument filename through
356 Fexpand_file_name, before using it.
357
d4e34d24
EZ
358 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
359 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
360
38d2af0c
GM
3612001-10-26 Gerd Moellmann <gerd@gnu.org>
362
da80a8d5
GM
363 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
364
38d2af0c
GM
365 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
366 Fix clearing in the case of scroll bars on the right.
c2d53558 367
56f508dd
EZ
3682001-10-26 Juanma Barranquero <lektu@terra.es>
369
370 * w32gui.h (XImage): Add a dummy typedef.
371
fbd5ceb2
GM
3722001-10-26 Gerd Moellmann <gerd@gnu.org>
373
c2d53558 374 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 375
b23236fb
EZ
3762001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
377
378 * frame.c (Fframe_parameter): Fix last change.
379
5d991fc4
EZ
380 * fileio.c: Revert last change (which removed old commented-out
381 version of expand-file-name). Add a comment that explains why
382 this old version should not be removed.
383
879eadc3
GM
3842001-10-25 Gerd Moellmann <gerd@gnu.org>
385
75700ff2
GM
386 * frame.c (Fframe_parameter): Fix a bug whereby some
387 ``artificial'' frame parameters, like `minibuffer' were not
388 obtained by calling Fframe_parameters.
389
dfe92a6a
GM
390 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
391 cursor differently.
392
879eadc3
GM
393 * xdisp.c (move_it_vertically_backward): Compute line height
394 differently. Add heuristic to try to be more compatible to 20.x.
395
e1010ebe
SM
3962001-10-25 Stefan Monnier <monnier@cs.yale.edu>
397
d73a471b
SM
398 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
399
d6da5a06
GM
400 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
401 boolean.
e1010ebe 402
f66bd220
MB
4032001-10-25 Miles Bader <miles@gnu.org>
404
405 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
406 BG is a pointer to a structure, not a structure.
407 (gif_format, png_format): Add missing commas.
408
d436d538
RS
4092001-10-24 Richard M. Stallman <rms@gnu.org>
410
411 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 412 (syms_of_xfaces): Defsubr it.
d436d538 413
075c507b
PJ
4142001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
415
416 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
417 variable `area'.
418
d492b584
PJ
4192001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
420
c2d53558 421 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 422
e2a57b34
MB
4232001-10-25 Miles Bader <miles@gnu.org>
424
425 * dispextern.h (struct image): Add `background',
426 `background_valid', and `background_transparent' fields.
427 (image_background, image_background_transparent): New declarations.
428 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
429 * xfns.c (image_background, image_background_transparent)
430 (four_corners_best): New functions.
c2d53558 431 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
432 (gs_format): Add `:background' entry.
433 (lookup_image): Set IMG's background color if specified.
434 (pbm_load, xbm_load_image, png_load): Set IMG's background field
435 when appropriate.
436 (x_clear_image_1): Reset `background_valid' and
437 `background_transparent_valid' fields.
438 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
439 calculating it here. Set IMG's background_transparent field.
440 (enum xpm_keyword_index): Add XPM_BACKGROUND.
441 (enum png_keyword_index): Add PNG_BACKGROUND.
442 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
443 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
444 (enum gif_keyword_index): Add GIF_BACKGROUND.
445 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 446 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
447 Pre-calculate image background color where necessary.
448 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
449 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
450 color to use for image glyph reliefs.
451
b547b6e8
GM
4522001-10-24 Gerd Moellmann <gerd@gnu.org>
453
d9e3b8c6
GM
454 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
455 in full-width rows.
c2d53558 456
b547b6e8
GM
457 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
458 Fix clearing of area not covered by scroll bar.
459
2beb36f9
PJ
4602001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
461
462 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
463 and `real_start'.
c2d53558 464 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
465 (glyph_rect): Remove unused variable `area'.
466
76cb5e06
GM
4672001-10-24 Gerd Moellmann <gerd@gnu.org>
468
bdbdebff 469 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
470
471 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
472 (row_containing_pos): Take additional argument DY.
473 Treat rows ending in middle of char differently.
62e33982
GM
474 (display_line): Handle tabs on window systems differently.
475
476 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
477 with additional argument.
478
479 * dispextern.h (row_containing_pos): Adjust prototype.
480
76cb5e06
GM
481 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
482 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
483 (try_window_id, try_window_reusing_current_matrix)
484 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
485 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
486
996fee11
PJ
4872001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
488
c9e60620
PJ
489 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
490 gnuemacs).
491 (HAVE_BOXES): Fix typo in comment.
492 (push_menu_pane): Fix typo in comment.
493
3b552d56
PJ
494 * xdisp.c: (display_prop_string_p): Remove unused local declaration
495 of `Qwhen'.
496 (single_display_prop_string_p): Remove unused local declarations
497 of `Qwhen' and `Qmargin'.
498 (string_buffer_position): Remove unused variable `around'.
499 (store_frame_title): Remove unused variable `width'.
500
15c565ac
PJ
501 * window.c: Don't define max.
502 (coordinates_in_window): Remove unused variable `uy'.
503
a8818eb9
PJ
504 * widget.c: Don't define max.
505
996fee11
PJ
506 * process.c: Don't define max.
507 (create_process): Remove unused variable `buffer'.
508
496e1a5b
GM
5092001-10-23 Gerd Moellmann <gerd@gnu.org>
510
c2d53558 511 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 512
5905ae8b
EZ
5132001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
514
515 * xfaces.c (Finternal_set_lisp_face_attribute)
516 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
517 frame is on a windowed display.
518
24db49fb
GM
5192001-10-23 Gerd Moellmann <gerd@gnu.org>
520
c2d53558
SM
521 * dispnew.c (sync_window_with_frame_matrix_rows):
522 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
523 of marginal areas.
524
c2d53558 525 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 526
f0487f05
EZ
5272001-10-23 Andreas Schwab <schwab@suse.de>
528
529 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
530 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
531
f0a48a01
GM
5322001-10-23 Gerd Moellmann <gerd@gnu.org>
533
c2d53558 534 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
535 REAL_END. Notice if cursor gets overwritten.
536 (notice_overwritten_cursor): Take X positions as parameters.
537 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
538 around call to x_draw_glyphs.
539
a50a10a0
PJ
5402001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
541
fc11dff0
PJ
542 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
543 instead of C) and usage.
a50a10a0 544
fc11dff0
PJ
545 * editfns.c (char-to-string): Fix argument names (use CHAR instead
546 of C) and usage.
a50a10a0
PJ
547
548 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
549 `left', `max_width' and `max_height'.
550
8738febd
GM
5512001-10-23 Gerd Moellmann <gerd@gnu.org>
552
553 * xdisp.c (display_line): For a tab continued to the next line,
554 set row's ends_in_middle_of_char_p.
555
653c329b
GM
5562001-10-22 Gerd Moellmann <gerd@gnu.org>
557
558 * xdisp.c (display_line): Fix computation of continuation lines
559 width for TABs.
560
f958c5ac
PJ
5612001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
562
7ba51063
PJ
563 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
564 `Qlaplace'.
565
f958c5ac
PJ
566 * fileio.c: Remove unused code.
567
eb360291
MB
5682001-10-22 Miles Bader <miles@gnu.org>
569
570 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
571 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
572 Remove `DOC_STRINGS_IN_COMMENTS' cases.
573
98515cf0
JR
5742001-10-21 Jason Rumney <jasonr@gnu.org>
575
576 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
577
93026d88
EZ
5782001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
579
580 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
581 (Finsert_string): Avoid the multi-line string literals warning.
582
c9a95b79
MB
5832001-10-22 Miles Bader <miles@gnu.org>
584
585 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
586 (Fdocumentation): Don't use it.
587 (syms_of_doc): Don't initialize it.
588
589 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
590 * print.c (Fwith_output_to_temp_buffer): Likewise.
591 * window.c (Fsave_window_excursion): Likewise.
c2d53558 592 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 593 (Fsave_restriction): Likewise.
c2d53558
SM
594 * eval.c (Frun_hooks, Frun_hook_with_args)
595 (Frun_hook_with_args_until_failure)
596 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
597 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
598 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
599 (Funwind_protect, Fcondition_case): Likewise.
600 * coding.c (Ffind_operation_coding_system): Likewise.
601 * keyboard.c (Ftrack_mouse): Likewise.
602
a3b10252
MB
6032001-10-21 Miles Bader <miles@gnu.org>
604
c2d53558 605 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
606 (Fmake_hash_table): Add usage: string to doc string.
607 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 608 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
609 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
610 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
611 (Fml_prefix_argument_loop): Likewise.
612
c6f73eec
PJ
6132001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
614
c2d53558 615 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 616
c6f73eec
PJ
617 * sysdep.c (init_sys_modes): Change doc-string comments to `new
618 style' [w/`doc:' keyword].
619
620 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
621 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
622 comments to `new style' [w/`doc:' keyword].
623
3cf3436e
JR
6242001-10-21 Jason Rumney <jasonr@gnu.org>
625
626 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
627
c169b8f1
JR
628 * w32term.c (remember_mouse_glyph): New function.
629 (w32_mouse_position): Use it.
630 (note_mouse_movement): If the mouse moved off the glyph, remember
631 its new position.
c2d53558 632
4fdd691b
JR
633 * w32term.h (struct w32_output): Correct spelling of x_compatible.
634 (w32_display_info): Add mouse_face_overlay.
635
c169b8f1
JR
636 * w32term.c (notice_overwritten_cursor): Renamed from
637 note_overwritten_text_cursor. Rewritten to take glyph widths into
638 account.
639 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
640 (fast_find_string_pos): New function.
641 (fast_find_position): Return the correct vpos. Add parameter
642 STOP. In the final row, stop before glyphs having STOP as object.
643 Don't consider glyphs that are not from a buffer.
644 (fast_find_position) [0]: Add a presumably more correct version
645 for after 21.1.
646 (expose_window_tree, expose_frame): Don't compute intersections here.
647 (expose_window): Do it here instead.
648 (expose_window_tree, expose_window, expose_line): Return 1 when
649 overwriting mouse-face.
650 (expose_window): If W is the window currently being updated, mark
651 the frame garbaged.
652 (expose_frame): If mouse-face was overwritten, redo it.
653 (x_use_underline_position_properties): New variable.
654 (syms_of_xterm): DEFVAR_BOOL it.
655 (x_draw_glyph_string): Add comment to use it in future.
656 (x_draw_glyph_string): Restore clipping after drawing box.
657 Fix a computation of the underline position.
658 (w32_get_glyph_string_clip_rect): Minor cleanup.
659 (x_fill_stretch_glyph_string): Remove an assertion.
660 (x_produce_glyphs): Don't convert multibyte characters
661 to unibyte characters in unibyte buffers.
662 (cursor_in_mouse_face_p): New function.
663 (x_draw_stretch_glyph_string): Use it to choose a different GC
664 when drawing a cursor within highlighted text. Don't draw
665 background again if it has already been drawn.
666 (x_draw_glyph_string_box): Don't draw a full-width
667 box just because the glyph row's full_width_p flag is set.
668 (x_draw_glyphs): Fix computation of rightmost x for
669 full-width rows.
670 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
671 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
672 change bottom shadow accordingly. Some cleanup.
673 (x_update_window_end): Handle overwritten mouse face
674 also for tool bar windows.
675 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
676 DRAW is DRAW_IMAGE_RAISED.
677 (clear_mouse_face): Return 1 if text with mouse face was
678 actually redrawn. Make the function static. Reset
679 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
680 optimize away highlighting if we pass over that same overlay again.
681 (note_mouse_highlight): Call mouse_face_overlay_overlaps
682 to detect a case where we have to highlight a different region
683 despite not having left the currently highlighted region.
684 Set mouse_face_overlay in the x_display_info. Avoid changing the
685 mouse pointer shape when show_mouse_face has already done it, or
686 there is no need. Handle mouse-face and help-echo in strings.
687 (glyph_rect): New function.
688 (w32_mouse_position): Use it to raise the threshold for mouse
689 movement event generation.
690 (w32_initialize_display_info): Initialize the x_display_info's
691 mouse_face_overlay.
692 (w32_set_vertical_scroll_bar): Don't clear a zero height
693 or width area.
694 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
695 a widget to zero height.
696
3cf3436e 697 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 698 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
699 equivalents in menu_items.
700 (w32_menu_show): Don't overwrite an item's name with its key
701 description in case the description is a multibyte string.
702 (single_submenu): Some cleanup.
703
704 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
705 (postprocess_image): New function.
706 (lookup_image): Call it for all image types except PostScript.
707 (x_kill_gs_process): Call postprocess_image.
708 (tiff_error_handler, tiff_warning_handler): New functions.
709 (tiff_load): Install them as handlers.
710 (x_kill_gs_process): Recognize if someone has cleared the image
711 cache under us.
712 (valid_image_p): Protect better against invalid image
713 specifications. Previous code could signal an error.
714 (Fx_hide_tip, Fshow_tip): Doc fix.
715 (Fv_max_tooltip_size): New variable.
716 (syns_of_xfns): DEFVAR_LISP it.
717 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
718 window buffer to *tip* right after creating the frame. Set frame's
719 window_width. Use a maximum tooltip size specified by
720 Vx_max_tooltip_size, if that has valid contents.
721 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
722 Make sure the tooltip is completely visible.
723 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
724 (Fx_create_frame): Adjust the frame's height for presence
725 of the tool bar before calling x_figure_window_size.
726 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
727 when the window gets smaller.
728 (x_set_foreground_color): Set frame's cursor_pixel.
729 (x_set_foreground_color, x_set_background_color): Cleaned up.
730 (x_set_font): Handle case of x_new_fontset returning the same name
731 as before, although there was a change in fontsets.
732
386ca361
MB
7332001-10-21 Miles Bader <miles@gnu.org>
734
c2d53558 735 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
736 (Flogxor): Add usage: string to doc string.
737 * charset.c (Fstring): Likewise.
738 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
739 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
740
14ff1ee0
PJ
7412001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
742
03be2694
PJ
743 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
744
745 * alloc.c: Reindent DEFUNs with doc: keywords.
746
747 * abbrev.c (Finsert_abbrev_table_description): Reindent.
748
14ff1ee0
PJ
749 * frame.c: Change doc-string comments to `new style' [w/`doc:'
750 keyword].
751
71431a0e
GM
7522001-10-20 Gerd Moellmann <gerd@gnu.org>
753
6aa97356 754 * (Version 21.1 released.)
71431a0e 755
39f624fa
PJ
7562001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
757
c2d53558 758 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
759
760 * xdisp.c (invisible_text_between_p): Put prototype inside #if
761 0 because unused.
762
763 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
764 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
765 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 766
abcce93a
MB
7672001-10-20 Miles Bader <miles@gnu.org>
768
769 The following changes remove the glyph_row `inverse_p' field,
770 which is never set anymore, due to other changes:
771
772 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
773 (reassert_line_highlight, change_line_highlight): Declarations removed.
774 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
775 (line_hash_code, row_equal_p, fake_current_matrices)
776 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
777 (update_frame_line, update_frame_line, update_frame_line):
778 Don't use `inverse_p' field.
779 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
780 change_line_highlight_hook.
781 (XTreassert_line_highlight, x_change_line_highlight):
782 Functions removed.
c2d53558 783 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
784 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
785 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
786 `inverse_p' field.
c2d53558 787 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
788 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
789 (w32_reassert_line_highlight, x_change_line_highlight):
790 Functions removed.
791 * w32console.c (reassert_line_highlight, change_line_highlight):
792 Functions removed.
793 (initialize_w32_display): Don't set reassert_line_highlight_hook
794 or change_line_highlight_hook.
795 (hl_mode): Function removed.
c2d53558
SM
796 (reset_terminal_modes, set_terminal_modes, update_begin)
797 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
798 (clear_frame, ins_del_lines): Don't call it.
799 * termhooks.h (reassert_line_highlight_hook)
800 (change_line_highlight_hook): Declarations removed.
801 * term.c (reassert_line_highlight_hook)
802 (change_line_highlight_hook): Variables removed.
803 (reassert_line_highlight, change_line_highlight): Functions removed.
804 * msdos.c (IT_reassert_line_highlight)
805 (IT_change_line_highlight): Functions removed.
806 (internal_terminal_init): Don't set reassert_line_highlight_hook
807 or change_line_highlight_hook.
808 (highlight): Variable removed.
c2d53558 809 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
810 (IT_set_terminal_modes): Don't set or use it.
811
812 The following changes remove inverse-video support for terminals
813 that use a `magic cookie' standout mode. Due to changes in the
814 way mode-lines are displayed, such support no longer works
815 anyway, and it's probable that almost no one uses such terminals
816 anymore:
817
818 * term.c (standout_requested): Variable removed.
819 (update_end, highlight_if_desired): Don't use it.
820 (chars_wasted, copybuf): Variables removed.
821 (write_standout_marker): Function removed.
c2d53558 822 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
823 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
824 Don't use `chars_wasted' or `copybuf'.
825 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
826 Set `costs_set' to true.
827 (cursor_to, clear_end_of_line): Test `costs_set' instead of
828 `chars_wasted'.
829 (clear_end_of_line): Function removed.
830 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
831 (clear_to_end): Call `clear_end_of_line' instead of
832 `clear_end_of_line_raw'.
54800acb
MB
833 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
834 (term_init): Don't set them.
835 Turn off any standout/underline modes that require magic cookies.
c2d53558 836 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
837 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
838 Remove special processing for magic-cookie standout modes.
839 (turn_off_face, turn_on_face): Remove special processing for
840 underline magic-cookie glitch.
abcce93a 841
0b5f679f
RS
8422001-10-19 Richard M. Stallman <rms@gnu.org>
843
844 * eval.c (syms_of_eval): Doc fixes.
845
5a4a5bd4
GM
8462001-10-19 Gerd Moellmann <gerd@gnu.org>
847
848 * xdisp.c (redisplay_internal): Don't clear echo area if the
849 mini-window is selected.
850
79f1f96c
MB
8512001-10-19 Miles Bader <miles@gnu.org>
852
b57c2708
MB
853 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
854 doesn't take precedence if the affected property's value is nil.
855
856 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
857
79f1f96c
MB
858 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
859 with fields and suggest using `forward-line' to avoid them.
860 * editfns.c (Fline_beginning_position, Fline_end_position):
861 Clarify documentation.
862
ef879104
SM
8632001-10-18 Stefan Monnier <monnier@cs.yale.edu>
864
865 * keymap.c (current_minor_maps): `override' only shadows its
866 correspondent in minor-mode-map-alist, not the whole tail.
867
97f4db8c
AI
8682001-10-18 Andrew Innes <andrewi@gnu.org>
869
870 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
871 optimization. The fontp->encoding array was not being initialized
872 correctly when compiled with optimizations by MSVC.
873
e6b70fd8
GM
8742001-10-18 Gerd Moellmann <gerd@gnu.org>
875
30903479 876 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 877
0e804d38
AI
8782001-10-17 Andrew Innes <andrewi@gnu.org>
879
880 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
881
882 * w32fns.c (w32_load_system_font): Cache codepage for font, in
883 font_info.charset field.
884
885 * w32term.c (w32_encode_char): Get cached codepage from font_info,
886 rather than working it out by calling w32_codepage_for_font for
887 every glyph.
888
66e5868a
AI
8892001-10-17 Andrew Innes <andrewi@gnu.org>
890
891 * w32term.c (w32_read_socket): Determine clipping rectangle for
892 the entire frame, including areas covered by scrollbars and the
893 menubar. This avoids internal arguments about whether a frame is
894 fully obscured or not.
895
15b00083
GM
8962001-10-17 Gerd Moellmann <gerd@gnu.org>
897
23e8bd86
GM
898 * xdisp.c (try_window_id): Undo last change. Give up if
899 window ends in strings.
30903479 900
9c6ba6d1 901 * xdisp.c (try_window_id): Don't display lines after the window
30903479 902 end if the rest of the window after the window end was already blank.
23e8bd86 903
30903479 904 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
905 for the release of 21.1.
906
30903479 907 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 908
945220bd
MB
9092001-10-17 Miles Bader <miles@gnu.org>
910
911 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
912 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
913 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
914 Change doc-string comments to `new style' [w/`doc:' keyword].
915 (DOC_STRINGS_IN_COMMENTS): Macro removed.
916 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
917 out make-docfile.
918
14242528
MB
9192001-10-16 Miles Bader <miles@gnu.org>
920
921 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
922
3ddf952f
GM
9232001-10-16 Gerd Moellmann <gerd@gnu.org>
924
925 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
926 *scratch*.
927
f3fbd155
KR
9282001-10-16 Ken Raeburn <raeburn@gnu.org>
929
930 Avoid the assumption that car and cdr slots of cons cells are
931 addressable lvalues; this allows for easier experimentation with
932 other lisp implementations that may not permit such accesses for
933 various reasons. Not quite complete -- buffer.c still needs some
934 work, and w32/mac files need rechecking -- so compile-time
935 enforcement is left disabled for now.
936
937 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 938 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
939 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
940 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
941 (XSETCAR, XSETCDR): New macros.
942 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
943 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
944 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
945 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
946 XSETCDR.
947 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
948 * buffer.c (record_buffer, Fbury_buffer)
949 (swap_out_buffer_local_variables, recenter_overlay_lists)
950 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
951 fields of a cons cell respectively.
952 * callint.c (quotify_args, Fcall_interactively): Likewise.
953 * ccl.c (Fregister_code_conversion_map): Likewise.
954 * coding.c (detect_coding_system): Likewise.
955 * composite.c (get_composition_id, make_composition_value_copy):
956 Likewise.
30903479
SM
957 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
958 (swap_in_symval_forwarding, set_internal, Fset_default)
959 (Fmake_variable_buffer_local, Fmake_local_variable)
960 (Fmake_variable_frame_local): Likewise.
f3fbd155 961 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 962 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 963 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
964 * minibuf.c (get_minibuffer): Likewise.
965 * search.c (Fmatch_data): Likewise.
966 * textprop.c (extend_property_ranges): Likewise.
c2d53558 967 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
968 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
969 Likewise.
970 * w32term.c (x_delete_display): Likewise.
971 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
972 Likewise.
c2d53558 973 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 974 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 975 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
976 (Fread_file_name): Use XSETCAR.
977 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
978 CHECK_NUMBER_CDR.
979 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
980 * frame.c (Fmake_terminal_frame): Use XSETCDR.
981 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
982 CHECK_NUMBER_CDR.
983 * keyboard.c (read_char): Alter list traversal to avoid taking the
984 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
985 (parse_menu_item): Use XSETCAR and XSETCDR.
986 (reach_char_x_menu_prompt): Use XSETCAR.
987 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
988 (Fcommand_execute): Use XSETCDR.
989 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
990 (openp): Change list traversal to avoid using XCAR as lvalue.
991 (read_list): Use XSETCDR.
992 * process.c (wait_reading_process_input): Change wait_for_cell
993 handling to avoid taking addresses of cons cell slots.
30903479
SM
994 * xselect.c (x_own_selection, x_handle_selection_clear)
995 (x_clear_frame_selections): Use XSETCDR.
996 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
997 (x_handle_property_notify, x_get_foreign_selection)
998 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 999
502150e5
PJ
10002001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1001
018ba359
PJ
1002 * buffer.c: Put doc strings in comments.
1003
30903479 1004 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1005
b56ba8de
SS
10062001-10-15 Sam Steingold <sds@gnu.org>
1007
1008 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1009
6a0b793a
PJ
10102001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1011
30903479
SM
1012 * process.c (process-inherit-coding-system-flag)
1013 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1014 in comment.
1015
a1f17501 1016 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1017 arguments. Put doc strings in comments.
a65da641
PJ
1018
1019 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1020
aa601ad0
GM
10212001-10-15 Gerd Moellmann <gerd@gnu.org>
1022
30903479 1023 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1024
aa601ad0
GM
1025 * window.c (select_window_1): Unfreeze window start. Remove a
1026 doubled test for WINDOW being live.
1027
288148a1
PJ
10282001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1029
dd8d1e71
PJ
1030 * fns.c (Fmapconcat): Fix typo in a doc string.
1031
288148a1
PJ
1032 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1033
9f5eb4a3
GM
10342001-10-15 Gerd Moellmann <gerd@gnu.org>
1035
1036 * xterm.c (x_draw_glyph_string): Restore clipping after
1037 drawing box.
1038
dbae44c8
PJ
10392001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1040
30903479 1041 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1042
0c88c937
SM
10432001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1044
56378db4
GM
1045 * indent.c (skip_invisible): Use new retval of
1046 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1047
845e4cf4
SM
1048 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1049 If a parent is reached and noinherit is set, exit immediately.
1050 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1051
0c88c937
SM
1052 * s/ms-w32.h (EXEC_SUFFIXES):
1053 * s/msdos.h (EXEC_SUFFIXES):
1054 * process.h (EXEC_SUFFIXES): Remove.
1055
1056 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1057 (decode_suffixes): Remove.
1058
1059 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1060 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1061 (invisible_ellipsis_p): Remove.
0c88c937
SM
1062
1063 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1064 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1065 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1066 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1067 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1068
d19be8a9
PJ
10692001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1070
04d7d066
PJ
1071 * lisp.h (Ftop_level): Add prototype.
1072
d624284c
PJ
1073 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1074 (XTread_socket): Improve style of comments to follow other
1075 comments.
1076
a87414f9
PJ
1077 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1078 is already prototyped in included lisp.h).
1079
d19be8a9
PJ
1080 * frame.c (Fset_mouse_position): Improve style of comment to
1081 follow other comments.
1082 (Fset_mouse_pixel_position): Improve style of comment to follow
1083 other comments.
1084 (Fmake_frame_visible): Doc fix and typo in comment.
1085 (Fmake_frame_invisible): Doc fix and typo in comment.
1086 (Ficonify_frame): Fix typo in comment.
1087
c061c855
GM
10882001-10-14 Gerd Moellmann <gerd@gnu.org>
1089
37f6b5b6 1090 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1091 * term.c, alloc.c: Put doc strings in comments.
c061c855 1092
e641b454
GM
10932001-10-13 Gerd Moellmann <gerd@gnu.org>
1094
1095 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1096 Provide definitions for doc strings in comments.
1097
1098 * fns.c: Put doc strings in comments.
1099
51724e26
EZ
11002001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1101
1102 * dired.c (file_name_completion): Ignore a candidate directory if
1103 it matches an element in completion-ignored-extensions that ends
1104 in a slash.
1105 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1106 feature in the doc string.
1107 (Ffile_name_completion): Ditto.
1108
be5fc59b
SM
11092001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1110
5a1373f3
SM
1111 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1112
1113 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1114
1115 * lisp.h (Fprovide): Update prototype.
1116 (Ffeaturep, invisible_p): Remove.
1117
bbc4a3d3 1118 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1119 (DOLIST, LOOP_PROPVAL): New macros.
1120 (invisible_p, invisible_ellipsis_p): Use them.
1121 (invisible_noellipsis_p): New function.
1122 (syms_of_xdisp): Use empty_string.
1123
1124 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1125
1126 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1127 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1128
1129 * print.c (Fwith_output_to_temp_buffer): Align with
1130 internal_with_output_to_temp_buffer.
1131 (print_preprocess): Use traverse_intervals_noorder.
1132 (print_object): Update call to traverse_intervals.
1133
1134 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1135 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1136
1137 * intervals.c (traverse_intervals_noorder): New function.
1138 (search_for_interval, count_intervals): Use it.
1139 (traverse_intervals): Use less stack space and drop `depth' arg.
1140
1141 * fns.c (Ffeaturep): Add new `subfeature' arg.
1142 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1143 (Qsubfeatures): New var.
1144 (syms_of_fns): Initialize it.
1145
026f408d
SM
1146 * keymap.c (Fkey_description): Use empty_string.
1147 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1148 (syms_of_keymap): Setup inheritance between maps.
1149 Don't export Sdescribe_bindings_internal any more.
1150
be5fc59b
SM
1151 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1152
3365175e
GM
11532001-10-12 Gerd Moellmann <gerd@gnu.org>
1154
1155 * xterm.c (notice_overwritten_cursor): Renamed from
1156 note_overwritten_text_cursor. Rewritten to take glyph widths into
1157 account.
1158
2ab7765c
EZ
11592001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1160
1161 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1162 multi-line strings without a trailing "\n\".
1163
311346bb
PJ
11642001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1165
1166 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1167 defined.
1168
2168e04d
SM
11692001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1170
026f408d
SM
1171 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1172
c0ec53ad
SM
1173 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1174 * w32proc.c (sys_spawnve):
1175 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1176 * w32.c (check_windows_init_file):
1177 * sound.c (Fplay_sound):
026f408d 1178 * emacs.c (init_cmdargs):
c0ec53ad
SM
1179 * process.c (Fstart_process): Update calls to openp.
1180
1181 * callproc.c (Vexec_suffixes): New var.
1182 (Fcall_process): Update call to openp.
1183 (decode_suffixes): New function.
1184 (syms_of_callproc): Init exec-suffixes.
1185
1186 * lread.c (Vload_suffixes, default_suffixes): New vars.
1187 (openp): Take a lisp list of suffixes.
1188 Check for file-name-handlers even if the file was absolute already.
1189 (syms_of_lread): Declare load-suffixes.
1190 (Fload): Fix up call to openp.
1191 Don't bother checking for file-name-handler at the very beginning.
1192
f6333468
SM
1193 * keymap.h (Fcopy_keymap): Don't export.
1194
1195 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1196 (Vload_suffixes, Vexec_suffixes): Declare.
1197 (openp): Update prototype.
f6333468
SM
1198
1199 * emacs.c (empty_string): New var.
1200 (syms_of_emacs): Initialize it.
1201
1202 * search.c (wordify): Use it.
1203
1204 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1205 selected window if it's not displayed there. Handle the case
1206 when the window is dedicated.
1207 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1208
1209 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1210
2168e04d
SM
1211 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1212 Remove left_ok and right_ok.
1213 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1214 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1215 new meaning of b_property.
1216
1217 * syntax.c (update_syntax_table): Simplify.
1218 (Fforward_comment): Don't skip quoted chars when going backward.
1219
13d95cc0
GM
12202001-10-11 Gerd Moellmann <gerd@gnu.org>
1221
beb0990f
GM
1222 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1223 in case I is of some unsigned type, in which case
1224 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1225 comparison becomes bogus.
1226
cb938d46
GM
1227 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1228 (Fuser_full_name): Fix bug treating a float as a fixnum.
1229
1230 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1231
1232 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1233
13d95cc0
GM
1234 * lisp.h (circular_list_error): Add prototype.
1235
1236 * data.c (Qcircular_list): New variable.
1237 (circular_list_error): New function.
1238 (syms_of_data): Initialize it Qcircular_list.
1239
e35f6ff7
SM
12402001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1241
1242 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1243 casefiddle.c, buffer.c: Include keymap.h.
1244
619632ac
GM
12452001-10-10 Gerd Moellmann <gerd@gnu.org>
1246
1247 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1248 options. From Dave Love <d.love@dl.ac.uk>.
1249
5e5388f6
GM
12502001-10-09 Gerd Moellmann <gerd@gnu.org>
1251
1252 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1253 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1254
14a3dff7
GM
1255 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1256 unsigned char.
1257 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1258
76ba8daf
AI
12592001-10-08 Andrew Innes <andrewi@gnu.org>
1260
1261 * lisp.h [max]: Undef min and max before redefining them.
1262
1263 * w32gui.h: Do not undef min and max.
1264
1265 * w32heap.h: Do not undef min and max.
1266
1267 * s/ms-w32.h: Do not undef min and max.
1268
166253cb
SM
12692001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1270
1271 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1272
0c4d9527
SS
12732001-10-08 Sam Steingold <sds@gnu.org>
1274
1275 * keymap.c (current-active-maps): Quote newlines (compilation error).
1276
14bfa771
EZ
12772001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1278
1279 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1280 bindings.elc, since otherwise doc strings in bindings.el get wrong
1281 offsets in etc/DOC.
1282
bdb7aa47
SM
12832001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1284
9985827f
SM
1285 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1286
1287 * keyboard.h (map_prompt): Remove.
1288
1289 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1290 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1291
bdb7aa47
SM
1292 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1293
1294 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1295
1296 * keyboard.c (map_prompt): Remove.
1297 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1298 Use Fkeymap_prompt.
1299
1300 * keymap.h: New file. Extracted from lisp.h.
1301
9985827f
SM
1302 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1303 (accessible_keymaps_1): New function.
1304 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1305 (Fwhere_is_internal): Use Fcurrent_active_maps.
1306 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1307 Insert in current buffer rather than standard-output.
1308 Don't call `help-mode'. Export to elisp.
1309 (describe_buffer_bindings): New wrapper.
1310 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1311 and Sdescribe_buffer_bindings.
1312
402c9a51
GM
13132001-10-08 Gerd Moellmann <gerd@gnu.org>
1314
9985827f 1315 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1316 Remove code setting signal handler.
1317
9985827f 1318 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1319 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1320
3fe81fdf
PJ
13212001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1322
1323 * keyboard.c: Don't define min/max.
1324
55fa7820
GM
13252001-10-08 Gerd Moellmann <gerd@gnu.org>
1326
9985827f 1327 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1328 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1329 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1330 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1331 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1332 Don't define min/max.
1333
1334 * lisp.h (min, max): New macros.
1335
55fa7820
GM
1336 * puresize.h (BASE_PURESIZE): Increase to 725000.
1337
1aad31e4
PJ
13382001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1339
9180dc8c
PJ
1340 * xfaces.c (free_frame_menubar): Add prototype.
1341
01f67d2c
PJ
1342 * lisp.h (init_window): Add prototype.
1343
1344 * editfns.c: Include ctype.h.
1345
1346 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1347 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1348 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1349 variable `sb'.
1350
5f351ff1
PJ
1351 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1352 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1353 `popup_activated_flag' and `title'.
1354
479dfe87
PJ
1355 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1356
dff49fc8
PJ
1357 * emacs.c (main): Remove extra `;'.
1358
248ac615
PJ
1359 * atimer.h (struct atimer): Fix typos in a comment.
1360
1361 * atimer.c: Fix typo.
1362
af232c7d
PJ
1363 * Makefile.in: Fix typo.
1364
1365 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1366
d876f455
MB
13672001-10-07 Miles Bader <miles@gnu.org>
1368
1369 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1370
0037e2f2
KR
13712001-10-07 Ken Raeburn <raeburn@gnu.org>
1372
b056f36d
KR
1373 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1374 Lisp_Object.
1375
0037e2f2
KR
1376 * lisp.h (Ffield_end): Declare.
1377
1a4372ef
GM
13782001-10-07 Gerd Moellmann <gerd@gnu.org>
1379
a4a74e8c
GM
1380 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1381
1382 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1383
1384 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1385
1386 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1387
1a4372ef
GM
1388 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1389 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1390
1391 * alloc.c (inhibit_garbage_collection): Simplify.
1392 (Fmemory_use_counts): Ditto.
1393
9985827f 1394 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1395 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1396 most-negative-fixnum.
1397
9985827f 1398 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1399 (FIXNUM_OVERFLOW_P): New macros.
1400
4650e362
MB
14012001-10-06 Miles Bader <miles@gnu.org>
1402
1403 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1404 scroll_bar_bottom_shadow_pixel fields.
1405 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1406 for the shadows, and tell the toolkit about them if we succeed.
1407 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1408 Free scroll-bar shadow colors.
1409 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1410 Free scroll-bar shadow colors when the background color changes.
1411 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1412 Initialize scroll-bar shadow-color fields.
1413
ace64e0a
GM
14142001-10-05 Gerd Moellmann <gerd@gnu.org>
1415
1416 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1417
ec66bdc7
MB
14182001-10-05 Miles Bader <miles@gnu.org>
1419
9985827f
SM
1420 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1421 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1422 New functions (were in simple.el).
9985827f 1423 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1424 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1425 (syms_of_minibuf): Initialize them.
1426
a0fb4492
GM
14272001-10-05 Gerd Moellmann <gerd@gnu.org>
1428
1429 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1430 (tiff_load): Install them as error and warning handler.
1431
0bcf87c1
AI
14322001-10-04 Andrew Innes <andrewi@gnu.org>
1433
1434 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1435 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1436 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1437 (x_to_w32_charset): Handle private format for unknown charsets.
1438 Handle wildcards in charset spec, by ignoring them.
1439 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1440 "*-" prefix from charset.
1441 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1442 handle the truncated font spec form constructed by font_list_1, so
1443 that we correctly identify the charset fields. Don't remove "*-"
1444 prefix from charset.
1445 (w32_list_synthesized_fonts): Fix argument to alloca.
1446
c89e4bc5
GM
14472001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1448
1449 * window.h (MINI_WINDOW_P): Use NILP.
1450
1451 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1452
1453 * termhooks.h (struct input_event): Use proper type for `kind'.
1454
14552001-10-04 Gerd Moellmann <gerd@gnu.org>
1456
1457 This handles unknown keysyms better than before. For example,
1458 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1459 Emacs formerly completely ignored F5. With the change, it derives
1460 a key symbol from the name of the X keysym, `ccaron' in this case.
1461 Reported by Martin Buchholz.
1462
1463 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1464 unknown keysyms.
1465
1466 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1467 that EVENT->code isn't a function key, use the keysym's name.
1468
14692001-10-04 Gerd Moellmann <gerd@gnu.org>
1470
1471 FOREACH is a macro that should make it easier to loop over Lisp
1472 lists with checks for cycles and proper lists.
1473
1474 * lisp.h (LIST_END_P, FOREACH): New macros.
1475
14762001-10-04 Gerd Moellmann <gerd@gnu.org>
1477
1478 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1479 called for a lost connection. Prevent dumping core in this case.
1480 Instead print the X error, and exit. On user request.
1481
1482 * xterm.c (error_msg): New variable.
1483 (x_fatal_error_signal): New function.
1484 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1485 as fatal_error_signal_hook around the call to XtCloseDisplay.
1486
1487 * emacs.c (fatal_error_signal_hook): New variable.
1488 (fatal_error_signal): Call that function.
1489
14902001-10-04 Gerd Moellmann <gerd@gnu.org>
1491
1492 With this, Emacs prints how much pure storage it will
1493 approximately need in case pure storage overflows while dumping.
1494
1495 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1496 New variables.
1497 (init_alloc_once): Initialize new variables.
1498 (PURE_POINTER_P): Use new variables.
1499 (pure_alloc): If pure storage overflows, allocate from the heap.
1500 (check_pure_size): New function.
1501 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1502
1503 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1504 (check_pure_size): Add prototype.
1505
1506 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1507
15082001-10-04 Gerd Moellmann <gerd@gnu.org>
1509
1510 This adds a post-gc-hook that's run with GC inhibited.
1511 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1512
1513 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1514 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1515 (Fgarbage_collect): Run post-gc-hook.
1516
15172001-10-04 Gerd Moellmann <gerd@gnu.org>
1518
1519 This adds `defvaralias' and `indirect-variable'. Changes not
1520 directly related to this feature are there to gain the same
1521 performance again as before variable aliases.
1522
1523 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1524 code to get and set symbol values, to take defvaralias into account.
1525
1526 (Note: the new `constant' bit-flag in symbols would make it
1527 possible to define arbitrary read-only variables, e.g. with
1528 `defconst'.)
1529
1530 Documentation is in lispref/variables.texi. Added to NEWS.
1531
1532 * lisp.h (enum symbol_interned): New enumeration.
1533 (struct Lisp_Symbol): Remove member `obarray', add
1534 `indirect_variable', `constant', and `interned'.
1535 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1536 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1537 (indirect_variable): Add prototype.
1538
1539 * print.c (print_preprocess, print_object): Test internedness of
1540 symbols differently.
1541
1542 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1543 bit-fields.
1544 (init_obarray): Likewise for t and nil.
1545
1546 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1547 (Fdefvaralias): New function.
1548 (specbind): Simplify the test if symbol is a constant.
1549 (syms_of_eval): Defsubr Fdefvaralias.
1550
1551 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1552 (Qcyclic_variable_indirection): New variable.
1553 (Fkeywordp): Check for internedness differently.
1554 (Fmakunbound): Simplify the test if symbol is a constant.
1555 (indirect_variable, Findirect_variable): New functions.
1556 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1557 aliased symbol.
1558 (let_shadows_buffer_binding_p): Check for variable aliases.
1559 (set_internal): Simplify the test if SYMBOL is a constant.
1560 If SYMBOL has a buffer-local value and is an alias, use the aliased
1561 symbol instead.
1562 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1563 Sindirect_variable.
1564
1565 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1566 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1567 set directly.
1568
1569 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1570
1571 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1572 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1573 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1574
ab952a4f
GM
15752001-10-04 Gerd Moellmann <gerd@gnu.org>
1576
1577 * Branch for 21.1.
b56ba8de 1578
ba88ff28
MB
15792001-10-03 Miles Bader <miles@gnu.org>
1580
1581 * callproc.c (syms_of_callproc): Explicitly state in the
1582 documentation for `process-environment' that earlier entries take
1583 precedence over later ones.
1584
ae1a9581
MB
15852001-10-02 Miles Bader <miles@gnu.org>
1586
1587 * textprop.c (Fnext_char_property_change)
1588 (Fprevious_char_property_change): Remove reference to non-existant
1589 argument OBJECT from doc-string.
1590
257e3f57
GM
15912001-10-01 Gerd Moellmann <gerd@gnu.org>
1592
1593 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1594 (try_window_id): Skip back over lines ending in a newline from a
1595 string.
1596
1597 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1598 New bit flag
1599
c1f29759
RS
16002001-10-01 Richard M. Stallman <rms@gnu.org>
1601
1602 * search.c (Freplace_match): Doc fix.
1603
c30dce3d
AI
16042001-09-28 Andrew Innes <andrewi@gnu.org>
1605
1606 * w32menu.c (set_frame_menubar): Take into account that
1607 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1608 <raeburn@gnu.org>.
1609
03be5931
EZ
16102001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1611
1612 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1613
75bec752
PJ
16142001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1615
1616 * s/gnu-linux.h: Fix a typo in comment.
1617
83100e0a
AS
16182001-09-28 Andreas Schwab <schwab@suse.de>
1619
1620 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1621 nocombreloc, in case -z combreloc is the default.
1622
a74b48cf
GM
16232001-09-28 Gerd Moellmann <gerd@gnu.org>
1624
1625 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1626 really going on here.
1627
09c4719e
SM
16282001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1629
1630 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1631
f7d5d963
EZ
16322001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1633
1634 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1635 utf-8, menu-bar, and latin-N.
1636 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1637 unconditionally now.
1638 (lisp): Add latin-N, since they are preloaded.
1639
9240e746
GM
16402001-09-27 Gerd Moellmann <gerd@gnu.org>
1641
14531065
GM
1642 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1643 to the left. Some cleanup.
1644
9240e746
GM
1645 * xdisp.c (display_mode_element): One more case where a string's
1646 multibyteness should be used for display.
1647
edd1e654
GM
16482001-09-26 Gerd Moellmann <gerd@gnu.org>
1649
b02439c8
GM
1650 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1651 reading at EOF.
1652
032906b1 1653 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1654 of the only temporarily set echoing flag for deciding when
032906b1
GM
1655 the cancel echoing.
1656
1657 * keyboard.c (echo_kboard): Make externally visible.
1658
1659 * lisp.h (echo_kboard): Declare extern.
1660
cb617e7c 1661 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1662 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1663 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1664 this round of redisplay if make_cursor_line_fully_visible fails.
1665 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1666 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1667
1668 * dispextern.h (required_matrix_width, required_matrix_height):
1669 Add prototypes.
1670
09c4719e
SM
1671 * dispnew.c (required_matrix_width, required_matrix_height):
1672 New functions.
cb617e7c 1673 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1674 (allocate_matrices_for_frame_redisplay: Use them.
1675 Remove parameters CH_DIM.
cb617e7c 1676
edd1e654
GM
1677 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1678 and selected_window to the frame of the window whose mode-lines
1679 are displayed, and to the window itself.
1680 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1681 here.
edd1e654 1682
924b604c
GM
16832001-09-25 Gerd Moellmann <gerd@gnu.org>
1684
daba7643
GM
1685 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1686 the image cache under us.
1687
b7a22712 1688 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1689 with a string value, use that string's multibyteness for displaying.
b7a22712 1690
ad648212
GM
1691 * keyboard.c (read_char): Don't clear a message for a switch-frame
1692 event. From Stefan Monnier <monnier@cs.yale.edu>.
1693
9f8531e5
GM
1694 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1695 version for after 21.1.
1696
1697 * xdisp.c (row_containing_pos): Make externally visible.
1698
1699 * dispextern.h (row_containing_pos): Add prototype.
1700
924b604c
GM
1701 * process.c (send_process): Disable composition if from_byte < 0.
1702 From Kenichi Handa <handa@etl.go.jp>.
1703
6f3f0db4
GM
17042001-09-24 Gerd Moellmann <gerd@gnu.org>
1705
c69c0ebc
GM
1706 * xterm.c (refreshicon): Function removed.
1707
d1182bc4
GM
1708 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1709
1710 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1711
1712 * xterm.c (toplevel): Remove includes in #if 0.
1713
6f3f0db4
GM
1714 * process.c (sigchld_handler) [LINUX]: Don't return from
1715 the signal handler at the end of the loop.
1716
59957f85
GM
17172001-09-21 Gerd Moellmann <gerd@gnu.org>
1718
09c4719e
SM
1719 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1720 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1721
a0528984
EZ
17222001-09-21 Markus Rost <rost@math.ohio-state.edu>
1723
1724 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1725
db92b288
GM
17262001-09-20 Gerd Moellmann <gerd@gnu.org>
1727
3fed8ad5
GM
1728 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1729 since this function can be called during GC.
1730
db92b288
GM
1731 * callproc.c (Fcall_process): Handle errors from pipe(2).
1732 (child_setup): Delete code in #ifdef vipc.
1733
7121b85a
GM
17342001-09-19 Gerd Moellmann <gerd@gnu.org>
1735
72f62cb5
GM
1736 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1737 (display_mode_element): Display the string from decode_mode_spec
1738 depending on its multibyteness.
1739
a2697022
GM
1740 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1741
7121b85a
GM
1742 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1743
bfc97351
GM
17442001-09-18 Gerd Moellmann <gerd@gnu.org>
1745
c9063433
GM
1746 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1747 recursive_edit_unwind.
1748 (recursive_edit_unwind): Set kboard state according to
1749 SINGLE-KBOARD.
1750
3fbdba3e
GM
1751 * buffer.c (modify_overlay): Don't do nothing if START == END;
1752 This can still be a modification, for example when an overlay has
1753 a before-string or after-string.
1754 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1755 an overlay with before-string or after-string.
1756
1270031d
GM
1757 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1758 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1759
bfc97351
GM
1760 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1761 first_unchanged_at_end_row is in front of
1762 last_unchanged_at_beg_row. This code should be removed after the
1763 release of 21.1.
1764
d8a973aa
GM
17652001-09-17 Gerd Moellmann <gerd@gnu.org>
1766
e18c8b8d
GM
1767 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1768 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1769
d8a973aa
GM
1770 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1771 versions >= 2.95.
1772
ed7d6ba4
EZ
17732001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1774
1775 * dired.c (Ffile_attributes): Doc fix.
1776
551629f9
GM
17772001-09-14 Gerd Moellmann <gerd@gnu.org>
1778
1779 * fileio.c (Ffile_symlink_p): Fix last change.
1780
1781 * filelock.c (current_lock_owner): Fix last change.
1782
4c8c7926
GM
17832001-09-13 Gerd Moellmann <gerd@gnu.org>
1784
620c4704
GM
1785 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1786 take that to mean that the buffer is too small.
1787
81c3310d
GM
1788 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1789 that to mean that the buffer is too small.
1790
06fd3792
GM
1791 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1792 current buffer's multibyteness when discarding the iterator's
1793 stack.
1794
4c8c7926
GM
1795 * xfns.c (Fx_window_property): Handle case that property gets
1796 deleted between the two calls to XGetWindowProperty.
1797
9a72e4c1
GM
17982001-09-11 Gerd Moellmann <gerd@gnu.org>
1799
bd819d14 1800 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 1801
a41edd99
GM
1802 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
1803 in addition to read-only.
1804
1805 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
1806 to t in addition to read-only.
1807
1808 * lisp.h (Qinhibit_modification_hooks): Declare.
1809
1810 * insdel.c (Qinhibit_modification_hooks): New variable.
1811 (syms_of_insdel): Initialize and staticpro it.
1812
d4881c6a
GM
1813 * textprop.c (verify_interval_modification): Don't run
1814 modification-hooks if inhibit_modification_hooks.
1815
1816 * dispnew.c (set_window_cursor_after_update): Fix code
1817 finding glyph row containing cursor when cursor_in_echo_area
1818 is >= 0.
1819
9a72e4c1
GM
1820 * xdisp.c (init_from_display_pos): Put some code in #if 0.
1821 (add_to_log): Use bcopy instead of strcpy.
1822 (init_from_display_pos): Use an explicit loop over bytes in
1823 overlay strings instead of calling index.
1824
f4a374a1
GM
18252001-09-10 Gerd Moellmann <gerd@gnu.org>
1826
300e57bd
GM
1827 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
1828
1829 * dispnew.c (direct_output_for_insert): Don't change IT's
1830 stop_charpos to something in front of its current position.
1831
f4a374a1
GM
1832 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
1833 `format'.
1834
7e4cbc91
RS
18352001-09-10 Richard M. Stallman <rms@gnu.org>
1836
1837 * frame.c (Fmouse_position): Doc fix.
1838
6afad91e
GM
18392001-09-07 Gerd Moellmann <gerd@gnu.org>
1840
1841 * xdisp.c (init_from_display_pos): Don't compare the result
1842 of calling index with NULL.
1843
f76e0368
GM
18442001-09-06 Gerd Moellmann <gerd@gnu.org>
1845
1846 * xfns.c (x_set_background_color): Don't change the colors
1847 of the X window of scroll bar widgets.
1848
9ead1b60
AI
18492001-09-05 Andrew Innes <andrewi@gnu.org>
1850
1851 * w32fns.c (w32_createwindow): Undo last change.
1852
c3b497b3
GM
18532001-09-05 Gerd Moellmann <gerd@gnu.org>
1854
08e1d6df
GM
1855 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1856
c3b497b3
GM
1857 * xdisp.c (string_buffer_position): Use *single_char_property*
1858 functions instead of the *single_property* functions.
b56ba8de 1859
8f860180
AI
18602001-09-04 Andrew Innes <andrewi@gnu.org>
1861
9a72e4c1
GM
1862 * w32term.c (w32_read_socket): Add more information to debugging
1863 output.
8f860180
AI
1864
1865 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1866 from Emacs frames, so that calls to GetClipBox in w32term.c
1867 correctly report when part of a frame is visible (including
1868 scrollbars, etc). This prevents repeated redrawing of frames when
1869 only a scrollbar is visible.
1870 (w32_wnd_proc): Add more frame information to debugging output.
1871
2ee1aa00
SM
18722001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1873
1874 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1875
e3b22517
GM
18762001-09-03 Gerd Moellmann <gerd@gnu.org>
1877
7e376260
GM
1878 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1879 help-echo for a string which doesn't have help-echo itself, use
1880 get-char-property to obtain the help-echo from the string's buffer
1881 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1882 have mouse-face, look ``under'' the string for mouse-face from an
1883 overlay.
1884 (fast_find_position): Add parameter STOP. In the final row, stop
1885 before glyphs having STOP as object. Don't consider glyphs that
1886 are not from a buffer.
1887
e3b22517
GM
1888 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1889
9a249bba
EZ
18902001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1891
1892 * fns.c (Fmd5): Doc fix.
1893
c9979669
GM
18942001-08-31 Gerd Moellmann <gerd@gnu.org>
1895
1896 * composite.c (update_compositions): Do nothing if
1897 inhibit-modification-hooks is set.
1898
9584e63a
GM
18992001-08-30 Gerd Moellmann <gerd@gnu.org>
1900
986ec8f2 1901 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1902 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1903 glyph matrices etc. in a core dump.
1904
92a25631
GM
1905 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1906 (syms_of_xdisp): Initialize them.
1907 (handle_single_display_prop): Don't change point, bind `object',
1908 `position', and `buffer-position' instead to the object having the
2ee1aa00 1909 `display' property, position in the object and position in the buffer.
92a25631 1910
9584e63a
GM
1911 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1912 of the buffer if REPLACE is non-nil.
1913
d38633a3
GM
19142001-08-29 Gerd Moellmann <gerd@gnu.org>
1915
1916 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1917
f4fccc1e
EZ
19182001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1919
1920 * w32term.c (x_set_glyph_string_background_width)
1921 (show_mouse_face): Track the last changes in xterm.c.
1922
eaaa65b0
GM
19232001-08-28 Gerd Moellmann <gerd@gnu.org>
1924
7b0870b2
GM
1925 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1926 string's background width so that multi-line mouse-face is drawn
1927 to the right edge of the window.
1928 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1929 glyphs.
1930
6b6e2422 1931 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1932 before inserting/writing glyphs.
6b6e2422 1933
eaaa65b0
GM
1934 * xdisp.c (display_mode_element): Use string_byte_to_char to
1935 determine character positions in strings, use chars_in_text
1936 instead of strwidth.
1937 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1938 a matrix as parameter; this is easier to use from GDB.
1939
9ad62cf8
MB
19402001-08-28 Miles Bader <miles@gnu.org>
1941
2ee1aa00
SM
1942 * textprop.c (Fprevious_single_char_property_change)
1943 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 1944
32171635
GM
19452001-08-27 Gerd Moellmann <gerd@gnu.org>
1946
47d57b22
GM
1947 * fileio.c (Finsert_file_contents): Allocate, restore, and
1948 free composition data in the case of REPLACE not being nil.
1949
1950 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1951 there exist overlay strings with newlines at POS.
1952 (text_outside_line_unchanged_p): Return 0 if changes start at
1953 START and overlays exist at START. Likewise for END.
1954 (try_window_id): Give up if init_to_row_end returns 0.
1955
32171635
GM
1956 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1957 unconditionally.
1958
e1249666
GM
19592001-08-24 Gerd Moellmann <gerd@gnu.org>
1960
33954c45
GM
1961 * keymap.c (access_keymap): Return the cdr of the binding of
1962 a generic character instead of its definition (KEY . BINDING).
1963
e1249666
GM
1964 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1965 to 0 also in the REPLACE case.
1966
fb4c6c96
AC
19672001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1968
1969 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1970 open to determine whether file is readable (as for DOS_NT).
1971
59ecf80b
GM
19722001-08-23 Gerd Moellmann <gerd@gnu.org>
1973
1974 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1975 coding.type is coding_type_no_conversion or coding_type_raw_text,
1976 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1977 non-nil instead of just setting enable_multibyte_characters in the
1978 buffer to nil.
1979
40e33037
GM
19802001-08-22 Gerd Moellmann <gerd@gnu.org>
1981
374388c3
GM
1982 * dispextern.h (struct face_cache): Add member
1983 menu_face_changed_p.
1984
1985 * xfaces.c (menu_face_changed_default): New variable.
1986 (menu_face_changed_count): Variable removed.
1987 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
1988 the menu_face_changed_default flag, otherwise set the FRAME's
1989 menu_face_changed_p flag if the `menu' face has been changed.
1990 Prevent calling set_font_frame_param if FRAME is t.
1991 (make_face_cache): Initialize cache's menu_face_changed_p
1992 from menu_face_changed_default.
1993 (realize_basic_faces): Look into the frame's face cache to
1994 determine if the menu appearance needs updating.
1995
40e33037
GM
1996 * keymap.c (access_keymap): Fix last change to not consider
1997 IDX when it has modifiers.
1998
859ea4b8
GM
19992001-08-21 Gerd Moellmann <gerd@gnu.org>
2000
2001 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2002 . BINDING) exists, where GENERIC-CHAR is the generic character of
2003 the charset of IDX, return BINDING unless there exists a binding
2004 for IDX itself.
2005
e8660d73
GM
20062001-08-16 Gerd Moellmann <gerd@gnu.org>
2007
cca1b1d7
GM
2008 * xrdb.c (SYSV): Don't define on Solaris 2.
2009 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2010
e8660d73 2011 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2012 of the screen line, not text line, containing IT's current position.
e8660d73 2013
93aba6fc
GM
20142001-08-15 Gerd Moellmann <gerd@gnu.org>
2015
288d4e06
GM
2016 * window.c (window_scroll_pixel_based): Don't recenter if
2017 PT is partially visible in the window.
2018
3452efc2
SM
2019 * xterm.c (expose_window_tree, expose_window, expose_line):
2020 Return 1 when overwriting mouse-face.
82f053ab
GM
2021 (expose_frame): If mouse-face was overwritten, redo it.
2022
93aba6fc
GM
2023 * xfaces.c (x_update_menu_appearance): Don't call
2024 set_frame_menubar, let the next redisplay do it.
2025
858a55c1
AI
20262001-08-14 Andrew Innes <andrewi@gnu.org>
2027
2028 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2029 drawing glyph string.
2030
3a990b67
EZ
20312001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2032
2033 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2034 running HI-UX/MPP.
2035
04386463
GM
20362001-08-14 Gerd Moellmann <gerd@gnu.org>
2037
2038 * xfaces.c (x_update_menu_appearance): Save and restore value of
2039 interrupt_input_blocked.
2040
3e6385a4
GM
20412001-08-13 Gerd Moellmann <gerd@gnu.org>
2042
b0e619b4
GM
2043 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2044 a line start, move back to the line start.
3452efc2 2045
0de73d5a
GM
2046 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2047 exactly when a mini-buffer is active.
2048
3e6385a4
GM
2049 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2050 in units of 1/8 character on non window-system frames.
2051 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2052
d1b5f629
EZ
20532001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2054
2055 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2056 a doc string.
2057
eaa2319f
GM
20582001-08-09 Gerd Moellmann <gerd@gnu.org>
2059
8e3189f0
GM
2060 * keyboard.c (Vpre_help_message): New variable.
2061 (syms_of_keyboard): Initialize and staticpro it.
2062 (show_help_echo): Record current message before displaying a
2063 help-echo, and restore that message when clearing the help.
2064
eaa2319f
GM
2065 * xfns.c (x_create_im): Remove prototype.
2066
2067 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2068
2069 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2070
eaa2319f
GM
20712001-08-08 Gerd Moellmann <gerd@gnu.org>
2072
2073 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2074 windows whose height has changed, disable partially visible lines.
eaa2319f 2075
17fdcfc8
GM
20762001-08-07 Gerd Moellmann <gerd@gnu.org>
2077
22d01aed 2078 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2079 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2080
17fdcfc8
GM
2081 * xdisp.c (start_display): Don't try to determine the continuation
2082 lines width if lines are truncated. It's superfluous and leads to
2083 incorrect results if POS is not visible in the window after
2084 reseating the iterator at the previous line start.
2085
8e3fe78e
GM
20862001-08-06 Gerd Moellmann <gerd@gnu.org>
2087
2088 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2089
98a8938c
GM
20902001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2091
2092 * alloc.c (init_stack): Remove declaration.
2093
18f9986a
GM
20942001-08-03 Gerd Moellmann <gerd@gnu.org>
2095
5e1f85e0
GM
2096 * keyboard.c (read_key_sequence): Check that key is an integer
2097 before comparing it with quit_char.
2098 (add_command_key): Use larger_vector.
2099 (read_char_x_menu_prompt): Instead of converting symbol and
2100 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2101 which cannot be confused with valid events.
5e1f85e0
GM
2102 (read_char): When reading from Vunread_command_events, check for
2103 events of the form (EVENT . disabled) instead of
2104 (EVENT . nil).
2105
18f9986a
GM
2106 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2107 a float, determine the max height from the frame's height.
2108
fbc7f2a6
GM
21092001-08-02 Gerd Moellmann <gerd@gnu.org>
2110
2111 * xdisp.c (redisplay_internal): Take message_cleared_p into
2112 account only if minibuf_level == 0.
2113
81b1a79d
GM
21142001-08-01 Gerd Moellmann <gerd@gnu.org>
2115
e5c60873
GM
2116 * xdisp.c (redisplay_internal): Add a check for the last
2117 displayed message.
3452efc2 2118
6e019995
GM
2119 * xdisp.c (message_cleared_p): New variable.
2120 (clear_message): Set message_cleared_p when clearing the current
2121 message.
2122 (redisplay_internal): Look at message_cleared_p to capture
2123 the case that the echo area should be cleared.
2124
308a74d8
GM
2125 * keyboard.c (command_loop_1): Fix spelling of
2126 resize_echo_area_exactly.
2127
3452efc2 2128 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2129
2130 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2131
81b1a79d
GM
2132 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2133 current matrix when the window gets smaller.
2134
ada329e6
EZ
21352001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2136
2137 * print.c (strout): Cast the character passed to insert_char to
2138 unsigned char, to avoid sign extension when it is promoted to int.
2139
ed86208c
GM
21402001-07-31 Gerd Moellmann <gerd@gnu.org>
2141
2142 * fileio.c (Finsert_file_contents): Don't treat a return value
2143 of 0 from emacs_read as an IO error.
2144
6594ac22
GM
21452001-07-30 Gerd Moellmann <gerd@gnu.org>
2146
cef68af5
GM
2147 * keyboard.c (abs): New macro.
2148 (double_click_fuzz): New variable.
2149 (make_lispy_event): Use it to determine what makes a double-click.
2150 (syms_of_keyboard): DEFVAR_INT it.
2151
6594ac22
GM
2152 * xmenu.c (set_frame_menubar): Take into account that
2153 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2154 <raeburn@gnu.org>.
2155
75c5350a
GM
21562001-07-27 Gerd Moellmann <gerd@gnu.org>
2157
2158 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2159
2160 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2161 of row's visible height.
2162
2163 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2164 deal with the first overlay string having an image `display' property.
2165 (try_window_reusing_current_matrix, compute_line_metrics):
2166 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2167 row is invisible above and part of the row is at the same time
2168 invisible below the window.
2169
ac49effe
GM
21702001-07-26 Gerd Moellmann <gerd@gnu.org>
2171
2172 * xfns.c (x-show-tip): Doc fix.
3452efc2 2173
ac49effe
GM
2174 * xfns.c (Vx_max_tooltip_size): New variable.
2175 (syms_of_xfns): DEFVAR_LISP it.
2176 (Fx_show_tip): Set frame's window_width to the width of the
2177 window. Use a maximum tooltip size specified by
2178 Vx_max_tooltip_size, if that has valid contents.
2179 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2180
8c3b00cb
AI
21812001-07-26 Andrew Innes <andrewi@gnu.org>
2182
2183 * w32term.c (x_display_list): New variable.
2184 (w32_term_init): Set it.
2185
2186 * w32term.h (x_display_list): New extern.
2187
16098288
GM
21882001-07-26 Gerd Moellmann <gerd@gnu.org>
2189
2190 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2191 is non-nil, instead of when redisplaying_p is non-zero.
2192 See comment there.
16098288
GM
2193 (mark_window_display_accurate_1): Add an assertion.
2194
64c5be50
GM
21952001-07-25 Gerd Moellmann <gerd@gnu.org>
2196
e743f599
GM
2197 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2198
563b384d
GM
2199 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2200 events so that we get a chance of processing expose events.
2201
64c5be50
GM
2202 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2203
296808a5
GM
22042001-07-24 Gerd Moellmann <gerd@gnu.org>
2205
2206 * xfns.c (valid_image_p): Protect better against invalid image
2207 specifications. Previous code could signal an error.
2208
5247262a
GM
22092001-07-23 Gerd Moellmann <gerd@gnu.org>
2210
3452efc2 2211 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2212 presence of display table entries.
2213 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2214
dd42b31a
GM
2215 * dispnew.c (adjust_glyph_matrix): In the optimization for
2216 windows whose height has changed, use the new window height
2217 to compute which rows to invalidate.
2218
9e5a7f2a
GM
2219 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2220 (MAX_10_EXP): New macro.
2221 (Fformat): Use it.
2222
5247262a
GM
2223 * coding.c (code_convert_region): Handle the multibyte case if
2224 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2225
177ab8ce
GM
22262001-07-20 Gerd Moellmann <gerd@gnu.org>
2227
6e07c0a5
GM
2228 * dispextern.h (struct face): Change type of `stipple' to
2229 int; it's an ID.
2230
177ab8ce
GM
2231 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2232
b5b80599
GM
22332001-07-19 Gerd Moellmann <gerd@gnu.org>
2234
4e2a256b
GM
2235 * dispnew.c (update_window): Don't set the cursor at the end
2236 of the update if display update has been paused.
2237
3452efc2 2238 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2239
c1fd9232
KR
22402001-07-18 Ken Raeburn <raeburn@gnu.org>
2241
2242 * fns.c (Fset_char_table_default): Check that a charset is defined
2243 before checking its dimension.
2244
928a85c1
KR
22452001-07-17 Ken Raeburn <raeburn@gnu.org>
2246
2247 * coding.c (setup_coding_system): Don't do any designation based
2248 on reg_bits if charset is not yet defined.
2249
fb4c6c96 2250 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2251 pointer, using eassert.
2252
de11c1ea
GM
22532001-07-17 Gerd Moellmann <gerd@gnu.org>
2254
3452efc2
SM
2255 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2256 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2257
467f1209
GM
22582001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2259
2260 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2261
c3d6be34
GM
22622001-07-16 Gerd Moellmann <gerd@gnu.org>
2263
c1d61a7d
GM
2264 * fileio.c (unwind_read): Function removed.
2265 (read_non_regular, read_non_regular_quit): New functions.
2266 (Finsert_file_contents): When reading from non-regular files,
2267 arrange to catch a `quit' and terminate the loop. Rearrange
2268 code so that a `quit' when reading from a regular file doesn't
2269 insert text in the buffer.
2270
c3d6be34
GM
2271 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2272 Clear faces afterwards.
2273 (clear_font_table): Take a x_display_info parameter. Don't free
2274 fonts being the default font of any frame on the given display.
2275
e06aa1f9
GM
22762001-07-13 Gerd Moellmann <gerd@gnu.org>
2277
2278 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2279 instead of CHAR_STRING which can signal an error.
2280
2281 * charset.c (char_to_string_1): Extracted from char_to_string.
2282 Return -1 instead of signaling an error.
2283 (char_to_string): Use it.
2284
2285 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2286
176c92e6
SM
22872001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2288
2289 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2290 is t, don't try to append anything to it.
2291
1c56232f
EZ
22922001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2293
2294 * dired.c (file_name_completion): Pass dp->d_name to
2295 Fstring_match, not elt, which is always nil here.
2296
1d2b2268
GM
22972001-07-12 Gerd Moellmann <gerd@gnu.org>
2298
2299 * xselect.c (x_decline_selection_request): Handle errors
2300 caused by receivers that have vanished.
2301
2302 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2303 ignoring events on foreign windows in #if 0. Always dispatch
2304 the event after checking it with x_handle_property_notify.
2305
2306 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2307 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2308 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2309 (toplevel): Add prototypes for file-local functions.
2310 (x_atom_to_symbol): Remove DPYINFO parameter.
2311
fe5a0162
SM
23122001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2313
2314 * w32menu.c (menubar_selection_callback, w32_menu_show):
2315 Initialize `entry' to nil.
2316 (w32_dialog_show): Remove unused `save_wv' variable.
2317 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2318
a777242c
GM
23192001-07-11 Gerd Moellmann <gerd@gnu.org>
2320
8ee5b6a3
GM
2321 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2322
d0e2444e
GM
2323 * fileio.c (unwind_read): Print a message when discarding inserted
2324 text or switching the buffer to unibyte. Change parameter.
2325 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2326
a777242c
GM
2327 * fileio.c (unwind_read): New function.
2328 (Finsert_file_contents): Record it as unwind-function for
2329 the case that reading is interrupted by C-g.
2330
ae794295
GM
23312001-07-10 Gerd Moellmann <gerd@gnu.org>
2332
fe5a0162 2333 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2334 update when scrolling_window returns 0.
2335
6b05fae3
GM
2336 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2337
2338 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2339 for the case that x_decode_color signals an error.
6b05fae3 2340
ae794295
GM
2341 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2342
bb6e8cee
GM
23432001-07-09 Gerd Moellmann <gerd@gnu.org>
2344
2345 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2346 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2347 around ioctls.
2348
36b40a8a
EZ
23492001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2350
24b97d4b
EZ
2351 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2352 doc string line for dos-timezone-offset.
2353
36b40a8a
EZ
2354 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2355 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2356 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2357 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2358
2359 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2360
0967b4b0
GM
23612001-07-05 Gerd Moellmann <gerd@gnu.org>
2362
f25cfe53
GM
2363 * sound.c: Include Emacs' header files with #include "...".
2364
0967b4b0
GM
2365 * eval.c (specbind): Additionally record the buffer that was
2366 current when a buffer-local or frame-local variable was bound.
2367
c347a1c3
GM
23682001-07-04 Gerd Moellmann <gerd@gnu.org>
2369
2370 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2371 to unibyte characters in unibyte buffers.
2372
6332ca8a
GM
23732001-07-03 Gerd Moellmann <gerd@gnu.org>
2374
38472d44
GM
2375 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2376 the frame on the binding stack. Change format of entries for
2377 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2378 (unbind_to): Handle unbinding a frame-local variable.
2379
6332ca8a 2380 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2381 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2382 (dump_glyph_row): Print row's continuation_lines_width.
2383 (try_window_id): Take the shortcut if ZV is visible in the
2384 window, but there are actually no changes at ZV.
2385
63d1b174
GM
23862001-07-02 Gerd Moellmann <gerd@gnu.org>
2387
4c175203
GM
2388 * xterm.h (x_free_dpy_colors): Add prototype.
2389
2390 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2391 right number of arguments.
2392
0b54ce28
GM
2393 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2394 ($(lwlibdir)TAGS): New target.
4c175203 2395 (TAGS): Fix dependency list.
0b54ce28 2396
63d1b174
GM
2397 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2398 with input blocked.
2399
d827466c
GM
24002001-06-30 Gerd Moellmann <gerd@gnu.org>
2401
2402 * emacs.c (main): Remove extern declaration for sys_nerr, which
2403 isn't used and causes a compilation error with GCC 3.0 on
2404 FreeBSD 4.3.
2405
b5cb1ada
GM
24062001-06-27 Gerd Moellmann <gerd@gnu.org>
2407
a5d3ec3f 2408 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2409 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2410 (toplevel): Include <signal.h> and syssignal.h.
2411
b5cb1ada
GM
2412 * sound.c (vox_configure, vox_close): Turn off atimers
2413 around ioctls.
2414
d9bad487
GM
24152001-06-26 Gerd Moellmann <gerd@gnu.org>
2416
fdbb67fe
GM
2417 * keyboard.c (read_char) <non_reread>: Record the previous idle
2418 start time before calling timer_stop_idle.
2419 (read_char) <reread_first>: After processing a help-echo event,
2420 restore the previous idle start time.
2421
d9bad487
GM
2422 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2423 the start of invisible text.
2424 (setup_for_ellipsis): New function.
2425 (next_overlay_string): After all overlay strings have been
2426 processed, display an ellipsis if necessary.
2427 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2428 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2429
2430 * dispextern.h (struct iterator_stack_entry): Add member
2431 display_ellipsis_p.
2432
2b9c25e0
GM
24332001-06-25 Gerd Moellmann <gerd@gnu.org>
2434
80de57df
GM
2435 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2436 on the value of the wait-for-wm frame parameter.
2437
2438 * xterm.h (struct x_output): Add member wait_for_wm.
2439
2440 * xfns.c (Qwait_for_wm): New variable.
2441 (x_frame_parms): Add entry for `wait-for-wm".
2442 (x_set_wait_for_wm): New function.
2443 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2444 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2445
2b9c25e0
GM
2446 * xdisp.c (try_window_id) <all changes below window end>: Don't
2447 take this shortcut if ZV is visible in the window.
2448 (try_window_id): When checking for window start being in changed
2449 text, don't check that the buffer's size has changed.
2450
f772775c
RS
24512001-06-23 Richard M. Stallman <rms@gnu.org>
2452
2453 * minibuf.c (Fcompleting_read): Doc fix.
2454
fa9090b8
GM
24552001-06-19 Gerd Moellmann <gerd@gnu.org>
2456
2457 * composite.c (Ffind_composition_internal): Accept ZV
2458 and a string's end position as POS.
2459
f6f1beba
GM
24602001-06-18 Gerd Moellmann <gerd@gnu.org>
2461
2462 * composite.c (Ffind_composition_internal): Check POS
2463 for validity.
2464
0ae83348
EZ
24652001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2466
2467 * editfns.c (Fmessage_box): If the frame is not under a window
2468 system, output the message in the echo area.
2469
e4cdc335
RS
24702001-06-14 Richard M. Stallman <rms@gnu.org>
2471
2472 * xdisp.c (try_window_id): When EOB is visible, don't treat
2473 insertion at EOB as if it were "off the bottom of the screen."
2474
a55a5f3c
AI
24752001-06-11 Andrew Innes <andrewi@gnu.org>
2476
2477 * w32proc.c (create_child): Add new parameter is_gui_app.
2478 (w32_executable_type): Add new parameter is_gui_app.
2479 (sys_spawnve): Use it.
2480 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2481 SIGQUIT. This matches better how the signals are interpreted by
2482 MSVC compiled programs.
2483 (syms_of_ntproc): Update docstring.
2484
1b85dc1c
SM
24852001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2486
2487 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2488 well otherwise note_mouse_highlight might optimize away highlighting
2489 if we pass over that same overlay again.
2490
b75f8eab
EZ
24912001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2492
2493 * lread.c (Fload): Document that the argument is run via
2494 substitute-in-file-name.
2495
94843cc1
GM
24962001-05-31 Gerd Moellmann <gerd@gnu.org>
2497
b14659e6
GM
2498 * Makefile.in (bootstrap-doc): New target.
2499 (bootstrap-emacs): Depend on it.
2500
0894672f
GM
2501 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2502 auto-save-list-file-name when shutting down Emacs, because
2503 creating the directory might signal an error, and leaves
2504 Emacs in a strange state.
2505
94843cc1
GM
2506 * term.c: (tty_cursor_hidden): New variable.
2507 (update_begin): Don't call tty_hide_cursor. Clean up.
2508 (update_end, set_terminal_window, set_scroll_region): Clean up.
2509 (ring_bell, reset_terminal_modes): Clean up.
2510 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2511 on tty_cursor_hidden.
2512 (write_glyphs): Call tty_hide_cursor.
2513
db3a49a6
SM
25142001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2515
2516 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2517
8bd189fb
GM
25182001-05-30 Gerd Moellmann <gerd@gnu.org>
2519
6f1be3b9
GM
2520 * xfns.c (enum image_value_type): New enumerator
2521 IMAGE_STRING_OR_NIL_VALUE.
2522 (parse_image_spec): Handle it.
2523 (xbm_format, pbm_format): Use it for :foreground and :background.
2524 (xbm_load, pbm_load): Check for nil color names.
2525
8bd189fb
GM
2526 * xterm.c (note_mouse_highlight): If an overlapping overlay
2527 exists, but we find that we highlight the same overlay as before,
2528 don't do the highlighting again.
2529
7bdba03c
GM
25302001-05-29 Gerd Moellmann <gerd@gnu.org>
2531
4c329aa8
GM
2532 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2533 Protect unibyte strings created by replacing their multibyte
2534 equivalents in menu_items.
2535
e15e2828
GM
2536 * keymap.c (Fsingle_key_description): NUL-terminate the string
2537 buffer before calling build_string.
2538
7bdba03c
GM
2539 * callproc.c (Fcall_process): Deal with decode_coding returning
2540 CODING_FINISH_INCONSISTENT_EOL.
2541
89c8dc6c
GM
25422001-05-28 Gerd Moellmann <gerd@gnu.org>
2543
db3a49a6 2544 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2545 an item's name with its key description in case the description
2546 is a multibyte string.
2547
2548 * keymap.c (Fsingle_key_description): Create a multibyte string
2549 only if necessary.
2550
eb04d6cd
GM
2551 * macros.c (Fstart_kbd_macro): Doc fix.
2552
8bd6307f
GM
2553 * xterm.c (cursor_in_mouse_face_p): New function.
2554 (x_draw_stretch_glyph_string): Use it to choose a different GC
2555 when drawing a cursor within highlighted text.
2556
e26c4089
GM
2557 * editfns.c (char_property_eq): Put in #if 0.
2558
2559 * indent.c (string_display_width): Put in #if 0.
2560
2561 * lread.c (Fload): Remove unused label.
2562
89c8dc6c
GM
2563 * termcap.c (speeds): Put in #if 0.
2564
9a1211f2
GM
25652001-05-18 Gerd Moellmann <gerd@gnu.org>
2566
29148a3f
GM
2567 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2568
9a1211f2
GM
2569 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2570 transformation matrix by 10.
2571
09393d07
GM
25722001-05-16 Gerd Moellmann <gerd@gnu.org>
2573
2574 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2575 only if it's equal to the former foreground pixel color.
db3a49a6 2576 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2577 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2578
460e6bae
GM
25792001-05-16 Dave Love <fx@gnu.org>
2580
2581 * insdel.c (signal_before_change, signal_after_change): Consider a
2582 local change hook which changes the buffer.
99c78ce8
GM
2583
2584 * process.c (read_process_output): Don't call signal_after_change
2585 and update_compositions after insert_from_string_before_markers.
2586
dbcf3c03
GM
25872001-05-16 Gerd Moellmann <gerd@gnu.org>
2588
a90b3d3c
GM
2589 * xfaces.c (split_font_name): Use the right field when
2590 checking for `[...]' syntax.
2591
1b7818b4
GM
2592 * buffer.c (copy_overlays): New function.
2593 (clone_per_buffer_values): Use it.
2594
2595 * buffer.h (OVERLAY_PLIST): New macro.
2596
9bae8781
GM
2597 * keymap.c (Fsingle_key_description): Replace a build_string with
2598 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2599
dbcf3c03
GM
2600 * fontset.c (Ffontset_info): Check that face is non-null
2601 before accessing its fields.
2602
8a1ae4dd
GM
26032001-05-15 Gerd Moellmann <gerd@gnu.org>
2604
18a0a39e
GM
2605 * keyboard.c (read_key_sequence): Prevent generating a fake
2606 prefix key twice.
2607
e335b66a
GM
2608 * xfaces.c (split_font_name): Handle `[...]' for the right
2609 font name fields.
2610
8a1ae4dd
GM
2611 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2612 of CCL_STAT_INVALID_CMD.
2613
3cf80731
SM
26142001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2615
33568849
SM
2616 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2617 in <var> has no default value yet.
2618
3cf80731
SM
2619 * xfaces.c (try_alternative_families): First try the FAMILY.
2620 And if nothing is found in the end, try again with scalable fonts.
2621 (try_font_list): Let try_alternative_families do a bit more of
2622 the work. Only use FAMILY if it is not nil.
2623 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2624
933b0249
GM
26252001-05-14 Gerd Moellmann <gerd@gnu.org>
2626
58e5af83
GM
2627 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2628 pointer shape when show_mouse_face has already done it.
33568849 2629
58e5af83 2630 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2631 full-width rows.
2632
7b16a6bf
GM
2633 * xfaces.c (split_font_name): Make sure to leave the loop
2634 with the right value of `i'.
3cf80731 2635
933b0249
GM
2636 * xfaces.c (split_font_name): Handle matrix transformations
2637 in the pixel and point size fields of XLFD font names.
2638 (xlfd_point_size): Likewise.
2639
dddcbf00
EZ
26402001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2641
3cf80731 2642 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2643 (x_to_w32_font): Add prototype.
2644
7689ef0b
EZ
2645 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2646 redefining, to avoid compiler warnings.
2647
e7c15bba
EZ
2648 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2649
dddcbf00
EZ
2650 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2651 (w32_get_bdf_glyph): Cast between unsigned char and char when
2652 passing arguments to subroutines, to shut up compiler warnings.
2653 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2654 GET_HEX_VAL.
2655
2656 * xfaces.c: Include keyboard.h before frame.h, not after it.
2657
2658 * widget.c: Include keyboard.h before frame.h.
2659
2660 * w32term.h (struct image, struct face): Forward declaration, to
2661 avoid compiler warnings.
2662
7bd2d083
GM
26632001-05-11 Gerd Moellmann <gerd@gnu.org>
2664
47e72862
GM
2665 * keyboard.c (read_key_sequence): Don't modify events when
2666 generating fake prefix keys (mode-line, scroll-bar, ...) since
2667 this prevents proper processing of such events when pushed back
2668 into unread-command-events.
2669
dd5f324b
GM
2670 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2671 actually redrawn. Make the function static.
2672 (note_mouse_highlight): Fix a case where the mouse cursor
2673 was changed back to the text cursor.
2674
2675 * xterm.h (clear_mouse_face): Remove prototype.
2676
d88a79d4
GM
2677 * xdisp.c (try_window_id): Fix the fix and set the right
2678 window_end_vpos.
2679
2680 * xdisp.c (try_window_id): Fix computation of window end in the
2681 case that lines were deleted at the end of the window. Add some
2682 more debug_method_adds.
0416532f 2683
7bd2d083
GM
2684 * xfaces.c (try_alternative_families): New function.
2685 (try_font_list): Use it. If ATTRS specifies a family, check
2686 fonts from that family first.
2687 (choose_face_font): Remove code setting the family part of
2688 the pattern to nil.
2689
23fca891
GM
26902001-05-10 Gerd Moellmann <gerd@gnu.org>
2691
ff9aa2ca
GM
2692 * xdisp.c (try_window_id): Fix case of all changes before
2693 the window start.
7b2654b5 2694
23fca891
GM
2695 * xdisp.c (try_window_id): Add some xasserts.
2696
e9726794
GM
26972001-05-09 Gerd Moellmann <gerd@gnu.org>
2698
2699 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2700
9e53a675
GM
27012001-05-09 Dave Love <fx@gnu.org>
2702
2703 * xdisp.c (GIVE_UP): Fix for K&R C.
2704
0d487c52
GM
27052001-05-09 Gerd Moellmann <gerd@gnu.org>
2706
fe88d421
GM
2707 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2708
0d487c52
GM
2709 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2710 back to the text cursor shape without need.
2711
1e9fc92e
GM
27122001-05-07 Gerd Moellmann <gerd@gnu.org>
2713
a2a6232e
GM
2714 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2715
2716 * dispextern.h (inverse_video): Declare extern.
2717
1e9fc92e
GM
2718 * keyboard.c (delete_kboard): Handle the case that selected_frame
2719 has been deleted in the course of x_connection_closed.
2720
12949a7f
EZ
27212001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2722
7b2654b5
SM
2723 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2724 Fix the change from 2001-04-30.
12949a7f 2725
2fa2f461
GM
27262001-05-03 Gerd Moellmann <gerd@gnu.org>
2727
a779d213
GM
2728 * xfns.c (file_dialog_unmap_cb): New function.
2729 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2730 where a dialog is closed via the window manager.
2731
7b2654b5 2732 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2733 the window start or all below the window end mostly rewritten.
2734 (redisplay_window): Move the tests if try_window_id is
2735 applicable to try_window_id.
2736 (GIVE_UP): New macro.
2737
3356df63
GM
27382001-05-02 Gerd Moellmann <gerd@gnu.org>
2739
a39202f6 2740 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2741 currently being updated, mark the frame garbaged.
2742 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2743 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2744
3356df63
GM
2745 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2746 again if it has already been drawn.
2747
a9d2fd1d
SM
27482001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2749
2750 * syntax.c (update_syntax_table): Check that oldi has the same
2751 properties as old_prop before deciding not to invalidate.
2752
c95fc5f1
GM
27532001-04-30 Gerd Moellmann <gerd@gnu.org>
2754
a9793e45
GM
2755 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2756 read-only text that is so because of text properties.
2757
c95fc5f1 2758 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2759 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2760 windows that are components of a Lucid menu bar.
2761
5a5d9185
GM
27622001-04-27 Gerd Moellmann <gerd@gnu.org>
2763
2764 * term.c (turn_on_face): Fix reverse video handling on terminals
2765 that don't support colors.
2766
ba973f7a
GM
27672001-04-26 Gerd Moellmann <gerd@gnu.org>
2768
2769 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2770 a non-buffer.
2771
8c56a983
GM
27722001-04-25 Gerd Moellmann <gerd@gnu.org>
2773
a728644c
GM
2774 * term.c (toggle_highlight): New function.
2775 (turn_on_face): Change handling of reverse video.
2776
7b2654b5
SM
2777 * process.c (wait_reading_process_input):
2778 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2779
bfd8410f
GM
2780 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2781 of the number of overlays to check.
2782
be2488ca
GM
2783 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2784
8c56a983
GM
2785 * xdisp.c (try_window_id): Fix a case where window_end_pos
2786 and window_end_bytepos were not adjusted.
2787
522d42f7
GM
27882001-04-23 Gerd Moellmann <gerd@gnu.org>
2789
2790 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2791 zero instead of -1.
2792
78c1afb6
EZ
27932001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2794
a9d2fd1d
SM
2795 * process.c (wait_reading_process_input) [!subprocesses]:
2796 Don't reference waiting_for_user_input_p, it's not defined in the
2797 branch without async subprocesses support.
78c1afb6 2798
a2fab450
GM
27992001-04-19 Gerd Moellmann <gerd@gnu.org>
2800
a122a38e
GM
2801 * keyboard.c (delete_kboard): Prevent a dangling reference
2802 from current_kboard to KB, which is freed.
2803
a9d2fd1d
SM
2804 * process.c (wait_reading_process_input):
2805 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
2806 read_key_sequence aware of buffer changes from under it.
2807
0f8d6dc7
GM
28082001-04-18 Gerd Moellmann <gerd@gnu.org>
2809
eeffb293
GM
2810 * xfaces.c (Qscalable_fonts_allowed): New variable.
2811 (realizing_basic_faces_p): Removed.
2fa2f461
GM
2812 (x_face_list_fonts): Special handling for realizing_basic_faces_p
2813 removed.
eeffb293 2814 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
2815 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
2816 for scalable-fonts-allowed to t.
eeffb293 2817
0f8d6dc7
GM
2818 * fileio.c (Finsert_file_contents): If the file size returned from
2819 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 2820 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 2821
eec2d1de
EZ
28222001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
2823
2824 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
2825 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
2826 (__memalign_hook): Make the two prototypes consistent.
2827
f4f480bd
GM
28282001-04-17 Gerd Moellmann <gerd@gnu.org>
2829
2830 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
2831 matrix of mini-windows.
2832
52283633
SM
28332001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2834
2835 * intervals.c (find_interval): Don't rebalance during signal handling.
2836
ec2423c9
GM
28372001-04-11 Gerd Moellmann <gerd@gnu.org>
2838
30cb0001 2839 * fns.c: Include blockinput.h.
52283633 2840
ec2423c9
GM
2841 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
2842
719d83ad
GM
28432001-04-10 Gerd Moellmann <gerd@gnu.org>
2844
60f8d735
GM
2845 * fns.c (Fcompare_strings): Fix return values.
2846
afffeb57
GM
2847 * window.c (window_scroll): Change the meaning of N to mean
2848 N screen-fulls or N lines.
2849 (window_scroll_pixel_based, window_scroll_line_based)
2850 (scroll_command, Fscroll_other_window): Change accordingly.
2851
52283633
SM
2852 * window.c (window_scroll_pixel_based, Frecenter):
2853 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2854 height of the window.
2855
2856 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2857 instead of using it.last_visible_y for the height of the window.
52283633 2858
719d83ad 2859 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2860 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2861
2862 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2863 able to write to hidden and system files. From Dan Holmsand
2864 <dan@eyebee.com>.
719d83ad 2865
8ddf3ee1
GM
2866 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2867 Holmsand <dan@eyebee.com>.
719d83ad 2868
522ed7fb
GM
28692001-04-09 Gerd Moellmann <gerd@gnu.org>
2870
9170e5d4
GM
2871 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2872
522ed7fb
GM
2873 * window.c (window_internal_height): Return 1 less if the
2874 window has a header line.
2875
2876 * xdisp.c (try_window_id): When scrolling on a terminal, take
2877 the change of window_internal_height into account.
2878
ceeb3d7d
EZ
28792001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2880
2881 * gmalloc.c (align): If the argument SIZE would overflow
2882 __malloc_ptrdiff_t, fail right away.
2883
63685b9d
GM
28842001-04-06 Gerd Moellmann <gerd@gnu.org>
2885
2886 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2887 Make sure the tooltip is completely visible.
2888 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2889
2890 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2891
2892 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2893
3ffb33bb
DL
28942001-04-06 Dave Love <fx@gnu.org>
2895
52283633
SM
2896 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2897 Fix test of `from'.
3ffb33bb 2898
869fb12c
GM
28992001-04-06 Gerd Moellmann <gerd@gnu.org>
2900
52283633 2901 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2902
869fb12c
GM
2903 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2904
441bf856
GM
29052001-04-05 Gerd Moellmann <gerd@gnu.org>
2906
4d664b04
GM
2907 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2908
52283633 2909 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2910
30ca89f5
GM
2911 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2912 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2913
2914 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2915 shell widget's position only if it is non-null.
2916
52283633
SM
2917 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2918 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2919
81a81c0f
GM
2920 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2921 FILENAME to bring it in synch with the documentation.
2922
441bf856
GM
2923 * xfaces.c (realizing_basic_faces_p): Renamed from
2924 realize_default_face_p.
2925 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2926 (realize_default_face): Don't set the flag.
2927
702a1e8e
GM
29282001-04-04 Gerd Moellmann <gerd@gnu.org>
2929
1013f4e3
GM
2930 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2931
52283633
SM
2932 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2933
1013f4e3
GM
2934 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2935 the buffer that was used for echoing.
2936
702a1e8e
GM
2937 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2938 (first_font_matching): Removed unused function.
2939 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2940 (may_use_scalable_font_p): Remove parameter FONT; rename
2941 parameter NAME to FONT.
2942 (x_face_list_fonts): Fix missing bounds check.
2943 (realizing_default_face_p): New variable.
2944 (realize_default_face): Set and clear that flag.
2945 (x_face_list_fonts): When called during the realization of the
2946 default face, and no matching fonts are found when ignoring
2947 scalable fonts and fonts matching a regexp from
2948 face-ignored-fonts, try without ignoring fonts.
2949
f9dbcda4
GM
29502001-04-03 Gerd Moellmann <gerd@gnu.org>
2951
ad18ffb1
GM
2952 * xfns.c (postprocess_image): New function.
2953 (lookup_image): Call it for all image types except PostScript.
2954 (x_kill_gs_process): Call postprocess_image.
2955
f9dbcda4
GM
2956 * xterm.c (x_use_underline_position_properties): New variable.
2957 (x_draw_glyph_string): Use it.
2958 (syms_of_xterm): DEFVAR_BOOL it.
2959
651f03b6
GM
29602001-04-02 Gerd Moellmann <gerd@gnu.org>
2961
2962 * xterm.c (x_alloc_nearest_color_1): New function.
2963 (x_alloc_nearest_color): Use it.
2964 (x_color_cells): Take a Display as argument, instead of a frame.
2965 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2966 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2967 (x_initialize): Register cvt_string_to_pixel as resource converter
2968 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2969
73d75a62
GM
29702001-03-30 Gerd Moellmann <gerd@gnu.org>
2971
b2046df8
GM
2972 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2973 (set_iterator_to_next): If a string from a display property ends,
2974 consider the case that this might also be the end of an
2975 overlay string having the display property.
2976
52283633 2977 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 2978
87d8eba4
GM
2979 * xdisp.c (reseat_to_string): Undo last change.
2980
73d75a62
GM
2981 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
2982 matrix of a window when the header line changes, when
2983 new rows are allocated, or when the width changes.
2984
911a2406
EZ
29852001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
2986
52283633 2987 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 2988
aea51abe
EZ
29892001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
2990
2991 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
2992 deprecated.
2993
176bc847
GM
29942001-03-29 Gerd Moellmann <gerd@gnu.org>
2995
ed31fabf
GM
2996 * data.c (Fsubr_interactive_form): New function.
2997 (syms_of_data): Defsubr it.
2998
176bc847
GM
2999 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3000 (live_float_p, live_misc_p): Return 1 only if the offset of the
3001 pointer in its block is >= 0.
3002
e59d0e9d
GM
30032001-03-28 Paul Eggert <eggert@twinsun.com>
3004
3005 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3006 microseconds calcuation. Avoid double-rounding problem.
3007 In doc string, warn that the result is approximate.
3008
f827b862
GM
30092001-03-28 Gerd Moellmann <gerd@gnu.org>
3010
30a3f61c
GM
3011 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3012 bind `inhibit-eval-during-redisplay' to t.
3013
3014 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3015
3016 * xdisp.c (inhibit_eval_during_redisplay)
3017 (Qinhibit_eval_during_redisplay): New variables.
3018 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3019 don't eval, return nil instead.
3020 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3021 Initialize Qinhibit_eval_during_redisplay.
3022
e719f5ae
GM
3023 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3024 the iterator's multibyte_p flag.
3025
deb2613a
GM
3026 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3027 instead of setting it to zero; it's incremented for each frame
3028 where the menu face is changed.
3029
52283633
SM
3030 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3031 change bottom shadow accordingly.
3032
3033 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3034 intersections here.
3035 (expose_window): Do it here instead.
52283633 3036 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3037
f827b862
GM
3038 * bytecode.c (BYTE_CODE_QUIT): New macro.
3039 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3040
4bde0ebb
GM
30412001-03-27 Gerd Moellmann <gerd@gnu.org>
3042
607ec83c
GM
3043 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3044 Give up if matrix starts in an ellipsis.
3045 (init_from_display_pos): Do nothing if POS doesn't specify
3046 a dpvec_index but the iterator has such a position.
3047
0245398f
GM
3048 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3049
aba25348
GM
3050 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3051 x/y position is (0, 0) after destroying the menu bar, restore
3052 its original position.
3053
4bde0ebb
GM
3054 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3055 (init_from_display_pos): Use it.
3056 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3057
8cdb267e
GM
30582001-03-26 Gerd Moellmann <gerd@gnu.org>
3059
3060 * xdisp.c (try_window_id): Undo last change.
3061
9948db79
EZ
30622001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3063
3064 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3065
3066 * buffer.c (syms_of_buffer): Doc fix.
3067
2eddf899
GM
30682001-03-26 Gerd Moellmann <gerd@gnu.org>
3069
3070 * xfaces.c (x_update_menu_appearance): Use local variable
3071 popup_path for setting font resources.
3072
6c145d35
EZ
30732001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3074
6a65b1b5
EZ
3075 * frame.c (Fframe_list): Don't reference tip_frame if
3076 HAVE_WINDOW_SYSTEM is not defined.
3077
6c145d35
EZ
3078 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3079 <wl@gnu.org>.
3080
d74c1900
GM
30812001-03-25 Gerd Moellmann <gerd@gnu.org>
3082
20fbd925
GM
3083 * xdisp.c (init_from_display_pos): Test invisible property
3084 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3085
927c5b3b
GM
3086 * xdisp.c (redisplay_internal) <update one window>: Make sure
3087 last_arrow_position and last_arrow_string are set.
3088
d74c1900
GM
3089 * frame.c (Fframe_list): Don't return a tooltip frame.
3090
091f8878
GM
30912001-03-23 Gerd Moellmann <gerd@gnu.org>
3092
52283633
SM
3093 * xdisp.c (mark_window_display_accurate_1): New function,
3094 extracted from mark_window_display_accurate.
3095 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3096 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3097 (mark_window_display_accurate): Use it.
3098 (redisplay_internal): Use it for the selected window.
3099 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3100 for the selected frame.
3101
ac90c44f
GM
3102 * xdisp.c Use make_number, for readability.
3103 (try_window_id): Disable rows below the window end.
3104 (try_window_reusing_current_matrix): Use cursor_row_p.
3105 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3106 of rows.
3107 (init_from_display_pos): If POS specifies a position in a display
3108 vector, maybe get the iterator set up for that ellipsis.
43c09969 3109
091f8878
GM
3110 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3111
991786dd
EZ
31122001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3113
3114 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3115
6c29b43c
GM
31162001-03-23 Gerd Moellmann <gerd@gnu.org>
3117
3118 * xfaces.c (x_update_menu_appearance): Use a different path
3119 for Lucid popup menus.
3120
d8731202
SM
31212001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3122
3123 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3124
3125 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3126 (string_buffer_position): Use `make_number'.
3127
f61a541b
GM
31282001-03-22 Gerd Moellmann <gerd@gnu.org>
3129
3c9e997b
GM
3130 * xfaces.c (x_update_menu_appearance): Renamed from
3131 x_set_menu_face_resources. Use different resources for popups.
3132
3133 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3134 (GC_CHECK_STRING_BYTES): Don't define.
3135
364cd450
GM
3136 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3137 Removed, together with subroutines.
3138 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3139 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3140
d8731202
SM
3141 * dispextern.h (x_set_menu_resources_from_menu_face):
3142 Remove prototype.
364cd450 3143
d8731202 3144 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3145 Remove calls to x_set_menu_resources_from_menu_face.
3146
d8731202
SM
3147 * xfaces.c (xm_set_menu_resources_from_menu_face):
3148 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3149
3150 * xmenu.c: Include widget.h.
3151 (single_submenu): Return int. Some cleanup.
3152 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3153
140330de
GM
31542001-03-21 Gerd Moellmann <gerd@gnu.org>
3155
3156 * xterm.c (x_update_window_end): Handle overwritten mouse face
3157 also for tool bar windows.
3158 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3159 DRAW is DRAW_IMAGE_RAISED.
3160
1741905c
GM
31612001-03-20 Gerd Moellmann <gerd@gnu.org>
3162
fa88947e
GM
3163 * print.c (syms_of_print): Doc fixes.
3164
1741905c
GM
3165 * fns.c (Fmd5): Doc fix.
3166
ade0bee1
GM
31672001-03-19 Gerd Moellmann <gerd@gnu.org>
3168
357e7376
GM
3169 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3170 Clear area of the frame not occupied by the scroll bar.
3171
c2c097cc
GM
3172 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3173 tip frame's root window buffer to *tip* right after creating
3174 the frame.
3175
ade0bee1
GM
3176 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3177 is an integer don't have to be for space characters.
3178
88c6e37e
GM
31792001-03-16 Gerd Moellmann <gerd@gnu.org>
3180
52283633
SM
3181 * indent.c (current_column, current_column_1, Fmove_to_column)
3182 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3183
c62eed76
KH
31842001-03-15 Kenichi Handa <handa@etl.go.jp>
3185
3186 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3187 drawing glyph string.
3188
c899e7e6
GM
31892001-03-15 Gerd Moellmann <gerd@gnu.org>
3190
d0bbfc99
GM
3191 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3192 (command_loop_1): Undo last change.
3193
03d1a189
GM
3194 * xterm.c (fast_find_position): Return the correct vpos.
3195
c899e7e6 3196 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3197 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3198 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3199 Call store_symval_forwarding with BUF null.
3200 (set_internal): Call store_symval_forwarding with the BUF
3201 parameter passed to set_internal. Formerly, the value was always
3202 set in the current buffer; the buffer recorded in specbind for
3203 this case wasn't used.
3204 (arith_driver): Reindent.
3205
52283633
SM
3206 * buffer.c (swap_out_buffer_local_variables):
3207 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3208
3209 * lisp.h (store_symval_forwarding): Change prototype.
3210
3211 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3212
57ac7c81
GM
32132001-03-14 Gerd Moellmann <gerd@gnu.org>
3214
697617d9
GM
3215 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3216 FOR_DELETION. Avoid resizing the mini-window of the selected
3217 frame if FOR_DELETION is set.
3218 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3219 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3220 signature.
3221
3222 * window.c (Fset_window_configuration): Change call to
3223 do_switch_frame to new format.
3224
3225 * keyboard.c (quit_throw_to_read_char): Change call to
3226 do_switch_frame to new format.
3227
3228 * lisp.h (do_switch_frame): Change prototype.
3229
819dce0f
GM
3230 * frame.c (Fframe_parameters): In the `buffer-list' frame
3231 parameter, store the buffer list of FRAME, not the list of the
3232 selected frame.
3233
57ac7c81
GM
3234 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3235 box just because the glyph row's full_width_p flag is set.
3236
65008712
GM
32372001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3238
3239 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3240 skip the padding blanks inserted in extend_face_to_end_of_line,
3241 before checking for trailing whitespace.
3242
159cf431
GM
32432001-03-13 Gerd Moellmann <gerd@gnu.org>
3244
52283633 3245 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3246 Remove special handling for LessTif/Motif.
3247 (toplevel): Don't include Xm/Xm.h.
3248
52283633
SM
3249 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3250 Remove workaround code for LessTif; it doesn't work anymore.
3251
2564ea1b 3252 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3253 Xm/ScrollBarP.h.
afcdc0a1 3254
52283633
SM
3255 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3256 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3257 contemporary LessTif.
3258
52283633
SM
3259 * xfaces.c (xm_set_menu_resources_from_menu_face):
3260 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3261
159cf431
GM
3262 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3263 removing button grabs.
3264
c6f7429a
KH
32652001-03-13 Kenichi Handa <handa@etl.go.jp>
3266
cb82d767
KH
3267 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3268 and clip-large-size-font as obsolete.
3269
c6f7429a
KH
3270 * lread.c (read_multibyte): Check the validity of multibyte
3271 sequence. If invalid, return the first byte.
3272
760cefb5
GM
32732001-03-12 Gerd Moellmann <gerd@gnu.org>
3274
3275 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3276 before running the command; timer functions or process
3277 filters may have set it.
3278
5141f9d0
EZ
32792001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3280
3281 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3282 Doc fix.
3283
b6a15240
GM
32842001-03-12 Gerd Moellmann <gerd@gnu.org>
3285
3286 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3287 to sprintf.
3288
95522746
GM
32892001-03-09 Gerd Moellmann <gerd@gnu.org>
3290
db14cfc5
GM
3291 * dispextern.h (string_buffer_position): Add prototype.
3292
52283633 3293 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3294 (single_display_prop_string_p): New functions.
3295
3296 * xterm.c (note_mouse_highlight): If there's no help-echo on
3297 a string, look at the buffer text ``under'' it.
3298
3299 * keyboard.c (make_lispy_event): Add string info to the event,
3300 analogous to what's done on mode lines.
3301 (read_key_sequence): For a click on a string, consider `local-map'
3302 and `keymap' of that string.
3303
52283633
SM
3304 * keyboard.c (make_lispy_event, make_lispy_movement):
3305 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3306
3307 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3308
3309 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3310 POS; return void.
3311
95522746
GM
3312 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3313 flags argument to emacs_open; it seems to conflict with O_EXCL.
3314
898a399d
KH
33152001-03-09 Kenichi Handa <handa@etl.go.jp>
3316
28cd4910
KH
3317 * composite.h (struct composition): Change types of members;
3318 glyph_len to unsigned, width to unsigned short.
898a399d 3319
4cdf6a6c
AI
33202001-03-08 Andrew Innes <andrewi@gnu.org>
3321
3322 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3323 menu titles.
3324
129004d3
GM
33252001-03-08 Gerd Moellmann <gerd@gnu.org>
3326
221dd3e7
GM
3327 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3328 instead of nil.
3329
52283633 3330 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3331 help-echo in strings.
3332 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3333 (fast_find_string_pos): New function.
3334
52283633
SM
3335 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3336 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3337
3338 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3339 Handle `mouse-face'.
3340
3341 * dispextern.h (face_at_string_position): Change prototype.
3342
52283633 3343 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3344
129004d3
GM
3345 * keyboard.c (make_lispy_event): Avoid generating drag events
3346 if the mouse hasn't actually moved to another buffer position.
52283633 3347
80c8ab8c
DL
33482001-03-08 Dave Love <fx@gnu.org>
3349
129004d3 3350 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3351
989521fd
GM
33522001-03-08 Gerd Moellmann <gerd@gnu.org>
3353
3354 * process.c (Fset_process_window_size): Fix a typo.
3355
bb5c338d
KH
33562001-03-08 Kenichi Handa <handa@etl.go.jp>
3357
3358 * coding.c (detect_coding_sjis): Do more rigid check.
3359 (detect_coding_big5): Likewise.
3360 (decode_coding_sjis_big5): Likewise.
3361 (Fdetect_coding_region): Call detect_coding_system with tailing
3362 anchor byte `\0' for more rigid detection.
52283633 3363 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3364 (Fdetect_coding_string): Likewise.
3365
8b8f9197
SM
33662001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3367
3368 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3369 a string before extracting its data.
3370
3bdf2660
GM
33712001-03-07 Gerd Moellmann <gerd@gnu.org>
3372
3373 * window.c (Frecenter): Rewrite code handling negative values
3374 of ARG on graphical frames.
3375
33762001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3377
3378 * window.c (displayed_window_lines): If W->start is outside the
3379 accessible portion of the buffer, call start_display with BEGV or
3380 ZV instead of W->start.
3381
471f86b9
GM
33822001-03-07 Gerd Moellmann <gerd@gnu.org>
3383
2ab62c6c
GM
3384 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3385
471f86b9
GM
3386 * process.c (Fset_process_filter): Don't crash if the input
3387 file descriptor of PROCESS is closed.
3388 (Fset_process_window_size): Likewise.
3389
101922c3
GM
33902001-03-06 Kenichi Handa <handa@etl.go.jp>
3391
3392 * xterm.c (XTflash): Make the timeout of select shorter, and call
3393 select repeatedly until the desired time expires.
3394
45d051a7
GM
33952001-03-06 Gerd Moellmann <gerd@gnu.org>
3396
3397 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3398
3399 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3400
3401 * lisp.h (Vwindow_list): Declare extern.
3402
8f372c46
EZ
34032001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3404
3405 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3406
f16a7aa5
GM
34072001-03-06 Gerd Moellmann <gerd@gnu.org>
3408
157ae273
GM
3409 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3410 to detect a case where we have to highlight a different region
3411 despite not having left the currently highlighted region.
3412 Set mouse_face_overlay in the x_display_info.
45d051a7 3413 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3414
3415 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3416
3417 * buffer.c (mouse_face_overlay_overlaps): New function.
3418
3419 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3420 (Qmouse_face): Declare extern.
3421
f16a7aa5
GM
3422 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3423 if face_change_count is non-zero.
3424
827afcac
KH
34252001-03-06 Kenichi Handa <handa@etl.go.jp>
3426
3427 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3428 that the source is unibyte.
3429
14c7242e
DL
34302001-03-05 Dave Love <fx@gnu.org>
3431
827afcac 3432 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3433
c28b847b
GM
34342001-03-05 Gerd Moellmann <gerd@gnu.org>
3435
3436 * minibuf.c (read_minibuf): Clean up the binding stack if
3437 called noninteractively.
3438
b86644f2
KH
34392001-03-05 Kenichi Handa <handa@etl.go.jp>
3440
3441 * coding.c (syms_of_coding): Docstring modified.
3442
203682cc 34432001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3444
3445 * charset.c (char_to_string): If a single byte char has modifier
3446 bits that can't be reflected to the character code, ignore them
45d051a7 3447 instead of signaling an error.
b86644f2 3448
e30bd7b7
EZ
34492001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3450
3451 * s/msdos.h: Update copyright notice.
3452
3453 * dosfns.h: Update copyright notice.
3454
3455 * dosfns.c: Update copyright notice.
3456
3457 * msdos.c: Update copyright notice.
3458
b52b65bd
GM
34592001-03-02 Gerd Moellmann <gerd@gnu.org>
3460
3461 * xterm.c (glyph_rect): New function.
3462 (XTmouse_position): Use it to raise the threshold for mouse
3463 movement event generation.
3464
53c4b1e6
EZ
34652001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3466
3467 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3468 specifies (reverse . t), reverse the initial screen colors.
3469 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3470 but we are reversing the colors, set bg_set, not fg_set.
3471 Likewise for setting background-color and reversing: set fg_set.
3472 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3473 in effect.
3474
3475 * xfaces.c (Finternal_set_lisp_face_attribute)
3476 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3477 parameters alist.
3478
f964b4d7
GM
34792001-03-02 Gerd Moellmann <gerd@gnu.org>
3480
ef53d75e
GM
3481 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3482 to a single slash in the middle of file names.
3483
52283633 3484 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3485 Accept only alphanumeric time zone names.
3486
f964b4d7
GM
3487 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3488 or width area.
3489 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3490 a widget to zero height.
52283633 3491
c3c45f65
GM
34922001-03-01 Gerd Moellmann <gerd@gnu.org>
3493
3494 * window.c (Fwindow_end): Call move_it_past_eol only if
3495 ending up on a partially visible line.
3496
028d739a
DL
34972001-03-01 Dave Love <fx@gnu.org>
3498
3499 * ccl.c (Fccl_execute): Doc fix.
3500
57c5889c
GM
35012001-03-01 Gerd Moellmann <gerd@gnu.org>
3502
35f59f6b
GM
3503 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3504 of the tool bar before calling x_figure_window_size.
3505
f84ff02c
GM
3506 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3507 NULL after destroying it, otherwise XTread_socket can access a
3508 destroyed widget when input is unblocked.
3509
8b8f9197 3510 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3511
57c5889c
GM
3512 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3513 same name as before, although there was a change in fontsets.
3514
224227d1
KR
35152001-02-28 Ken Raeburn <raeburn@gnu.org>
3516
4560730a
KR
3517 * lisp.h (Fframe_parameter): Declare.
3518
224227d1 3519 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3520 Lisp_Object.
224227d1 3521
ece93c02
GM
35222001-02-28 Gerd Moellmann <gerd@gnu.org>
3523
11ef99b9
GM
3524 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3525 NULL instead.
3526
3527 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3528 NULL instead.
3529
ece93c02
GM
3530 * alloc.c (toplevel): Include process.h.
3531 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3532 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3533 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3534 (allocate_vector, allocate_hash_table, allocate_window)
3535 (allocate_frame, allocate_process, allocate_other_vector):
3536 New functions.
ece93c02
GM
3537 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3538 (mark_maybe_pointer): New function.
52283633 3539 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3540 remain and not Lisp_Objects.
3541 (min_heap_address, max_heap_address): New variables.
3542 (mem_find): Return MEM_NIL if START is below min_heap_address or
3543 above max_heap_address.
3544 (mem_insert): Compute min_heap_address and max_heap_address.
3545
3546 * process.c (make_process): Use allocate_process.
3547
3548 * frame.c (make_frame): Use allocate_frame.
3549
3550 * window.c (make_window, make_dummy_parent): Use allocate_window.
3551 (Fcurrent_window_configuration): Use allocate_other_vector.
3552
3553 * lisp.h (allocate_vectorlike): Remove prototype.
3554 (allocate_vector, allocate_other_vector, allocate_frame)
3555 (allocate_window, allocate_process, allocate_hash_table):
3556 Add prototypes.
3557
3558 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3559 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3560
063af457
KH
35612001-02-27 Kenichi Handa <handa@etl.go.jp>
3562
3563 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3564 treat the produced bytes as a valid multibyte sequence.
3565
3566 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3567 (ccl_driver) <CCL_WriteMultibyteChar2>:
3568 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3569 <ccl_finish>: Set ccl->eight_bit_control properly.
3570
3571 * ccl.h (struct ccl_program): New member eight_bit_control.
3572
f58c6494
SM
35732001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3574
3575 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3576 accessible_keymaps_char_table.
3577 (accessible_keymaps_char_table): Obey `is_metized'.
3578 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3579 Lisp_Object.
3580
c596c392
GM
35812001-02-26 Gerd Moellmann <gerd@gnu.org>
3582
3583 * dispnew.c: Check HAVE_TERM_H before including term.h.
3584
425de386
AI
35852001-02-24 Andrew Innes <andrewi@gnu.org>
3586
3587 * makefile.w32-in: Update copyright notice.
3588
2ba11bbd
SM
35892001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3590
3591 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3592
66c56ed1
KH
35932001-02-24 Kenichi Handa <handa@etl.go.jp>
3594
4c1593ce
KH
3595 * Makefile.in (lisp): Add international/utf-8.elc.
3596
66c56ed1
KH
3597 * fontset.c (Fnew_fontset): Fix handling of the case that an
3598 element of FONTLIST is a cons of family and registry.
3599
796ead7e
JR
36002001-02-23 Jason Rumney <jasonr@gnu.org>
3601
3602 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3603 to height unconditionally.
3604
3605 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3606 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3607 (x_insert_glyphs): Call window_box_left to obtain the left
3608 x-coordinate of the area to shift.
3609
3610 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3611 safe_run_hooks.
3612
f6839838
AI
36132001-02-22 Andrew Innes <andrewi@gnu.org>
3614
52283633 3615 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3616 ($(BLD)\dispnew.obj):
3617 ($(BLD)\editfns.obj):
3618 ($(BLD)\fileio.obj):
3619 ($(BLD)\filelock.obj):
3620 ($(BLD)\keyboard.obj):
3621 ($(BLD)\w32proc.obj):
3622 ($(BLD)\process.obj):
3623 ($(BLD)\sysdep.obj): Ditto.
3624
3625 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3626 header files.
52283633
SM
3627 ($(BLD)/dispnew.$(O)):
3628 ($(BLD)/editfns.$(O)):
3629 ($(BLD)/fileio.$(O)):
3630 ($(BLD)/filelock.$(O)):
3631 ($(BLD)/keyboard.$(O)):
3632 ($(BLD)/w32proc.$(O)):
3633 ($(BLD)/process.$(O)):
f6839838
AI
3634 ($(BLD)/sysdep.$(O)): Ditto.
3635
c224f70b
GM
36362001-02-22 Gerd Moellmann <gerd@gnu.org>
3637
51695746
GM
3638 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3639 at the start of the function, check that the \n in it->c is
3640 from the iterator's current position.
52283633 3641
a61b7058
GM
3642 * xdisp.c (handle_single_display_prop): Add parameter
3643 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3644 properties which replace the display of text with something else.
3645 (handle_display_prop): Call handle_single_display_prop with
3646 additional argument saying if we already replaced text display
3647 with something else. Use AREF.
52283633 3648 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3649 (decode_mode_spec_coding): Use AREF and ASIZE.
3650
3473f362
GM
3651 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3652 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3653 * vmstime.h: Files removed.
52283633 3654
2bb58df3
GM
3655 * unexencap.c, unexfx2800.c: Files removed.
3656
c224f70b
GM
3657 * dispnew.c (direct_output_for_insert): Give up if we are showing
3658 a message or just cleared the message because we might need to
3659 resize the echo area window or display an empty echo area.
3660
ffc9ff0c
GM
36612001-02-21 Gerd Moellmann <gerd@gnu.org>
3662
0528abe1
GM
3663 * xdisp.c (redisplay_internal): Do the
3664 mark_window_display_accurate after all windows have been
3665 redisplayed because this call resets flags in buffers which are
3666 needed for proper redisplay.
3667
52283633
SM
3668 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3669 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3670 the old names.
3671
52283633
SM
3672 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3673 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3674
3675 * msdos.h (struct x_output): Rename busy_window to
3676 hourglass_window, busy_p to hourglass_p.
3677
52283633
SM
3678 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3679 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3680
3681 * xfns.c: Rename everything containing *busy_cursor* and similar
3682 to *hourglass*.
3683 (syms_of_w32fns): Rename x-busy-pointer-shape to
3684 x-hourglass-pointer-shape, display-busy-cursor to
3685 display-hourglass, busy-cursor-delay to hourglass-delay.
3686
3687 * w32fns.c: Rename everything containing *busy_cursor* and similar
3688 to *hourglass*.
3689 (syms_of_w32fns): Rename x-busy-pointer-shape to
3690 x-hourglass-pointer-shape, display-busy-cursor to
3691 display-hourglass, busy-cursor-delay to hourglass-delay.
3692
3693 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3694 of its busy_p flag.
3695
3696 * dispextern.h (start_hourglass, cancel_hourglass)
3697 (display_hourglass_p): Renamed from *busy_cursor*.
3698
ab2c5f0a
GM
36992001-02-20 Gerd Moellmann <gerd@gnu.org>
3700
d17e49a8
GM
3701 * keyboard.c (read_char): When an event from unread-command-events
3702 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3703
fa97adf6
GM
3704 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3705 equal to the current buffer.
3706
ab2c5f0a
GM
3707 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3708 nil, otherwise we're left with truncate_lines t when a message
3709 is printed with message-truncate-lines bound to t.
3710
aeac019e
GM
37112001-02-19 Gerd Moellmann <gerd@gnu.org>
3712
c8bc6f65
GM
3713 * window.c (Fmove_to_window_line): Undo last change.
3714 (displayed_window_lines): Call line_bottom_y to determine
3715 the line's bottom position.
3716
3717 * dispextern.h (line_bottom_y): Add prototype.
3718
52283633 3719 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3720 (pos_visible_p): Use it.
3721
980a2d69
GM
3722 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3723 set redisplaying_p to 0 here instead of in Frecursive_edit.
3724 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3725 set redisplaying_p.
3726
52283633 3727 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3728 New variables.
3729 (syms_of_xdisp): Initialize new variables.
3730 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3731 Specbind `inhibit-menubar-update' when updating the menu bar.
3732
65048e97
GM
3733 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3734 safe_run_hooks.
3735
3736 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3737 safe_run_hooks.
3738
a57c4026
GM
3739 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3740 is null.
3741
aeac019e
GM
3742 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3743 to the start of the file.
3744
76846b31
GM
37452001-02-16 Gerd Moellmann <gerd@gnu.org>
3746
f3f053f3 3747 * window.c (set_window_buffer): Fix last change.
52283633 3748
f3f053f3
GM
3749 * window.c (set_window_buffer): Set window's vscroll to 0.
3750
dad75588
GM
3751 * window.c (coordinates_in_window): Increase width of area
3752 where the vertical line can be dragged.
3753
c220b753
GM
3754 * xterm.c (x_set_glyph_string_background_width): Extend the
3755 background face to the end of the drawing area in the text
3756 area, only.
3757
c56b1c1b
GM
3758 * xdisp.c (handle_single_display_prop): Set iterator's position
3759 to where the `display' property starts, like for images.
3760 (dump_glyph): New function.
3761 (dump_glyph_row): Use it. Dump info about marginal areas.
3762
3763 * dispnew.c (direct_output_for_insert): Recognize more cases where
3764 glyphs can be written instead of being inserted.
3765
3766 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3767 the left x-coordinate of the area to shift.
3768
76846b31
GM
3769 * dired.c (directory_files_internal): Set result list to nil
3770 before retrying.
3771
0fc71a77
KH
37722001-02-15 Kenichi Handa <handa@etl.go.jp>
3773
3774 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3775 invalid multibyte sequence, treat *SRC as a character of
3776 eight-bit-graphic.
3777
25078b54
EZ
37782001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3779
3780 * textprop.c (Fset_text_properties): Doc fix.
3781
8399f8a0
GM
37822001-02-15 Gerd Moellmann <gerd@gnu.org>
3783
3784 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3785
9a2a6f73
DL
37862001-02-14 Dave Love <fx@gnu.org>
3787
3788 * coding.c: Doc and message fixes.
3789
bf853fee
AI
37902001-02-14 Andrew Innes <andrewi@gnu.org>
3791
3792 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3793 Emacs frame above the screen size.
3794
78c663d8
GM
37952001-02-14 Gerd Moellmann <gerd@gnu.org>
3796
3797 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3798
7cc9f69f
GM
37992001-02-13 Gerd Moellmann <gerd@gnu.org>
3800
0a411995
GM
3801 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
3802 case that TO ends up beyond ZV after running before-change-functions.
3803
5ddc1b75
GM
3804 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
3805 the selected window if it is showing the buffer in question.
3806
7cc9f69f
GM
3807 * dired.c (directory_files_internal): Initialize errno.
3808 (toplevel): Include errno.h.
3809
2e6621ca
GM
38102001-02-13 Kenichi Handa <handa@etl.go.jp>
3811
3812 * xfaces.c (best_matching_font): New parameter width_ratio.
3813 Multiply avgwidth by width_ratio.
3814 (choose_face_font): Call best_matching_font with width_ratio
3815 calculated from the column width of C.
3816
60222d69
AI
38172001-02-12 Andrew Innes <andrewi@gnu.org>
3818
3819 The following changes are to draw box lines inside characters area
3820 if line-width is negative.
52283633 3821
60222d69
AI
3822 * w32term.c (x_produce_image_glyph): Pay attention to the case that
3823 face->box_line_width is negative.
3824 (x_produce_stretch_glyph): Likewise.
3825 (x_produce_glyphs): Likewise.
3826 (x_estimate_mode_line_height): Likewise.
3827 (x_draw_glyph_string_background): Likewise.
3828 (x_draw_glyph_string_foreground): Likewise.
3829 (x_draw_composite_glyph_string_foreground): Likewise.
3830 (x_draw_glyph_string_box): Likewise.
3831 (x_draw_image_foreground): Likewise.
3832 (x_draw_image_relief): Likewise.
3833 (x_draw_image_foreground_1): Likewise.
3834 (x_draw_image_glyph_string): Likewise.
3835
9804b846
KH
38362001-02-09 Kenichi Handa <handa@etl.go.jp>
3837
3838 The following changes are to draw box lines inside characters area
3839 if line-width is negative.
52283633 3840
9804b846
KH
3841 * xterm.c (x_produce_image_glyph): Pay attention to the case that
3842 face->box_line_width is negative.
3843 (x_produce_stretch_glyph): Likewise.
3844 (x_produce_glyphs): Likewise.
3845 (x_estimate_mode_line_height): Likewise.
3846 (x_draw_glyph_string_background): Likewise.
3847 (x_draw_glyph_string_foreground): Likewise.
3848 (x_draw_composite_glyph_string_foreground): Likewise.
3849 (x_draw_glyph_string_box): Likewise.
3850 (x_draw_image_foreground): Likewise.
3851 (x_draw_image_relief): Likewise.
3852 (x_draw_image_foreground_1): Likewise.
3853 (x_draw_image_glyph_string): Likewise.
3854
3855 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3856 and :line-width can be negative.
52283633 3857 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3858
49be9f70
JR
38592001-02-09 Jason Rumney <jasonr@gnu.org>
3860
3861 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3862 characters the same as ASCII and latin-1.
3863 (x_display_and_set_cursor): Check for the focus frame's selected
3864 window instead of selected_window.
3865 (x_after_update_window_line): Don't clear if frame's internal
3866 border width is zero.
3867 (x_new_font): Don't change a tooltip's size.
3868 (w32_initialize): Set char_ins_del_ok to 1.
3869
3870 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3871 (x_set_font): If font hasn't changed, avoid recomputing
3872 faces and other things.
52283633
SM
3873 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3874 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
3875 (x_create_tip_frame): Prevent changing the tooltip's
3876 background color by specifying a color for the default font
3877 in .Xdefaults.
3878 (Qcancel_timer): New variable.
3879 (syms_of_w32fns): Initialize and staticpro it.
3880 (Fx_hide_tip, Fx_show_tip): Use it.
3881 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3882 the timer.
3883 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3884
3885 * w32.c (init_environment): Duplicate local string before putenv.
3886
555e35d2
SZ
38872001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3888
3889 * charset.c (Fstring): A typo.
3890
19c92c94
KH
38912001-02-09 Kenichi Handa <handa@etl.go.jp>
3892
e47a1c33
KH
3893 * charset.c (Fstring): If all arguments are less than 256, return
3894 a unibyte string.
3895
3896 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3897 return a unibyte string.
3898
19c92c94
KH
3899 * coding.c (code_convert_region): After detecting a coding, if
3900 nothing found, set coding->composing to COMPOSITION_NO.
3901 (decode_coding_string): Likewise.
3902
d8e675f5
SM
39032001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3904
3905 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3906 to avoid overflow.
3907
bd503487
KH
39082001-02-07 Kenichi Handa <handa@etl.go.jp>
3909
3910 * charset.c (parse_str_to_multibyte): New function.
3911
3912 * charset.h (parse_str_to_multibyte): Extern it.
3913
3914 * print.c (print_string): If we are going to print a unibyte
3915 string into a multibyte buffer, convert the string to multibyte by
3916 str_to_multibyte.
3917
a8370d72
AI
39182001-02-06 Andrew Innes <andrewi@gnu.org>
3919
3920 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3921 been created. It seems we can get sent window messages such as
3922 WM_ERASEBKGND before we properly update a frame.
3923
c363a1d6
GM
39242001-02-06 Gerd Moellmann <gerd@gnu.org>
3925
3926 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3927 Avoid some unnecessary cursor positioning.
3928
a08332c0
GM
39292001-02-05 Gerd Moellmann <gerd@gnu.org>
3930
52283633 3931 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3932 (LFACE_AVGWIDTH): New macro.
3933 (LFACEP): Use AREF.
3934 (check_lface_attrs): Check LFACE_AVGWIDTH.
3935 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3936 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3937 (merge_face_vectors): Check LFACE_AVGWIDTH.
3938 (Finternal_make_lisp_face): Use AREF.
3939 (xm_set_menu_resources_from_menu_face)
3940 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3941 (Finternal_lisp_face_empty_p): Use AREF.
3942 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3943 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3944 Compare average widths..
3945 (best_matching_font): Arrange for comparing average widths.
3946
52283633
SM
3947 * dispextern.h (enum lface_attribute_index):
3948 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3949
5cb3c8d4
DL
39502001-02-05 Dave Love <fx@gnu.org>
3951
3952 * puresize.h: Revert last change following loadup.el change.
3953
193fba87
AI
39542001-02-05 Andrew Innes <andrewi@gnu.org>
3955
3956 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3957 invocation of temacs, to work with Windows 2000.
3958 (bootstrap-emacs): Ditto.
3959
e16f52ce
GM
39602001-02-05 Gerd Moellmann <gerd@gnu.org>
3961
7a58ab59
GM
3962 * xterm.c (x_display_and_set_cursor): Check for the focus
3963 frame's selected window instead of selected_window.
3964
e89aaabd
GM
3965 * xdisp.c (try_scrolling): If point is in the line below the
3966 window, make sure to move the iterator at least a canonical
3967 char height down.
3968
52283633 3969 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 3970
789ce875
KH
39712001-02-05 Kenichi Handa <handa@etl.go.jp>
3972
52283633
SM
3973 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3974 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
3975 (ccl_driver): If the CCL program is terminated because of
3976 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3977 destination instead of throwing them away.
3978
20b28f82
GM
39792001-02-02 Gerd Moellmann <gerd@gnu.org>
3980
79fb38c0
GM
3981 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
3982 faces and other things.
3983
20b28f82
GM
3984 * xdisp.c (get_next_display_element): Fix case of empty
3985 display table entry.
3986
5a72551e
EZ
39872001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
3988
eb24d0bf
EZ
3989 * editfns.c (Fconstrain_to_field): Doc fix.
3990
6a3f48c7
EZ
3991 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
3992 into `thoroughly', to make it consistent with the doc string.
3993
5a72551e
EZ
3994 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
3995
01acdb05
GM
39962001-02-01 Gerd Moellmann <gerd@gnu.org>
3997
0353b28f
GM
3998 * search.c (search_buffer): Call set_search_regs with a byte
3999 position, not a character position.
4000
01acdb05
GM
4001 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4002 minibuffer-only,
4003
e86b5133
EZ
40042001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4005
4006 * frame.c (Fmodify_frame_parameters): Doc fix.
4007
7442878f
GM
40082001-01-31 Gerd Moellmann <gerd@gnu.org>
4009
01acdb05
GM
4010 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4011 identifier which is not reserved by Standard C.
52283633 4012
7442878f
GM
4013 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4014
4015 * window.c (enum window_part): New enumeration.
4016 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4017 Qright_bitmap_area.
4018 (coordinates_in_window): Return an enumerator from enum
4019 window_part. Fix handling of right scroll bar.
4020 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4021 `right-fringe' instead of `left-bitmap-area' and
4022 `right-bitmap-area'. Use enumerators from enum window_part
4023 instead of hard-coded integers.
52283633
SM
4024 (check_window_containing, window_from_coordinates):
4025 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4026 (syms_of_window): Replace Qleft_bitmap_area and
4027 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4028
7c132cba
EZ
40292001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4030
4031 * editfns.c (Fformat_time_string): Doc fix.
4032
c359dd9e
SM
40332001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4034
4035 * keymap.c (Fwhere_is_internal): Use the first valid binding
4036 if no ascii binding is found (when firstonly is t).
4037
ce070307
GM
40382001-01-31 Gerd Moellmann <gerd@gnu.org>
4039
b4f30ec5
GM
4040 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4041 instead of Finteractive_p.
4042
4043 * lisp.h (interactive_p): Add prototype.
4044
4045 * eval.c (interactive_p): New function.
4046 (Finteractive_p): Use it.
4047
ce070307
GM
4048 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4049
f57b6e64
DL
40502001-01-31 Dave Love <fx@gnu.org>
4051
d61c7afe
DL
4052 * .gdbinit (hook-run): Define to run xreload.
4053
f57b6e64
DL
4054 * textprop.c (Fset_text_properties): Fix newline in doc string.
4055
eef93f99
GM
40562001-01-30 Gerd Moellmann <gerd@gnu.org>
4057
52283633
SM
4058 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4059 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4060
4061 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4062 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4063 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4064
4065 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4066 height.
4067
d9c1f6f9
DL
40682001-01-30 Dave Love <fx@gnu.org>
4069
4070 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4071 AFTER_POTENTIAL_GC.
4072
e8f044a0
GM
40732001-01-29 Gerd Moellmann <gerd@gnu.org>
4074
52283633
SM
4075 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4076 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4077
8e1db7b3
EZ
40782001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4079
4080 * textprop.c (Fset_text_properties): Doc fix.
4081
4eefd9d2
GM
40822001-01-29 Gerd Moellmann <gerd@gnu.org>
4083
4084 * xdisp.c (forward_to_next_line_start): Remove xassert.
4085
fccb8288
EZ
40862001-01-29 Jason Rumney <jasonr@gnu.org>
4087
4eefd9d2 4088 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4089 returning without releasing it.
4090
76581eab
KH
40912001-01-29 Kenichi Handa <handa@etl.go.jp>
4092
4093 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4094 for '^', '$', and '\0'.
4095
83a96b4d
AC
40962001-01-28 Andrew Choi <akochoi@i-cable.com>
4097
5604ec34
AC
4098 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4099 regex for '^', '$', and '\0'.
4100
83a96b4d
AC
4101 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4102 only if current_sblock has been initialized.
4103
4104 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4105 terminal frame even if it is the only visible frame.
4106
c09a6440
KH
41072001-01-28 Kenichi Handa <handa@etl.go.jp>
4108
4109 * fontset.c (font_family_registry): Even if FONTNAME conform to
4110 XLFD, if it specifies other fields than family and registry,
52283633 4111 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4112 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4113 a signle byte character. Don't set FAMILY part to nil here.
4114 It is handled by the caller choose_face_font.
c09a6440
KH
4115 (Fnew_fontset): Call font_family_registry with FORCE 0.
4116 (Fset_fontset_font): Likewise.
4117
4dcd74e6
GM
41182001-01-27 Gerd Moellmann <gerd@gnu.org>
4119
4120 * xdisp.c (display_line): Don't treat a newline as fitting
4121 on the line.
4122
d2906bf8
GM
41232001-01-26 Gerd Moellmann <gerd@gnu.org>
4124
0130fe1a
GM
4125 * window.c (size_window): Set the window's orig_top to nil when
4126 changing heights, so that a future shrink_mini_window won't
4127 restore a bogus height.
4128
550f0e6a
GM
4129 * frame.c (do_switch_frame): If selected frame has a mini-window,
4130 resize that to exact size.
4131
b7b20fbd
GM
4132 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4133
a47b7816
GM
4134 * xdisp.c (display_line): Simplify check for glyphs fitting
4135 entirely in the line.
4136
d2906bf8
GM
4137 * xfns.c (xic_style): New variable.
4138 (create_frame_xic): Move static variable to global scope for
550f0e6a 4139 the case that `static' gets defined away.
d2906bf8 4140
73df2b1e
KH
41412001-01-26 Kenichi Handa <handa@etl.go.jp>
4142
4143 * coding.c (decode_coding): Set a flag for inhibiting
4144 inconsistent eol.
4145 (code_convert_region): Always set saved_coding_symbol.
4146 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4147 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4148
6613cfc4
GM
41492001-01-25 Gerd Moellmann <gerd@gnu.org>
4150
c5e6e06b
GM
4151 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4152 XClearArea.
4153
4154 * xterm.c (x_after_update_window_line): Don't clear if frame's
4155 internal border width is zero.
4156 (x_clear_area): New function.
4157 (x_after_update_window_line, x_clear_end_of_line)
4158 (x_scroll_bar_create, x_scroll_bar_set_handle)
4159 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4160 instead of XClearArea.
4161
4162 * xterm.h (x_clear_area): Add prototype.
4163
6613cfc4
GM
4164 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4165 which doesn't seem necessary anymore with Lesstif 0.92.
4166
650cc6cc
DL
41672001-01-25 Dave Love <fx@gnu.org>
4168
34ac3367
DL
4169 * puresize.h (BASE_PURESIZE): Up to 720000.
4170
650cc6cc
DL
4171 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4172
5e37dc22
GM
41732001-01-25 Gerd Moellmann <gerd@gnu.org>
4174
e1e441f9
GM
4175 * xdisp.c (echo_area_display): Don't call redisplay_internal
4176 when Emacs is shutting down. We can't run hooks etc. that
4177 would be necessary to do a redisplay.
4178
5e37dc22
GM
4179 * lread.c (read_integer): Use type EMACS_INT instead of int.
4180
0fb94c7f
EZ
41812001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4182
4183 * ccl.c (ccl_driver): Fix last change.
4184
e3778624
KH
41852001-01-25 Kenichi Handa <handa@etl.go.jp>
4186
4187 * ccl.h (sturct ccl_program): New member suppress_error.
4188
bb264518 4189 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4190 insert error message to the output.
4191 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4192
4193 * coding.h (struct coding_system): New member suppress_error.
4194
4195 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4196 (Fset_terminal_coding_system_internal): Set the member
4197 suppress_error to 1.
4198 (Fset_safe_terminal_coding_system_internal): Likewise.
4199
245ed2b1
SM
42002001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4201
4202 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4203 as if it was a `charset'.
4204
f9aaedb6
GM
42052001-01-24 Gerd Moellmann <gerd@gnu.org>
4206
4207 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4208 value in where_is_cache; the next lookup in the cache returns
4209 something bogus if we do.
4210
c3902c3e
EZ
42112001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4212
4213 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4214 if HAVE_WINDOW_SYSTEM isn't defined.
4215
3497f73e
GM
42162001-01-24 Gerd Moellmann <gerd@gnu.org>
4217
e7e41584
GM
4218 * fns.c (sweep_weak_table): Fix code taking items out of
4219 the hash collision chain. Some cleanup.
4220
3497f73e
GM
4221 * xterm.c (x_new_font): Don't change a tooltip's size.
4222
4223 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4224 background color by specifying a color for the default font
4225 in .Xdefaults.
4226
3d48e687
KH
42272001-01-24 Kenichi Handa <handa@etl.go.jp>
4228
96531b20
KH
4229 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4230 a workaround for SunOS 4's cc.
4231 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4232 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4233 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4234 statement.
3d48e687 4235
a30629d2
GM
42362001-01-23 Gerd Moellmann <gerd@gnu.org>
4237
4238 * xterm.c (x_set_window_size_1): New function extracted from
4239 x_set_window_size.
4240 (x_set_window_size): Use it.
4241 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4242 doesn't have a widget, like tooltips.
4243
5a43decf
EZ
42442001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4245
52283633 4246 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4247
b0e98867
KH
42482001-01-23 Kenichi Handa <handa@etl.go.jp>
4249
4250 * fns.c (Fset_char_table_default): Fix to make sub char-table
4251 correctly.
4252
50606b4c
GM
42532001-01-22 Gerd Moellmann <gerd@gnu.org>
4254
cb2ddc53 4255 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4256 a desired tool bar string, even if there are no tool bar items.
4257
57c28064
GM
4258 * xdisp.c (Ftool_bar_lines_needed): New function.
4259 (syms_of_xdisp): Defsubr it.
4260
50606b4c
GM
4261 * editfns.c (Fformat): Don't extend text properties from arguments
4262 to padding chars in the result.
4263
2f169c38
EZ
42642001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4265
4266 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4267
0f32f023
AI
42682001-01-20 Andrew Innes <andrewi@gnu.org>
4269
52283633 4270 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4271 (w32_initialize): Don't set term hooks that aren't actually needed
4272 in windowed mode.
4273
4274 * xfaces.c (realize_default_face):
4275 (realize_face):
4276 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4277
4278 * xdisp.c (handle_single_display_prop): Remove references to
4279 FRAME_W32_CONSOLE_P.
4280
52283633 4281 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4282
4283 * frame.h (output_method): Remove output_w32_console method.
4284 (FRAME_W32_CONSOLE_P): Remove macro.
4285
4286 * frame.c (Qw32_console): Remove variable.
4287 (Fframep): Remove references to it.
4288 (syms_of_frame): Ditto.
4289 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4290
4291 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4292 redefinition.
4293
7173eada
KH
42942001-01-20 Kenichi Handa <handa@etl.go.jp>
4295
4296 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4297
755b45ce
AI
42982001-01-19 Andrew Innes <andrewi@gnu.org>
4299
4300 * w32.c (init_environment): Add a version-independent site-lisp
4301 directory to EMACSLOADPATH, after the version dependent one.
4302
0a949811
GM
43032001-01-19 Gerd Moellmann <gerd@gnu.org>
4304
8501998a
GM
4305 * editfns.c (Fbuffer_substring): Doc fix.
4306
52283633
SM
4307 * xdisp.c (message_dolog, message2, message2_nolog):
4308 Rename parameter LEN to NBYTES.
0a949811 4309
e6ebcbbe
KH
43102001-01-19 Kenichi Handa <handa@etl.go.jp>
4311
200ecca2
KH
4312 * charset.c (strwidth): Use c_string_width.
4313 (c_string_width): New function.
4314 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4315 Caller changed.
4316
4317 * charset.h (c_string_width, lisp_string_width): Extern them.
4318
52283633 4319 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4320
e6ebcbbe
KH
4321 * indent.c (check_composition): Check validity of composition.
4322
200ecca2
KH
4323 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4324 characters by calling c_string_width.
4325 (x_consider_frame_title): Get byte length of frame tile string
4326 correctly.
4327 (display_mode_element): Pay attention to width of non-ASCII
4328 characters by calling strwidth.
4329
8692ca92
GM
43302001-01-18 Gerd Moellmann <gerd@gnu.org>
4331
8962e303
GM
4332 * xfns.c (Qcancel_timer): New variable.
4333 (syms_of_xfns): Initialize and staticpro it.
4334 (Fx_hide_tip, Fx_show_tip): Use it.
4335 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4336 the timer.
4337 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4338
91523be9
GM
4339 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4340
4341 * window.h (WINDOW_LIVE_P): New macro.
4342
b0b7ed0e
GM
4343 * window.c (window_size_fixed): New variable.
4344 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4345 the doc string.
4346
06bccf8e
GM
4347 * eval.c (specbind): If binding a per-buffer variable which
4348 doesn't have a buffer-local value in the current buffer, change
4349 the global value by changing the value of the symbol bound in all
4350 buffers not having their own value, to make it consistent with
4351 what happens with other buffer-local variables.
4352
8692ca92
GM
4353 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4354
4355 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4356 when searching for a newline.
4357
bb3a3b50
KH
43582001-01-18 Kenichi Handa <handa@etl.go.jp>
4359
4360 * xdisp.c (display_string): Fix previous change.
4361
c2cc16fa
JR
43622001-01-18 Jason Rumney <jasonr@gnu.org>
4363
4364 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4365 GLYPH_DEBUG is defined.
4366 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4367 true for images with `:ascent 100'.
4368 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4369 meantime, use face MOUSE_FACE_ID.
4370 If first glyph isn't a character glyph, use the ASCII NUL
4371 character to determine the face.
4372 (expose_area): Do not treat left margin specially.
4373 (note_mode_line_highlight): If no local_map, check global keymap.
4374 (note_mouse_highlight): Initialize overlay.
52283633 4375 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4376 (show_scroll_bars): Remove unused function.
4377 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4378 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4379 Clip to row.
52283633 4380 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4381 (x_free_frame_resources): Unload relief colors.
4382
9c11f79e
GM
43832001-01-17 Gerd Moellmann <gerd@gnu.org>
4384
3aec8722 4385 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4386 get_next_display_element when the newline is already found.
4387 This may change the iterator's position, when its current position is
3aec8722
GM
4388 equal to the iterator's stop_charpos.
4389
f3ffc2c3
GM
4390 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4391 zero, use this method only at the end of a line.
4392
52283633 4393 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4394 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4395 if SCALABLE_FONTS_P is set.
52283633 4396
d26d6fd9
GM
4397 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4398 so that scalable fonts are included.
4399
9c11f79e
GM
4400 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4401 In the cache, use a key containing the information if scalable
4402 fonts are included.
4403 (x_load_font): Adapt to change of keys in the font cache.
4404
44052001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4406
d26d6fd9
GM
4407 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4408 XListFonts to take advantage of font caching.
4409
9c11f79e
GM
4410 * xterm.c (x_list_fonts): Ensure caching font information when
4411 called for a null frame, which is the case frequently when Emacs
4412 starts.
4413
51446987
GM
44142001-01-17 Gerd Moellmann <gerd@gnu.org>
4415
f864120f
GM
4416 * xfns.c (QCconversion): Replaces QCalgorithm.
4417
4418 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4419
4420 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4421 of :algorithm.
52283633 4422
e37d1417
GM
4423 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4424 not everything could be displayed.
4425
51446987
GM
4426 * line.h, x-list-font.c: Files removed because unused.
4427
9ad4f3e5
AI
44282001-01-17 Andrew Innes <andrewi@gnu.org>
4429
4430 * dired.c (directory_files_internal): Convert result from readdir
4431 to a unibyte string initially, to avoid possible misinterpretation
4432 of some bytes as the internal form of Emacs characters.
4433
2eda09b5
KH
44342001-01-17 Kenichi Handa <handa@etl.go.jp>
4435
4436 * fns.c (concat): Be sure to avoid putting the same `composition'
4437 property on the adjacent regions.
4438
826f3788
GM
44392001-01-16 Gerd Moellmann <gerd@gnu.org>
4440
52283633 4441 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4442 (Fscroll_right, Fscroll_left): Set it here instead, if called
4443 interactively.
4444
d57b83b3
GM
4445 * buffer.c (Fset_buffer_modified_p): Set buffer's
4446 prevent_redisplay_optimizations_p flag.
4447
826f3788 4448 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4449 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4450 with additional arg.
4451
4452 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4453 Change prototype.
826f3788 4454
826f3788
GM
4455 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4456 FROM_WHERE, for debugging.
4457
261d788b
KH
44582001-01-16 Kenichi Handa <handa@etl.go.jp>
4459
4460 * ccl.c (Fregister_ccl_program): Handle the return value of
4461 resolve_symbol_ccl_program correctly.
52283633 4462 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4463
bccee4f2
GM
44642001-01-15 Gerd Moellmann <gerd@gnu.org>
4465
e4ded23c
GM
4466 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4467 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4468
4469 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4470 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4471 the display; we didn't open it.
4472
bccee4f2
GM
4473 * dispnew.c (save_or_restore_current_matrices): Function removed.
4474 (save_current_matrix, restore_current_matrix): New functions.
4475 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4476 restore the frame's current matrix. Due to the glyph pointer
4477 setup done in adjust_glyph_matrix, there is no easy way to make
4478 saving the current matrix in the desired matrix generally correct,
4479 so don't try it.
4480
ebeccffa
KH
44812001-01-15 Kenichi Handa <handa@etl.go.jp>
4482
4483 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4484 truncation glyphs.
4485 (display_line): Optimize for wide characters.
e4ded23c 4486 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4487 partially. On ttys, produce more than one truncation glyph for
4488 multi-column characters that don't fit on the line.
4489
64388126
KH
44902001-01-13 Kenichi Handa <handa@etl.go.jp>
4491
52283633
SM
4492 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4493 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4494
8edb0a6f
JR
44952001-01-13 Jason Rumney <jasonr@gnu.org>
4496
4497 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4498 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4499 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4500 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4501
52283633
SM
4502 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4503 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4504 (x_draw_image_glyph_string): Adapt to change of image margins.
4505
4506 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4507 variables.
4508
4509 * w32bdf.c (search_file_line, get_cached_font_char)
4510 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4511
4512 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4513
4514 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4515 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4516 (Fw32_send_sys_command): Remove unused variables.
4517 (w32_msg_pump): Add parentheses.
4518
4519 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4520 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4521 Add parentheses.
4522
4956d1ef
GM
45232001-01-12 Gerd Moellmann <gerd@gnu.org>
4524
b30623be
GM
4525 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4526 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4527 being a pair of margins.
4528 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4529 to DEFVAR_LISP. Extend doc.
4530
4531 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4532 margins.
4533 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4534 pair of integers `(X . Y)', use X for the horizontal and Y for the
4535 vertical margin.
4536 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4537 (parse_image_spec): Check it.
52283633
SM
4538 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4539 (tiff_format, gif_format, gs_format):
4540 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4541
52283633
SM
4542 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4543 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4544 (x_draw_image_glyph_string): Adapt to the change of image margins.
4545
4546 * dispextern.h (struct image): Replace member `margin' with
4547 `hmargin' and `vmargin'.
4548
4554cc79
GM
4549 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4550 and GLYPHS.
4551
4552 * dispnew.c (update_text_area): Put code which decrements the
4553 stop position when the row's face extends to the end of the
3bffc665 4554 line in #if 0.
4554cc79 4555
3cccce8d
GM
4556 * xfns.c (x_set_mouse_color): Fix color allocation.
4557
4956d1ef
GM
4558 * keyboard.c: Call get_local_map with new argument list.
4559
4560 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4561
4562 * intervals.h (enum map_property): Removed.
4563 (get_local_map): Change prototype.
4564
4565 * keymap.c: Call get_local_map with new argument list.
4566 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4567
2c2ff7f2
GM
45682001-01-11 Gerd Moellmann <gerd@gnu.org>
4569
a23887b9
GM
4570 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4571 of the size needed for the tool bar string. For the last image,
4572 use a `display' property that reaches to the end of the string.
4573
a7ee2d2e
GM
4574 * xselect.c (selection_request_dpyinfo): New variable.
4575 (x_handle_selection_request): Set it.
4576 (x_selection_request_lisp_error): Don't call
4577 x_decline_selection_request if selection request's display has
4578 been closed.
4579
52283633
SM
4580 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4581 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4582
457b792c
GM
45832001-01-10 Dave Love <fx@gnu.org>
4584
4585 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4586 ${SOME_MACHINE_LISP}, not ${lisp}.
4587
c1efd260
GM
45882001-01-10 Gerd Moellmann <gerd@gnu.org>
4589
52283633
SM
4590 * xdisp.c (display_line): On ttys, produce more than one truncation
4591 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4592
ac95a621
GM
4593 * xselect.c (x_reply_selection_request): Add a comment.
4594
c1efd260
GM
4595 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4596 XkbGetNames instead of XkbGetKeyboard.
4597
1bfb1345
DL
45982001-01-10 Dave Love <fx@gnu.org>
4599
4600 * sysdep.c (random): Revert the declaration.
4601
38119822
GM
46022001-01-09 Gerd Moellmann <gerd@gnu.org>
4603
52283633
SM
4604 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4605 Call function string_bytes.
35f464a7
GM
4606 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4607
4608 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4609 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4610 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4611 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4612 the current sblock.
4613 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4614 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4615 after sweeping strings, and at the end.
4616 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4617
38119822
GM
4618 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4619 ensure that pop_message is called.
4620
4621 * keyboard.c (Fexecute_extended_command): Use a
4622 record_unwind_protect to ensure that pop_message is called.
4623
4624 * lisp.h (push_message_unwind): Add prototype.
4625
4626 * xdisp.c (push_message_unwind): New function.
4627
4628 * fileio.c (do_auto_save_unwind): Do the pop_message here
4629 instead of in Fdo_auto_save.
4630 (Fdo_auto_save): Don't call pop_message.
4631
f47a9ec4
KR
46322001-01-08 Ken Raeburn <raeburn@gnu.org>
4633
4634 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4635 in inner block.
4636
a758f97d
GM
46372001-01-08 Gerd Moellmann <gerd@gnu.org>
4638
6d0afc03
GM
4639 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4640 when increasing window's vscroll.
4641
a758f97d
GM
4642 * macros.c (Qkbd_macro_termination_hook): New variable.
4643 (syms_of_macros): Initialize and staticpro it.
4644 (pop_kbd_macro): Run kbd-macro-termination-hook.
4645
4646 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4647
1bfb1345 46482001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4649
4650 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4651 arglist, for documentation's sake.
4652
0dac6924
AI
46532001-01-06 Andrew Innes <andrewi@gnu.org>
4654
4655 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4656 of *.pdb.
4657
8182406a
AI
46582001-01-05 Andrew Innes <andrewi@gnu.org>
4659
4660 * term.c (update_end): Don't check updating_frame; for some reason
4661 this can be 0 sometimes, such as after dismissing a popup menu,
4662 and isn't necessary given the explicit frame argument.
4663
3828218c
GM
46642001-01-05 Gerd Moellmann <gerd@gnu.org>
4665
4666 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4667 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4668
2f5ded21
GM
46692001-01-04 Gerd Moellmann <gerd@gnu.org>
4670
52283633 4671 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4672
4673 * xfns.c (x_create_tip_frame): Preserve the value of
4674 face_change_count around the creation of the tip frame.
52283633 4675
2f5ded21
GM
4676 * xfns.c (last_show_tip_args): New variable.
4677 (compute_tip_xy): New function.
4678 (Fx_show_tip): Reuse an existing tip frame, if possible.
4679 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4680
dfad65fa
DL
46812001-01-04 Dave Love <fx@gnu.org>
4682
64d4ec0f
DL
4683 * editfns.c (Fformat): Doc fix.
4684
dfad65fa
DL
4685 * systime.h (set_file_times): Prototype.
4686
4687 * widget.h (EmacsFrameSetCharSize_): Prototype.
4688
4689 * sysdep.c (random, srandom): Declare explicitly.
4690
4691 * dispextern.h (move_it_vertically_backward): Declare.
4692
85fe3b5e
GM
46932001-01-04 Gerd Moellmann <gerd@gnu.org>
4694
0f2ac578
GM
4695 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4696 like in Fx_create_frame.
4697
482cca61
GM
4698 * xfaces.c (set_font_frame_param): Don't do anything for
4699 non-graphical frames.
4700
85fe3b5e
GM
4701 * window.c (Fdelete_other_windows): Set window's window_end_valid
4702 to nil when changing the window's start. Don't change the
4703 window's start when its top position hasn't changed. If we do,
4704 this will set the window's optional_new_start, which act's like a
4705 force_start during redisplay with C-x 1 M-> under particular
4706 circumstances (see report from Per Starback to emacs-pretest-bug
4707 from 2000-12-13.).
4708
3e99d3b4
GM
47092001-01-03 Gerd Moellmann <gerd@gnu.org>
4710
a77dc1ec
GM
4711 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4712 short cut at the start of the function. Add an assertion.
4713 (reseat_at_next_visible_line_start): Add an assertion.
4714
2f3cad6c
GM
4715 * window.c (Frecenter): When changing the window start, set the
4716 window's window_end_valid to nil.
4717 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4718
4719 * dispextern.h (move_it_past_eol): Add prototype.
4720
4721 * xdisp.c (move_it_past_eol): New function.
4722
3e99d3b4
GM
4723 * window.c (Fwindow_end): Doc fix.
4724
47252001-01-03 Dave Love <fx@gnu.org>
4726
52283633 4727 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4728
bafb434c
GM
47292001-01-03 Gerd Moellmann <gerd@gnu.org>
4730
4731 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4732 the enabled_p flag of the glyph row at window_end_vpos to 0.
4733 (handle_single_display_prop): Fix last change.
4734
5297fb00
RS
47352001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4736
4737 * window.c (Frecenter): Doc fix.
4738
13d6a61c
AI
47392001-01-02 Andrew Innes <andrewi@gnu.org>
4740
4741 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4742
4743 * frame.h (output_method): Add output_w32_console method.
4744 (FRAME_W32_CONSOLE_P): New macro.
4745
4746 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4747 use output_w32_console method.
4748 (Qw32_console): New Lisp_Object.
4749 (Fframep): Return it.
4750 (syms_of_frame): Init it.
52283633 4751 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4752
4753 * xfaces.c (realize_default_face): Set face foreground and
4754 background to unspecified for w32_console frames.
4755 (realize_face): Realize face cache for w32_console frames.
4756 (realize_tty_face): Accept w32_console frames.
4757
52283633 4758 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4759 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4760 necessary, even if running interactively.
4761
4762 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4763 w32_console frames.
4764
52283633
SM
4765 * w32term.c (x_update_begin):
4766 (x_update_end):
4767 (x_clear_frame):
4768 (x_ins_del_lines):
4769 (x_change_line_highlight):
4770 (x_delete_glyphs):
4771 (w32_ring_bell):
4772 (x_update_begin):
4773 (x_update_end):
4774 (w32_reassert_line_highlight):
4775 (w32_frame_rehighlight):
13d6a61c
AI
4776 (w32_frame_raise_lower): Do nothing if not w32 frame.
4777
4778 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4779
4780 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4781 system doesn't tell us directly.
4782 (Fx_display_visual_class): Implement properly.
4783
d6bb0c0d
GM
47842001-01-02 Gerd Moellmann <gerd@gnu.org>
4785
4786 * window.c (Frecenter): Handle centering in graphical frames
4787 specially. Centering on the basis of line counts doesn't work
4788 reliably with variable-height lines.
52283633 4789
315f5865
EZ
47902001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4791
4792 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4793 and al[].
4794
52283633 4795 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
4796 (update_compositions): Remove unused variable `hook'.
4797
4798 * intervals.c (get_local_map): Remove unused variable `tem'.
4799
4800 * doprnt.c (doprnt1): Remove unused variable `size'.
4801
4802 * fns.c (Flength): Remove unused variable `tail'.
4803 (Fdelete): Remove unused variable `size'.
4804
4805 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
4806 and `gcpro2'.
4807
52283633 4808 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
4809
4810 * data.c (find_symbol_value): Remove extra 3rd argument in the
4811 call to swap_in_symval_forwarding.
4812
52283633 4813 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
4814
4815 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
4816 (trivial_regexp_p): Remove unused variable `c'.
4817 (boyer_moore): Remove unused variable `k'.
4818
4819 * indent.c (current_column): Remove unused variable `stopchar'.
4820 (Fcompute_motion): Remove unused variable `contin'.
4821
4822 * casefiddle.c (casify_object): Remove unused variable `tolen'.
4823
4824 * dired.c (directory_files_internal): Fix a typo in a comment.
4825 Remove an unused variable `handler'.
52283633 4826 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
4827 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
4828 on BSD4_2.
4829
52283633 4830 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
4831
4832 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
4833 and `buf'.
4834 (Fmarker_insertion_type): Remove unused variable `buf'.
4835
4836 * insdel.c (make_gap): Remove unused variable `result'.
4837
52283633 4838 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
4839 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
4840 (menu_bar_items): Remove unused function-scope variable `tem'.
4841
4842 * fontset.c (fontset_ref): Remove unused variable `i'.
4843 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 4844 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
4845 (make_fontset_for_ascii_face): Remove unused variable `name'.
4846 (fs_load_font): Remove unused variable `font_idx'.
52283633 4847 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
4848 (list_fontsets): Remove unused variable `tail'.
4849 (Fnew_fontset): Remove unused variables `family' and `registry'.
4850 (accumulate_font_info): Remove unused variable `tmp'.
4851 (Ffontset_font): Remove unused variable `id'.
4852 (syms_of_fontset): Remove unused variable `i'.
4853
4854 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4855 to x_term_init.
4856 (lookup_image): Remove unused variable `file'.
4857 (xbm_load): Remove unused variables `bitmap_data', `height', and
4858 `width'. Remove function-local variable `i', leave the
4859 block-local one.
4860 (gif_load): Remove unused variable `inc'.
4861
52283633 4862 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4863 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4864 leave only the one in the inner block.
4865
4866 * xfaces.c (face_fontset, realize_default_face): Remove unused
4867 variable `fontset'.
4868 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4869
4870 * term.c (encode_terminal_code): Remove unused variable `c'.
4871
4872 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4873 char *' instead of `char *'.
4874
4875 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 4876 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
4877 (Fchar_category_set): Remove unused variables `val', `charset',
4878 `c1' and `c2'.
4879
52283633
SM
4880 * coding.c (detect_coding_iso2022, setup_coding_system):
4881 Remove unused variable `i'.
315f5865
EZ
4882 (detect_coding_mask): Remove unused variable `idx'.
4883 (detect_coding): Remove unused variable `i'.
4884 (ccl_coding_driver): Remove unused variable `result'.
4885 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 4886 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
4887 (encode_coding_string): Remove unused variables `gcpro1' and
4888 `saved_coding_symbol'.
4889 (Ffind_coding_systems_region_internal): Remove function-local
4890 variable args[], leave only the block-local one.
4891 (code_convert_region1): Remove unused variable `len'.
4892
4893 * charset.c (char_printable_p): Remove unused variable `chars'.
4894 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4895 (str_to_multibyte): Remove unused variable `c'.
4896
4897 * window.c (size_window): Remove block-local variable `min_size'.
4898
4899 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4900 `header_line_height'.
4901 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4902 enum display_element_type.
4903
1a8a9daf
GM
49042001-01-02 Gerd Moellmann <gerd@gnu.org>
4905
6dde6abc 4906 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4907 statements that call X. Save away the error message in a local copy.
4908
1883b2c6
GM
4909 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4910 the start.
4911
a13be207
GM
4912 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4913 in or at the start of invisible text.
4914
1a8a9daf
GM
4915 * dispnew.c (update_window): Don't check_current_matrix_flags.
4916
3608c0f9
JR
49172001-01-01 Jason Rumney <jasonr@gnu.org>
4918
4919 * w32fns.c (x_figure_window_size): Do not allow new_height and
4920 new_width of frame to override specified values.
4921
abb1acc4
KH
49222000-12-30 Kenichi Handa <handa@etl.go.jp>
4923
52283633 4924 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4925
762a68ec
GM
49262000-12-29 Gerd Moellmann <gerd@gnu.org>
4927
52283633 4928 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4929 (update_window) [GLYPH_DEBUG]: Call it.
4930 (scrolling_window): Prevent including current rows which are below
4931 what's displayed in the window.
4932
4933 * xdisp.c (try_window_reusing_current_matrix)
4934 <new start <= old start>: Disable rows in the current matrix
4935 which are below the window after scrolling.
52283633 4936
762a68ec
GM
4937 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4938 is zero. It's not worth the complexity.
4939 (invisible_text_between_p): Put in #if 0 because unused.
4940
2d5912c1
GM
49412000-12-28 Gerd Moellmann <gerd@gnu.org>
4942
46f6a258
GM
4943 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4944 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4945
89f93679
GM
4946 * keyboard.c (echo_char): If C is an integer, always call
4947 push_key_description. Former code could signal an invalid
4948 character error.
4949
4950 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4951 If set, print multibyte text.
4952 (Fsingle_key_description): Call push_key_description with
4953 FORCE_MULTIBYTE set.
4954 (describe_buffer_bindings): Likewise.
4955
4956 * lisp.h (push_key_description): Add prototype.
4957
c06017fb
GM
4958 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4959 around the call to redisplay_internal.
4960
f1d2ce7f
GM
4961 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4962
2d5912c1
GM
4963 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4964
9371f831
KH
49652000-12-28 Kenichi Handa <handa@etl.go.jp>
4966
4967 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4968 (ccl_driver): New local variable `extra_bytes'.
4969
4970 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4971
52283633
SM
4972 * coding.c (setup_coding_system):
4973 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
4974 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4975
0c80628a
KH
49762000-12-28 Kenichi Handa <handa@etl.go.jp>
4977
4978 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4979 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4980 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
4981 (decode_composition_emacs_mule): New function.
4982 (decode_coding_emacs_mule): Decode composition sequence by calling
4983 decode_composition_emacs_mule.
4984 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
4985 (encode_coding_emacs_mule): Changed from macro to function.
4986 If a text contains compositions, encode them correctly.
0c80628a
KH
4987 (setup_coding_system): Set coding->commong_flags for emacs-mule so
4988 that decoding and encoding are required.
4989
3e32cc27
GM
49902000-12-27 Gerd Moellmann <gerd@gnu.org>
4991
5e25feee
GM
4992 * xfaces.c (PT_PER_INCH): New macro.
4993 (xlfd_point_size): Compute real point size from font's pixel size.
4994 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
4995 instead of 72.
4996
892d8fcd
GM
4997 * .gdbinit: Comment out the line pointing to the Lesstif source
4998 directory.
4999
12c8b416
GM
5000 * window.c (Frecenter): Use displayed_window_lines instead
5001 of window_internal_height.
5002
6061fbf0
GM
5003 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5004 instead of x-toolkit-scroll-bars-p.
5005 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5006
5007 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5008 instead of x-toolkit-scroll-bars-p.
5009 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5010
3e32cc27
GM
5011 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5012 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5013 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5014 New variables.
5015 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5016 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5017 (build_frame_matrix_from_leaf_window): Remove unused code.
5018 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5019 redisplay history.
5020 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5021 (update_window) [GLYPH_DEBUG]: Likewise.
5022 (syms_of_display): Defsubr dump-redisplay-history.
5023
31798cfe
GM
50242000-12-23 Gerd Moellmann <gerd@gnu.org>
5025
f717c2ba
GM
5026 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5027 the end of the prompt. Set echo_after_prompt to the offset
5028 of echoptr in echobuf.
5029
aeb2b8fc
GM
5030 * xdisp.c (init_from_display_pos): Pop until the iterator's
5031 stack is empty; there may be frames for stretch or images
5032 on the stack.
5033
31798cfe
GM
5034 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5035 (save_or_restore_current_matrix): New function for the same
5036 purpose, but more efficient.
5037 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5038
f8156156
EZ
50392000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5040
5041 * xdisp.c (syms_of_xdisp): Fix last change.
5042
bdd6d4e8
GM
50432000-12-23 Gerd Moellmann <gerd@gnu.org>
5044
5045 * xdisp.c (syms_of_xdisp): Doc fix.
5046
5047 * xdisp.c (redisplay_window): Remove label restore_buffers;
5048 use finish_scroll_bars instead to make sure that scroll bars
5049 are redeemed. If we don't do this, flickering can result from
5050 scroll bars being destroyed and recreated.
5051
9436cdf9
JR
50522000-12-22 Jason Rumney <jasonr@gnu.org>
5053
5054 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5055 in the wrong colors when the foreground is not black.
5056 (expose_window): Don't redraw the window that's currently being
5057 updated.
5058
951f9df5
GM
50592000-12-22 Gerd Moellmann <gerd@gnu.org>
5060
856ff7a7
GM
5061 * window.c (size_window): When setting the window's too_small_ok
5062 flag, compare old size with minimum size depending on WIDTH_P,
5063 don't compare with window_min_width.
52283633 5064
951f9df5
GM
5065 * window.c (delete_window): Simplify somewhat.
5066 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5067 freeing window matrices. The flag windows_or_buffers_changed is
5068 set, so the next redisplay will consider all windows; this should
5069 suffice.
5070
886bc933
KH
50712000-12-22 Kenichi Handa <handa@etl.go.jp>
5072
5073 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5074
5075 * ccl.h (struct ccl_program): New member cr_consumed.
5076
5077 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5078 (CCL_READ_CHAR): Handle EOL conversion here.
5079 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5080
177f4e88
GM
50812000-12-21 Gerd Moellmann <gerd@gnu.org>
5082
52283633 5083 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5084
5085 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5086 otherwise tabs of different size compare equal.
5087
5088 * callint.c (Fcall_interactively): Prevent a compiler warning.
5089
5090 * print.c (print_unwind): Return nil.
5091 (PRINTDECLARE): Initialize all local variables.
5092 (print_preprocess): Add a default case.
5093
8e15274f
GM
5094 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5095
5096 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5097
52283633 5098 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5099 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5100
5101 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5102
5103 * dispnew.c (ensure_frame_matrix): Removed.
5104 (save_frame_matrix, restore_frame_matrix): New functions.
5105 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5106
5107 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5108 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5109
99012074
AI
51102000-12-21 Andrew Innes <andrewi@gnu.org>
5111
5112 * w32term.c (x_update_begin): Regenerate the palette here, rather
5113 than for each window.
5114
5115 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5116 palette is NULL, since this corrupts memory! Also get
5117 display_info reference from frame.
5118
29ef7d2d
JR
51192000-12-21 Jason Rumney <jasonr@gnu.org>
5120
5121 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5122
5123 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5124 to avoid returning without releasing it.
3e27fa1f 5125
3f9d67a6
KH
51262000-12-21 Kenichi Handa <handa@etl.go.jp>
5127
587fc3f9
KH
5128 * keymap.c (push_key_description): Don't convert eight-bit-control
5129 and eight-bit-graphic to multibyte character.
5130
3f9d67a6
KH
5131 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5132 generic character and CODE1 is nil, return the smallest character
5133 in CHARSET.
5134
774ba8c9
DL
51352000-12-20 Dave Love <fx@gnu.org>
5136
5137 * s/osf5-0.h (NSIG): Don't redefine.
5138
88416888
SM
51392000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5140
5141 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5142 excluding menu-bar and tool-bar.
5143 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5144 (menu_item_p): Remove.
5145 (where_is_internal_1): Don't ignore menu-items.
5146
a6426c6f
GM
51472000-12-20 Gerd Moellmann <gerd@gnu.org>
5148
03ff8aab
GM
5149 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5150 into account.
5151
5152 * window.c (make_window): Initialize window's min_hscroll.
5153 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5154 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5155 to zero.
5156 (struct saved_window): New member min_hscroll.
5157 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5158 (Fset_window_configuration): Set window's min_hscroll.
5159 (save_window_save): Save window's min_hscroll.
5160 (compare_window_configurations): Compare min_hscroll values.
5161
5162 * window.h (struct window): New member min_hscroll.
5163
5164 * keyboard.c (echo_prompt): Prevent a compiler warning.
5165
8de4aaf8
GM
5166 * xdisp.c (try_cursor_movement): Fix last change. The real
5167 condition is that PT is at the end of the row, and should
5168 be displayed at the start of the next row.
52283633 5169
3f7e3031
GM
5170 * xdisp.c (try_cursor_movement): If we end on a partially
5171 visible line, end we already decided to scroll, return -1.
5172
a6426c6f
GM
5173 * dispextern.h (ensure_frame_matrix): Add prototype.
5174
5175 * window.c (delete_window, Fsplit_window)
5176 (Fset_window_configuration): Call ensure_frame_matrix.
5177
52283633
SM
5178 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5179 New functions.
a6426c6f
GM
5180 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5181 completed, call fake_current_matrices instead of marking frame
5182 garbaged.
5183
57fa2774
JR
51842000-12-20 Jason Rumney <jasonr@gnu.org>
5185
5186 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5187
d925df90
EZ
51882000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5189
5190 * fns.c (Frequire): Doc fix.
5191
7b93a85b
GM
51922000-12-19 Gerd Moellmann <gerd@gnu.org>
5193
52283633 5194 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5195
c74e645b
GM
5196 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5197 currently displaying a message.
5198
7b93a85b
GM
5199 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5200 xterm.h.
5201 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5202
90d97e64
AI
52032000-12-18 Andrew Innes <andrewi@gnu.org>
5204
5205 * w32.c (w32_strerror): New function.
5206
5207 * w32.h (w32_strerror): New extern.
5208
5209 * w32fns.c (Fw32_shell_execute): Use it.
5210
91c9e6ce
GM
52112000-12-18 Gerd Moellmann <gerd@gnu.org>
5212
5213 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5214
6f4745e2
EZ
52152000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5216
5217 * msdos.c (IT_set_face): Obey inverse_video.
5218
c9e088ce
KH
52192000-12-18 Kenichi Handa <handa@etl.go.jp>
5220
5221 * dired.c (directory_files_internal): Always return decoded filenames.
5222
c3695f5f
GM
52232000-12-18 Gerd Moellmann <gerd@gnu.org>
5224
52d8e4ff
GM
5225 * xterm.c (x_connection_closed): Prevent being called recursively
5226 because of an error condition in XtCloseDisplay.
52283633 5227
62be9979
GM
5228 * xdisp.c (init_iterator): If noninteractive, and the frame's
5229 face cache is null, make one.
5230
52283633 5231 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5232
c3695f5f
GM
5233 * process.c (wait_reading_process_input): Check for pending
5234 input when running timers.
5235
78555fbe
EZ
52362000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5237
52283633 5238 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5239
b2b36264
KH
52402000-12-18 Kenichi Handa <handa@etl.go.jp>
5241
5242 * process.c (read_process_output): Don't run a filter if the code
5243 decoder produces nothing but carryover.
5244
9c543fbf
AI
52452000-12-17 Andrew Innes <andrewi@gnu.org>
5246
5247 * w32.c (sys_rename): Only check errno against EEXIST, and not
5248 EACCES, when determining whether rename failed because the target
5249 exists. This was resulting in indefinite looping on Windows 9x if
5250 the source file was locked by another process.
5251
5252 * w32fns.c (Ffile_system_info): New function.
5253 (syms_of_w32fns): Defsubr it.
5254
10c2b5a8
GM
52552000-12-17 Gerd Moellmann <gerd@gnu.org>
5256
b0228ace
GM
5257 * window.c (coordinates_in_window): Fix computation for
5258 position on vertical line between mode lines.
5259
10c2b5a8
GM
5260 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5261 Don't alter tip_frame or tip_window.
5262 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5263 was deleted.
5264
c844a81a
GM
5265 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5266 Don't alter tip_frame or tip_window.
5267 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5268 was deleted.
5269
6c825f8e
EZ
52702000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5271
5272 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5273 be consistent with the doc string. Reported by NAKAJIMA Mikio
5274 <minakaji@osaka.email.ne.jp>.
5275
af4bb4c8
KH
52762000-12-16 Kenichi Handa <handa@etl.go.jp>
5277
5278 * xfaces.c (Vface_ignored_fonts): New variable.
5279 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5280 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5281
8062e53a
GM
52822000-12-15 Gerd Moellmann <gerd@gnu.org>
5283
e87b8809
GM
5284 * dispnew.c (update_window): Detect pending input every nth line
5285 updated, i.e. do it depending on real work done, and not on the
5286 vpos of the line.
5287
5288 * xterm.c (expose_window): Don't redraw the window that's
5289 currently being updated.
5290
a6768cc5
GM
5291 * window.c (Fset_window_point): Remove test for
5292 cursor_in_non_selected_windows.
5293
4ea7fdca
GM
5294 * lread.c (read1): Recognize end of file after `\\'.
5295
8062e53a
GM
5296 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5297 not unwind_create_frame.
5298
bb7959c1
GM
52992000-12-15 Dave Love <fx@gnu.org>
5300
5301 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5302 bcopy & al.
5303
5304 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5305
ced04c42
KH
53062000-12-15 Kenichi Handa <handa@etl.go.jp>
5307
c5443913
KH
5308 * coding.c (setup_coding_system): Clear all members of the struct
5309 coding_system at first.
bc137305
KH
5310 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5311 argument.
5312 (code_convert_region): Don't override coding->src_multibyte and
5313 coding->dst_multibyte.
c5443913 5314
ced04c42
KH
5315 * fns.c (Fmd5): Docstring improved.
5316
c2d7f289
MB
53172000-12-15 Miles Bader <miles@gnu.org>
5318
5319 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5320 are actually marked as mode-lines; otherwise use
5321 estimate_mode_line_height.
5322
9d7d9263
GM
53232000-12-14 Gerd Moellmann <gerd@gnu.org>
5324
5325 * editfns.c (Fformat): Prevent a buffer overrun when the format
5326 specifies a precision.
5327
7cf0153a
EZ
53282000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5329
5330 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5331 argument is outside the range [2..3].
5332
1de0f662
AI
53332000-12-14 Andrew Innes <andrewi@gnu.org>
5334
5335 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5336 nothing to do. Bind inhibit-quit.
5337 (tip_frame): Make it a Lisp_Object.
5338 (x_create_tip_frame): Set tip_frame after it has been added to
5339 Vframe_list.
5340 (Fx_show_tip): Don't set tip_frame here.
52283633 5341 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5342 (unwind_create_frame, unwind_create_tip_frame): New functions.
5343 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5344 while a frame is only partially constructed.
5345
5346 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5347 (x_free_frame_resources): New function.
5348 (x_destroy_window): Use it.
5349
02387dcc
GM
53502000-12-14 Gerd Moellmann <gerd@gnu.org>
5351
5352 * xfns.c (Fx_backspace_delete_keys_p): New function.
5353 (syms_of_xfns): Defsubr it.
5354
5355 * config.in (HAVE_XKBGETKEYBOARD): Add.
5356
0544ef49
KH
53572000-12-14 Kenichi Handa <handa@etl.go.jp>
5358
98d62747
KH
5359 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5360 Always store string in multibyte representation in echobuf.
5361 (echo_char): Always store string in multibyte representation in
5362 echobuf.
5363 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5364 (read_key_sequence): Adjusted for the change of echo_prompt.
5365
a20193cd
KH
5366 * fns.c (Fmd5): Docstring improved.
5367
191b83b6
KH
5368 * lisp.h (detect_coding_system): Prototype adjusted.
5369
0544ef49
KH
5370 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5371 (detect_coding_emacs_mule, detect_coding_iso2022,)
5372 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5373 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5374 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5375 (detect_coding_mask, detect_coding_system): New argument
5376 MULTIBYTEP. Callers changed.
1da1bb05
KH
5377 (decode_coding_string): Set coding->src_multibyte and
5378 coding->dst_multibyte before calling detect_coding and detect_eol.
5379 Update them after some coding system is detected.
52283633 5380
d5b3eb1b
SM
53812000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5382
5383 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5384
5385 * keyboard.c (menu_bar_items, tool_bar_items):
5386 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5387
f7f8bb69
GM
53882000-12-13 Gerd Moellmann <gerd@gnu.org>
5389
52283633 5390 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5391 New variables.
5392 (unwind_create_frame, unwind_create_tip_frame): New functions.
5393 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5394 while a frame is only partially constructed.
5395
5396 * xterm.h (x_free_frame_resources): Declare.
5397
5398 * xterm.c (x_free_frame_resources): New function.
5399 (x_destroy_window): Use it.
5400
e10da507
GM
5401 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5402 don't interrupt the update for pending input initially, i.e.
5403 update at least some lines.
5404
5405 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5406
d5b3eb1b 5407 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5408
5409 * xfns.c (gray_bitmap_bits): Declare `char *'.
5410
90aa2856
GM
54112000-12-12 Gerd Moellmann <gerd@gnu.org>
5412
5413 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5414 lines start with a relief line.
5415
a308c9cd
DL
54162000-12-12 Dave Love <fx@gnu.org>
5417
5418 * window.c (Fdisplay_buffer): Doc fix.
5419 (Fwindow_list): Remove unused var.
5420
5421 * buffer.h (mmap_set_vars): Declare.
5422
5423 * window.h (Fset_window_point): Declare.
5424
d575011f
EZ
54252000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5426
bf6282d2 5427 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5428 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5429 variable `area'. When looking for a row under (X,Y), give up if some
5430 of the previous rows is not enabled.
d575011f 5431
ecf4d726
GM
54322000-12-12 Gerd Moellmann <gerd@gnu.org>
5433
2ebf6139
GM
5434 * window.c (Fset_window_point): If displaying cursors in windows
5435 other than the selected window, make sure redisplay updates
5436 other windows to show the new value of point in the window.
5437
5438 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5439
bfdb75ee
GM
5440 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5441 the buffer is the sole visible buffer when in the mini-buffer.
5442
52283633 5443 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5444 Bind `inhibit-read-only' to t.
5445 (unwind_with_echo_area_buffer): Use AREF.
5446
c0006262
GM
5447 * xfns.c (Fx_hide_tip): Simplified.
5448
52283633
SM
5449 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5450 instead of `1'.
e9a59cad 5451
ecf4d726
GM
5452 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5453
e5959a9a
GM
54542000-12-11 Gerd Moellmann <gerd@gnu.org>
5455
a3642e49 5456 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5457
44b5a125
GM
5458 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5459 nothing to do. Bind inhibit-quit.
5460 (tip_frame): Make it a Lisp_Object.
5461 (x_create_tip_frame): Set tip_frame after it has been added to
5462 Vframe_list.
5463 (Fx_show_tip): Don't set tip_frame here.
5464
5465 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5466
5467 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5468 Lisp_Object.
5469
5470 * dispextern.h: Change external declaration of tip_frame.
5471
d990421f
GM
5472 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5473 return an empty string.
5474
4db87380
GM
5475 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5476 of the window's update_mode_line flag, since the former is set by
5477 force-mode-line-update, not the latter. This makes
5478 column-number-mode slightly faster.
52283633 5479
e5959a9a
GM
5480 * xdisp.c (try_window_id) <all changes above window start>:
5481 Set the cursor.
5482
169fe44e
GM
54832000-12-11 Paul Eggert <eggert@twinsun.com>
5484
5485 * config.in (HAVE_FTELLO): Remove.
5486 (HAVE_FSEEKO): Add.
5487 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5488 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5489 HAVE_FTELLO.
5490 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5491 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5492
59ec59ae
MB
54932000-12-11 Miles Bader <miles@gnu.org>
5494
5495 * window.c (displayed_window_lines): Don't round up when
5496 converting empty space at bottom to lines.
ff904dd6
MB
5497 Handle non-newline-terminated final lines properly.
5498 (Fwindow_text_height): New function (used to be in lisp).
5499 (syms_of_window): Initialize it.
59ec59ae 5500
42ebfa31
SM
55012000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5502
5503 * syntax.c (scan_lists): Check that the right quote char has the
5504 right Sstring syntax when jumping over strings.
5505 (init_syntax_once): Use Smax rather than 13.
5506
5cdb3cf3
MB
55072000-12-09 Miles Bader <miles@gnu.org>
5508
5509 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5510 with PARTIALLY, inverting the sense.
5511 (window_scroll_pixel_based): Scroll partially visible lines into
5512 place if we hit the beginning or end of the buffer.
a12167c5
MB
5513 (displayed_window_lines): Don't include partially visible lines.
5514 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5515
842b2a94
GM
55162000-12-08 Gerd Moellmann <gerd@gnu.org>
5517
5518 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5519
5520 * tparam.c (tparam1): Change the way buffers are reallocated to be
5521 portable and less obfuscated.
5522
5523 * termcap.c (tgetent): Change the way buffers are reallocated to
5524 be portable and less obfuscated.
5525
5526 * macros.c (store_kbd_macro_char): Change the way buffers are
5527 reallocated to be portable and less obfuscated.
5528
5529 * lread.c (read1): Change the way buffers are reallocated to be
5530 portable and less obfuscated.
5531
5532 * doc.c (Fsubstitute_command_keys): Change the way buffers
5533 are reallocated so that it is portable.
5534
137cad7c
EZ
55352000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5536
5537 * dosfns.c (Ffile_system_info): New function.
5538 (syms_of_dosfns): Defsubr it.
5539
5c7f629c
SM
55402000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5541
5542 * alloc.c (gc_sweep): Add comment.
5543
959e647d
GM
55442000-12-07 Gerd Moellmann <gerd@gnu.org>
5545
52283633
SM
5546 * sound.c (vox_configure): Change order of ioctls.
5547 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5548 Ignore errors when changing volume.
5549 (vox_close): Don't reset the device.
5550
926b7e5e
GM
5551 * process.c (read_process_output): Make sure the process marker's
5552 position is valid when the process buffer is changed in
5553 after-change functions. W3 does that.
52283633 5554
959e647d
GM
5555 * xfns.c (x_free_gcs): New function.
5556
5557 * xterm.h (x_free_gcs): Add prototype.
5558
5559 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5560 freeing GCs here.
5561
5562 * xterm.c (x_destroy_window): Call x_free_gcs so that
5563 resources of non-toolkit X windows will be freed.
5564
478ea067
AI
55652000-12-07 Andrew Innes <andrewi@gnu.org>
5566
5567 * w32fns.c (xlfd_charset_of_font): Fix last change.
5568
fbee3231
DL
55692000-12-06 Dave Love <fx@gnu.org>
5570
67292061
DL
5571 * md5.h (__P): Don't define -- it comes from config.h.
5572
fbee3231
DL
5573 * strftime.c: Change some #if foo to #ifdef foo.
5574
4ee87dbb
AI
55752000-12-06 Andrew Innes <andrewi@gnu.org>
5576
5577 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5578
52283633 5579 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5580 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5581 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5582
9765b4a4
GM
55832000-12-06 Gerd Moellmann <gerd@gnu.org>
5584
d285b373
GM
5585 * alloc.c (gc_sweep): Prevent symbols read during loadup
5586 from being freed.
5587
384333ee
GM
5588 * xdisp.c (underlying_face_id): New function.
5589 (handle_face_prop, face_before_or_after_it_pos): Use it
5590 to determine the face ``under'' a string. Let strings inherit
5591 the face of the buffer under them.
5592
5593 * xfaces.c (face_at_string_position): Update function comment.
52283633 5594
d4b72d58
GM
5595 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5596 matrix if the window's left position has changed; we need to
5597 redraw it in this case.
5598
5599 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5600
e1d05387
GM
5601 * window.c (coordinates_in_window): Check mouse on mode-line or
5602 header-line first.
5603
eb1b0c74
GM
5604 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5605 advertized by the function documentation.
5606
d94d636f
GM
5607 * window.c (syms_of_window): Doc fix.
5608
3887b449
GM
5609 * sound.c (vox_configure): Set volume for left and right channel.
5610 (sound_cleanup): Return nil.
5611
efc8f57a
GM
5612 * xdisp.c (move_it_by_lines): Fix paren typo.
5613
9765b4a4
GM
5614 * xterm.c (x_load_font): Don't use the font's max_bounds for
5615 computing the height of the font. If max_bounds' ascent or
5616 descent are greater than the font's ascent or descent, this means
5617 glyphs overlap, which should be handled now by redisplay.
5618
6529ed87
GM
5619 * window.c (Veven_window_heights): New variable.
5620 (syms_of_window): DEFVAR_LISP it.
5621 (Fdisplay_buffer): Check Veven_window_heights before evening the
5622 window heights.
52283633 5623
0eb2ecde
MB
56242000-12-06 Miles Bader <miles@gnu.org>
5625
5626 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5627 update `default-frame-alist' instead of setting no frame parameters.
5628
03d7a167
KH
56292000-12-06 Kenichi Handa <handa@etl.go.jp>
5630
5631 * composite.c (update_compositions): Fix typo (use the correct
5632 variable).
5633
5f8803c2
JR
56342000-12-05 Jason Rumney <jasonr@gnu.org>
5635
5636 * md5.h: Remove underscores from function declarations.
5637 (__attribute__, __alignof__) [!__GNUC__]: Define.
5638
5639 * md5.c: Delay include of md5.h until after namespace cleaning.
5640
c28a075b
JR
5641 * makefile.w32-in (fns.o): Depend on md5.h
5642 (md5.o): New target.
5643 (sunfns.o): Remove.
5644
5645 * makefile.nt: Likewise.
5646
ff3c7056
JR
56472000-12-05 Jason Rumney <jasonr@altavista.net>
5648
5649 * w32term.c (expose_area): Complete last change.
5650
0c21eeeb
KR
56512000-12-05 Ken Raeburn <raeburn@gnu.org>
5652
5653 * minibuf.c: Include intervals.h.
5654
f201d732
JR
56552000-12-05 Jason Rumney <jasonr@gnu.org>
5656
5657 * w32term.c (x_produce_glyphs): If a font for a component of
5658 a composition is not found, use 1 pixel dot ascent and 0 dot
5659 descent value to avoid displaying terribly tall empty boxes.
5660 (expose_area): Pass x-coordinate relative to the exposed
5661 area to x_draw_glyphs instead of a window-relative coordinate.
5662
21999ab9
GM
56632000-12-05 Gerd Moellmann <gerd@gnu.org>
5664
4d2036e4
GM
5665 * xdisp.c (next_element_from_ellipsis): Save face before selective
5666 display in saved_face_id, and set face_before_selective_p.
5667 (reseat_1): Reset face_before_selective_p.
5668 (append_space, extend_face_to_end_of_line): If iterator's
5669 face_before_selective_p is set, use the face from saved_face_id.
5670 (extend_face_to_end_of_line): For tty frames, make sure to
5671 use the right face id when producing spaces at the end of
5672 the line.
5673
5674 * dispextern.h (struct it): Add face_before_selective_p.
5675
52be17cc
GM
5676 * keyboard.c (record_char): Don't record identical help-echo
5677 events in recent_keys.
5678
8a4f36cc
GM
5679 * xterm.c [USE_X_TOOLKIT]: Close the display.
5680 (xim_close_dpy): Handle case that the display has been closed.
5681
57d6e381
GM
5682 * xterm.c (x_destroy_window): Reset the frame's X window after
5683 destroying it.
5684
21999ab9
GM
5685 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5686 variable window_width.
5687 (line_draw_cost): Fix code skipping over spaces at the end of the
5688 line when must_write_spaces is not set.
5689 (scrolling_window): Fix code inserting runs in list of all runs.
5690
91372bb7
KH
56912000-12-05 Kenichi Handa <handa@etl.go.jp>
5692
5693 * coding.c (setup_coding_system): Be sure to initialize
5694 coding->category_idx.
5695
6c083b4c
GM
56962000-12-04 Gerd Moellmann <gerd@gnu.org>
5697
0c68ce6f 5698 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5699
6452929e
GM
5700 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5701 area to x_draw_glyphs instead of a window-relative coordinate.
5702
d7f31e22
GM
5703 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5704 error in the message.
5705
ae18aa3b
GM
5706 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5707 timer after having read a key. It's not good for code reading
5708 several keys in a loop, like an input method.
5709
caa15ef7
GM
5710 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5711 record undo information for format-decode.
5712
5713 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5714 current buffer is read-only, not if it isn't.
5715
6c083b4c
GM
5716 * keyboard.c (record_char): Record `help-echo' input events
5717 in recent_keys only if they display some help. Don't record
5718 `help-echo' events as macro char.
5719
caa15ef7
GM
57202000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5721
5722 * editfns.c (save_excursion_restore): Don't move point
5723 in another window if it is showing the wrong buffer.
5724 Avoid the call to Fwindow_live_p, for speed.
5725
5a13529b
KH
57262000-12-04 Kenichi Handa <handa@etl.go.jp>
5727
e225faa7
KH
5728 * xfaces.c (struct font_name): New member registry_priority.
5729 (split_font_name): Initialize the above member to zero.
5730 (concat_font_list): New function.
5731 (font_list): Include fonts of all alternative registries.
5732 (FONT_POINT_SIZE_QUANTUM): New macro.
5733 (better_font_p): Ignore point size difference less than
5734 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5735
e89648b4
KH
5736 * xterm.c (x_produce_glyphs): If a font for a component of
5737 a composition is not found, use 1 pixel dot ascent and 0 dot
5738 descent value to avoid displaying terribly tall empty boxes.
5739
5a13529b
KH
5740 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5741
d7935eb6
KR
57422000-12-03 Ken Raeburn <raeburn@gnu.org>
5743
5744 * coding.h (code_convert_string1): Declare.
5745
5746 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5747
52283633 5748 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5749
0dd5e255
JR
57502000-12-02 Jason Rumney <jasonr@gnu.org>
5751
5752 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5753 correctly for single byte character case.
5754 (w32_per_char_metric): Do not try to make any assumptions about
5755 the metrics of BDF fonts.
250cfece 5756 (x_estimate_mode_line_height): If `mode-line' face
52283633 5757 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5758 (note_mouse_highlight): Change the cursor shape on the vertical
5759 border between windows [not enabled].
5760
5761 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5762
5763 * w32fns.c (Fx_create_frame): Reintroduce the call to
5764 face-set-after-frame-defaults.
5765 (Vx_window_horizontal_drag_shape): New variable.
5766 (syms_of_xfns): DEFVAR_LISP it.
5767 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5768 enabled].
0dd5e255 5769
b5d8d2ca
GM
57702000-12-02 Simon Josefsson <simon@josefsson.org>
5771
5772 * fns.c (Fmd5): Use a different logic to decide the coding system
5773 to use.
5774
5775 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5776
fbb87147
EZ
57772000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5778
52283633 5779 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5780
447e9da0
GM
57812000-12-01 Gerd Moellmann <gerd@gnu.org>
5782
7708ced0
GM
5783 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5784 height for YNegative.
5785 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5786 height; also see comment there.
5787
447e9da0
GM
5788 * window.c (coordinates_in_window): Handle computations for
5789 positions on the vertical bar and fringes differently for
5790 window-system frames. Consider some pixels near the vertical bar
5791 as on the bar if the frame doesn't have vertical scroll bars.
5792 Associate positions between mode or header lines with the
5793 right window, the left one.
5794
86d1db20
JR
57952000-12-01 Jason Rumney <jasonr@gnu.org>
5796
5797 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5798
5799 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
5800 invalid frame.
5801
a1d58e5b
GM
58022000-12-01 Gerd Moellmann <gerd@gnu.org>
5803
52283633 5804 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
5805 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
5806 (save_window_save, Fset_window_configuration): Save/restore
5807 window's orig_top and orig_height.
5808
89c609af
JR
58092000-12-01 Jason Rumney <jasonr@gnu.org>
5810
4d177746 5811 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 5812
89c609af
JR
5813 * w32fns.c (x_set_cursor_color): Fix last change.
5814
eccc05db
GM
58152000-11-30 Gerd Moellmann <gerd@gnu.org>
5816
31b6671b
GM
5817 * xdisp.c (echo_area_display): If cursor is in the echo area, make
5818 sure that the next redisplay displays the minibuffer, so that
5819 the cursor will be replaced with what the minibuffer wants.
5820
eccc05db
GM
5821 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
5822 #ifndef instead of using #if.
5823 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
5824 USE_TOOLKIT_SCROLL_BARS is defined.
5825
162de750
JR
58262000-11-30 Jason Rumney <jasonr@gnu.org>
5827
5828 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
5829 x_display_cursor.
5830
693c4692
GM
58312000-11-30 Gerd Moellmann <gerd@gnu.org>
5832
5833 * fns.c (Fmd5): Doc fix.
5834
b5d8d2ca 58352000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
5836
5837 * fns.c (Fmd5): New function.
5838 (syms_of_fns): Defsubr md5.
5839
5840 * Makefile.in (obj): Add md5.o
5841
b02cd40b
GM
58422000-11-30 Gerd Moellmann <gerd@gnu.org>
5843
edfb795e
GM
5844 * md5.h, md5.c: New files, taken from glibc.
5845
df3aedcf
GM
5846 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5847
b02cd40b 5848 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 5849 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 5850
8b5176cd
SM
58512000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5852
5853 * eval.c (Frun_hooks): Allow 0 arguments.
5854
346598f1
GM
58552000-11-29 Gerd Moellmann <gerd@gnu.org>
5856
f9396e03
GM
5857 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5858 is over the menu bar widget, say it's not on the frame.
5859
4a967a9b
GM
5860 * xfns.c (Fx_create_frame): Reintroduce the call to
5861 face-set-after-frame-defaults.
5862
346598f1
GM
5863 * eval.c (Fsignal): Reset handling_signal.
5864
222456a1
JR
58652000-11-28 Jason Rumney <jasonr@gnu.org>
5866
5867 * w32menu.c (add_menu_item): Reset menu item text when changing
5868 type to radio button.
5869
8049ddc0
GM
58702000-11-28 Gerd Moellmann <gerd@gnu.org>
5871
346598f1 5872 * xselect.c: Update copyright.
f4f4ee4d 5873
bebe4a2c
GM
5874 * window.c (coordinates_in_window): If on a mode or header line,
5875 but sufficiently close to its start, return ``on vertical
5876 border''. This gives us a way to drag windows horizontally when
5877 using toolkit scroll bars.
5878
5879 * xterm.c (note_mouse_highlight): Change the cursor shape
5880 on the vertical border between windows.
5881
5882 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5883
5884 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5885 (syms_of_xfns): DEFVAR_LISP it.
5886 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5887
8d2c2642
GM
5888 * textprop.c (text_read_only): New function.
5889 (verify_interval_modification): Use it instead of signaling
5890 `text-read-only'. This makes it easier to catch this error
52283633 5891 with a breakpoint.:
8d2c2642 5892
52283633 5893 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
5894 not end of line, which includes CR.
5895
5a2bae6c
KH
58962000-11-28 Kenichi Handa <handa@etl.go.jp>
5897
5898 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5899 include no-conversion.
5900
ae31f84d
JR
59012000-11-27 Jason Rumney <jasonr@gnu.org>
5902
5903 * w32fns.c (w32_load_system_font): Always mark font as double byte
5904 if codepage is unicode.
5905
67f1cf4c
GM
59062000-11-27 Gerd Moellmann <gerd@gnu.org>
5907
4a74d071 5908 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5909 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5910
902ae620
GM
5911 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5912 `vertical-line', `mode-line' and `header-line' events.
5913
5914 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5915 of a character, a TAB for instance. This is easier than to set
5916 up the iterator exactly, and it's not a frequent case, so the
5917 additional effort wouldn't really pay off.
5918
c1e279c2
AC
59192000-11-26 Andrew Choi <akochoi@i-cable.com>
5920
67f1cf4c 5921 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5922 init_window_once.
5923
a609568a
JR
59242000-11-25 Jason Rumney <jasonr@gnu.org>
5925
52283633
SM
5926 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5927 Args to window_from_coordinates should be pixel coordinates.
48b21762 5928
a609568a
JR
5929 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5930 redisplay handles them properly.
5931
a658d039
MB
59322000-11-25 Miles Bader <miles@gnu.org>
5933
5934 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5935
d3416cca
JR
59362000-11-24 Jason Rumney <jasonr@gnu.org>
5937
5938 * w32.c (init_environment): Set LANG environment variable based on
5939 locale settings, if not set.
5940
5941 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5942 making tool bar smaller. When clearing the frame, also
5943 clear current matrices. Clear frame when tool bar disappears.
5944 Don't use more lines for the tool-bar than is available.
5945 (x_change_window_heights): New function.
5946
ba193890
GM
59472000-11-24 Gerd Moellmann <gerd@gnu.org>
5948
2be8f184
GM
5949 * xdisp.c (init_from_display_pos): If POS says we're already after
5950 an overlay string ending at POS, make sure to pop the iterator
5951 because it will be in front of that overlay string. When POS is
5952 ZV, we've thereby also ``processed'' overlay strings at ZV.
5953
ba193890
GM
5954 * xfaces.c (lface_from_face_name): Function comment fix.
5955
1862a24e
MB
59562000-11-24 Miles Bader <miles@gnu.org>
5957
5958 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5959 apply `mode-line-inverse-video' -- zero means force display using
5960 the default face, non-zero means display using the specialized face.
5961 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5962
f07fa1b8
KH
59632000-11-23 Kenichi Handa <handa@etl.go.jp>
5964
5965 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5966 hard coded `4'.
5967
2bcdf662
EZ
59682000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5969
5970 * coding.c (decode_coding_emacs_mule): Fix the case of
5971 CODING_EOL_LF, which used uninitialized value of c.
5972
ba8299ff
SM
59732000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5974
5975 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5976
f4117c4d
GM
59772000-11-22 Gerd Moellmann <gerd@gnu.org>
5978
03e757c1
GM
5979 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5980 buffer object.
5981
f4117c4d
GM
5982 * frame.h (struct frame): Replace desired_tool_bar_items,
5983 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 5984 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
5985
5986 * frame.c (make_frame): Change initialization of tool bar
5987 items accordingly.
5988
5989 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 5990 Change references to members deleted from struct frame to use the
f4117c4d
GM
5991 new ones.
5992
5993 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 5994 references to members deleted from struct frame to use the new ones.
f4117c4d 5995
52283633 5996 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
5997
5998 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
5999
6000 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6001 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6002 from struct frame to use the new ones.
6003
f8e2f3f2
MB
60042000-11-23 Miles Bader <miles@gnu.org>
6005
6006 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6007 the face's inverse-video attribute, rather than overriding it.
6008
60e8e0a5
GM
60092000-11-22 Gerd Moellmann <gerd@gnu.org>
6010
6011 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6012 making tool bar smaller.
6013
92dd1b29
DL
60142000-11-22 Dave Love <fx@gnu.org>
6015
6016 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6017
e672fdce
MB
60182000-11-22 Miles Bader <miles@gnu.org>
6019
3a17d6cc
MB
6020 * keyboard.c (Vminibuffer_message_timeout): New variable.
6021 (command_loop_1): Use it to determine message timeout.
6022 (syms_of_keyboard): Initialize it.
6023
60e8e0a5 6024 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6025
e9655d81
KH
60262000-11-22 Kenichi Handa <handa@etl.go.jp>
6027
6028 * sysdep.c: Move the code for declaring h_errno after #include
6029 <netdb.h>.
6030
77270fac
GM
60312000-11-21 Gerd Moellmann <gerd@gnu.org>
6032
cd913aae
GM
6033 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6034 the menu bar when the tooltip is unmapped.
6035
77270fac
GM
6036 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6037 sole visible buffer when we're currently in the mini-buffer, and
6038 give up if so.
52283633 6039
556635d6
JR
60402000-11-21 Jason Rumney <jasonr@gnu.org>
6041
6042 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6043 put on the clipboard.
6044 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6045 copy of what Emacs last put there. If they are the same, do not
52283633 6046 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6047
5b7bde64
MB
60482000-11-22 Miles Bader <miles@gnu.org>
6049
6050 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6051 (syms_of_minibuf): Initialize it.
6052 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6053 to prompt, don't make read-only.
6054
ff23e1dd
GM
60552000-11-21 Gerd Moellmann <gerd@gnu.org>
6056
52283633
SM
6057 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6058 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6059
7aaf4388
GM
6060 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6061
f5f47add 6062 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6063
ff23e1dd
GM
6064 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6065
37c35586
KH
60662000-11-21 Kenichi Handa <handa@etl.go.jp>
6067
6068 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6069 ... #endif scope.
6070
ff9ab414
GM
60712000-11-20 Gerd Moellmann <gerd@gnu.org>
6072
52283633 6073 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6074 screen supports it.
6075
29a01b72
GM
6076 * s/gnu-linux.h: Don't use `#cpu'.
6077
09dfdf85
GM
6078 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6079 not defined in mman.h.
6080
52283633 6081 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6082 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6083 and store an index in the XClientMessageEvent. Storing a
6084 Lisp_Object or pointer can fail on a 64 bit system, since X only
6085 transfers 32 bits.
52283633
SM
6086 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6087
81459ac9
DL
60882000-11-20 Dave Love <fx@gnu.org>
6089
6090 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6091
56c13ae6
GM
60922000-11-20 Gerd Moellmann <gerd@gnu.org>
6093
6094 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6095
495a6df3
KH
60962000-11-20 Kenichi Handa <handa@etl.go.jp>
6097
2bcf3714
KH
6098 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6099 by WIDTH.
6100
495a6df3
KH
6101 * alloc.c (make_string): Fix previous change. Be sure to make
6102 unibyte string correctly.
6103
6d950f4c
GM
61042000-11-19 Gerd Moellmann <gerd@gnu.org>
6105
39b39373
GM
6106 * window.c (Fwindow_list): Change parameter list to be XEmacs
6107 compatible.
6108 (window_list_1): New function.
6109 (window_loop): Use it instead of Fwindow_list.
6110
b95b34e5
GM
6111 * sysdep.c (emacs_ospeed): New variable.
6112 (toplevel): Don't declare ospeed extern.
6113 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6114
6115 * termcap.c (ospeed): Remove.
6116 (tputs) [!emacs]: Remove unused code.
6117 (tgetent): Avoid a compiler warning.
6118
e83dc917
GM
6119 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6120 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6121 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6122
6123 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6124 removed.
6125 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6126 Take the X display as additional argument.
6127 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6128 `Widget' is a pointer type that's not easily stored in Lisp_Object
6129 form in a portable way.
52283633 6130
6d950f4c
GM
6131 * dispnew.c (update_text_area): Fix last change.
6132
e47306e6
GM
61332000-11-18 Gerd Moellmann <gerd@gnu.org>
6134
fb3cd89b
GM
6135 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6136
6137 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6138 clear current matrices.
6139
edaa9aed
GM
6140 * buffer.c (mmap_enlarge): Don't print a message on stderr
6141 if mapping new memory at the end of the existing region fails.
6142
e47306e6
GM
6143 * dispnew.c (update_text_area): Don't skip over equal glyphs
6144 when the last current glyph overlaps the glyph to its right.
6145
509633e3
MB
61462000-11-18 Miles Bader <miles@gnu.org>
6147
6148 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6149 lines that *end* with "..." too (that's the most common case!).
6150
d392e9c5
GM
61512000-11-18 Gerd Moellmann <gerd@gnu.org>
6152
67988445
GM
6153 * xdisp.c (resize_mini_window): Temporarily change to the
6154 mini-window's buffer if necessary.
1bfdbe43 6155
d392e9c5
GM
6156 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6157 the tooltip obscures less text under it.
6158
61592000-11-17 Gerd Moellmann <gerd@gnu.org>
6160
6161 * puresize.h (BASE_PURESIZE): Increase to 700000.
6162
92bb977f
JR
61632000-11-18 Jason Rumney <jasonr@gnu.org>
6164
6165 * w32term.c (w32_draw_bitmap): Use face to set colors.
6166
26fbf20b
DL
61672000-11-17 Dave Love <fx@gnu.org>
6168
6169 * lread.c (Fload): Fix #ifdef for pcc.
6170
100b593b
GM
61712000-11-17 Gerd Moellmann <gerd@gnu.org>
6172
6173 * xdisp.c (pos_visible_p): Compute the default character height
6174 differently.
6175
a288d0d1
GM
61762000-11-16 Gerd Moellmann <gerd@gnu.org>
6177
cac94de6 6178 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6179 knowing the line's height; use the default font's height in that case.
cac94de6 6180
a288d0d1
GM
6181 * xfaces.c (weight_table): Add `demi' with the same meaning as
6182 `demibold'.
6183
981fb6f6
KH
61842000-11-16 Kenichi Handa <handa@etl.go.jp>
6185
2cca872d 6186 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6187 (clear_glyph_row): Delete local static variable null_row.
6188
e5fa381b
JR
61892000-11-15 Jason Rumney <jasonr@gnu.org>
6190
6191 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6192 (w32_alloc_lighter_color): Use new brightness calculations from
6193 xterm.c. Scale delta to be in the range expected by W32.
6194 (w32_draw_relief_rect): Use frame relief colors.
6195
8e42f043
GM
61962000-11-15 Gerd Moellmann <gerd@gnu.org>
6197
6d133d1f
GM
6198 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6199 (Qinhibit_default_face_x_resources): New variable.
6200 (syms_of_frame): Initialize it.
6201 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6202
6203 * xdisp.c (pos_visible_p): Improve function comment.
6204
6205 * lisp.h (BINDING_STACK_SIZE): New macro.
6206
8e42f043
GM
6207 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6208 reading the directory if readdir returns null and errno is EAGAIN
6209 or EINTR.
6210
e8c87124
SM
62112000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6212
6213 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6214 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6215 Set amount_to_scroll to max of dx and scroll_step so that
6216 scroll-conservatively doesn't defeat scroll-step>1.
6217 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6218 scroll-conservatively for line-at-a-time scrolling.
6219
5f0c971d
GM
62202000-11-14 Gerd Moellmann <gerd@gnu.org>
6221
6222 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6223 extra argument.
6224
6225 * xdisp.c (current_mode_line_height, current_header_line_height):
6226 New variables.
6227 (init_xdisp): Initialize them.
6228 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6229 and use exact mode line heights if it is set.
6230
6231 * lisp.h (pos_visible_p): Change prototype.
6232
6233 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6234 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6235 and current_header_line_height first.
52283633
SM
6236 (current_mode_line_height, current_header_line_height):
6237 Declare extern.
5f0c971d 6238
d7361edf
MB
62392000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6240
6241 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6242 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6243 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6244
ee5e440a
MB
62452000-11-14 Miles Bader <miles@gnu.org>
6246
6247 * xterm.c (x_alloc_lighter_color): Include an additive component
6248 too for dark colors, because FACTOR isn't enough.
6249 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6250 New macros.
6251
5ca020fc
GM
62522000-11-13 Gerd Moellmann <gerd@gnu.org>
6253
6254 * keyboard.c (show_help_echo): Call message3_nolog with number of
6255 bytes in the help string as 2nd parameter, instead of the number
6256 of characters.
6257
9d348294
MB
62582000-11-13 Miles Bader <miles@gnu.org>
6259
6260 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6261 (Fload): Use new openp return protocol.
6262 Don't try to use Vload_source_file_function to load .elc files.
6263 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6264 openp return protocol.
6265 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6266
1729bb9a
KH
62672000-11-11 Kenichi Handa <handa@etl.go.jp>
6268
4e677396
KH
6269 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6270
6271 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6272 Defined these macros.
6273 (NLIST_STRUCT): Avoid re-defining it.
6274
1729bb9a
KH
6275 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6276 -I/usr/contrib/X11R6/include.
6277 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6278
a82fe213
JR
62792000-11-10 Jason Rumney <jasonr@gnu.org>
6280
6281 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6282
6283 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6284 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6285
6286 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6287 (Qw32_charset_vietnamese): New symbol.
6288 (xlfd_charset_of_font): New function.
6289 (w32_load_system_font): Use it.
6290 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6291 when Vw32_charset_info_alist is nil to ensure default face always
6292 has font. Use Fcar and Fcdr for safety.
6293 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6294 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6295 pseudo-codepages for special cases.
6296 (w32_to_x_font): New parameter to allow charset portion to be
6297 specified where there is many to one mapping. Callers changed.
6298 (w32_list_fonts): Avoid listing fonts that won't display.
6299
52d89894
GM
63002000-11-10 Gerd Moellmann <gerd@gnu.org>
6301
6302 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6303 (font_list_1): Renamed from font_list.
6304 (font_list): New function, trying alternative registries from
6305 Vface_alternative_font_registry_alist.
6306 (Finternal_set_alternative_font_registry_alist): New function.
6307 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6308 Vface_alternative_font_registry_alist.
6309 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6310
651cd3da
KR
63112000-11-09 Ken Raeburn <raeburn@gnu.org>
6312
6313 * lisp.h (Flooking_at): Declare.
6314
388ac098
GM
63152000-11-09 Gerd Moellmann <gerd@gnu.org>
6316
778fbc46 6317 * dired.c (directory_files_internal): Fix a braino.
52283633 6318
388ac098
GM
6319 * dired.c (directory_files_internal): Add missing GCPRO's.
6320 Some cleanup.
6321
ecaedde1
GM
63222000-11-08 Gerd Moellmann <gerd@gnu.org>
6323
f7eb32aa
GM
6324 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6325 (resize_mini_window): Return quickly if Vresize_mini_window is
6326 nil. Don't return if Vmax_mini_window_height is nil.
6327
6328 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6329 (syms_of_xdisp): Initialize them.
6330 (resize_mini_window): Act according to the setting of
6331 Vresize_mini_window.
6332 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6333
ecaedde1
GM
6334 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6335 scroll bar widget after configuring it, so that it will appear at
6336 the right position from the start.
6337 (XTredeem_scroll_bar): Cleaned up.
6338
3747ef2c
KH
63392000-11-08 Kenichi Handa <handa@etl.go.jp>
6340
6341 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6342 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6343 division by two.
6344
6345 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6346
03391420
DL
63472000-11-07 Dave Love <fx@gnu.org>
6348
7758f1c1 6349 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6350
6351 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6352
b5de343d
GM
63532000-11-07 Gerd Moellmann <gerd@gnu.org>
6354
acad3c0b
GM
6355 * window.c (Fset_window_configuration): Don't try to preserve
6356 point in the current buffer, if that buffer is displayed in more
6357 than one window.
6358
b5de343d
GM
6359 * xfaces.c (lookup_named_face): If default face isn't realized,
6360 try to realize it. Return -1 if not successful.
6361 (Fx_list_fonts): Handle case that face cannot be determined.
6362 (Fface_font): Likewise.
6363
cdb1fe49
GM
63642000-11-06 Gerd Moellmann <gerd@gnu.org>
6365
6366 * window.c (displayed_window_lines): Detect partially
6367 visible lines at the bottom correctly.
6368
d3a67486
SM
63692000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6370
6371 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6372 when ensuring we don't do visit in indirect buffer.
6373
ff8dd5d5
KH
63742000-11-06 Kenichi Handa <handa@etl.go.jp>
6375
6376 * composite.h (compose_chars_in_text): Add prototype.
6377
6378 * composite.c (Vcomposition_function_table): New variable.
6379 (Qcomposition_function_table): New variable.
6380 (run_composition_function): Call
6381 Vcompose_chars_after_function with three arguments.
6382 (compose_chars_in_text): New function.
6383 (syms_of_composite): Modified the doc-string of
6384 Vcompose_chars_after_function. Declare composition-function-table
6385 as a lisp variable, and initialize it.
6386
6387 * xfns.c (x_encode_text): Suppress producing escape sequences for
6388 composition.
6389
6390 * xselect.c: Include composite.h.
6391 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6392
d1145f85
AI
63932000-11-05 Andrew Innes <andrewi@gnu.org>
6394
6395 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6396
6397 * sysdep.c (read_input_waiting): Remove extraneous argument to
6398 read_socket_hook.
6399
6400 * w32fns.c (Fx_server_version): Include w32_build_number in the
6401 return list.
6402
6403 * w32heap.c (w32_build_number): New variable.
6404 (cache_system_info): Set it.
6405
6406 * w32heap.h (w32_build_number): Add extern.
6407
6408 * emacs.c (syms_of_emacs): Update docstring for
6409 system-configuration, to reflect the actual usage on MS-Windows.
6410
e85ee976
GM
64112000-10-31 Gerd Moellmann <gerd@gnu.org>
6412
26dcb81b
GM
6413 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6414 process idle timers while waiting for another event.
6415
52283633 6416 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6417 the default face are colored.
6418
e85ee976
GM
6419 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6420 window height hasn't changed.
6421
01b220b6
JR
64222000-10-31 Jason Rumney <jasonr@gnu.org>
6423
6424 * w32term.c (x_produce_glyphs): Handle composite characters.
6425 (x_draw_glyph_string_foreground)
6426 (x_draw_composite_glyph_string_foreground): Restore old font.
6427
4e6b7204
MB
64282000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6429
6430 * minibuf.c (read_minibuf): Reset the undo history just before
6431 starting the recursive-edit.
6432
d4358b37
GM
64332000-10-30 Gerd Moellmann <gerd@gnu.org>
6434
563f68f1
GM
6435 * xfaces.c (menu_face_change_count): New variable.
6436 (Finternal_set_lisp_face_attribute): Increment it for changes
6437 of the `menu' face.
6438 (realize_basic_faces): Reflect changes in the `menu' faces
6439 in menu bars.
6440
82e274d1
GM
6441 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6442 dy obtained from the iterator's y-position after moving from
6443 scroll_margin_pos to PT; see comment there.
52283633 6444
0dbf9fd2
GM
6445 * xdisp.c (safe_eval_handler): Call add_to_log.
6446
906b3b14
GM
6447 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6448 is not a symbol or string.
6449
d4358b37
GM
6450 * xdisp.c (echo_area_display): Don't perform a display update from
6451 inside redisplay. The update will happen anyway at the end of
6452 redisplay, and it can confuse redisplay (GC messages while
6453 redisplaying, for instance.)
6454
70c825df
SM
64552000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6456
cf9b4b0b
SM
6457 * xrdb.c (x_load_resources): Use the class name in the defaults.
6458
70c825df
SM
6459 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6460 (regex_compile): Catch bogus \(\1\).
6461
a1d34b1e
GM
64622000-10-30 Gerd Moellmann <gerd@gnu.org>
6463
cae71efe
GM
6464 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6465 RGB values.
52283633 6466
35efe0a1
GM
6467 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6468 we have a color cache, check that the cached color equals the
6469 allocated color. If not, clear the color cache.
6470
1d3baf74
GM
6471 * window.c (displayed_window_lines): Change buffers if necessary.
6472 Fix computation of displayed lines.
6473
a1d34b1e
GM
6474 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6475 update_menu_bindings to DEFVAR_BOOL.
6476
70737ea9
KH
64772000-10-30 Kenichi Handa <handa@etl.go.jp>
6478
70c825df 6479 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6480
fa0cb51d
KH
6481 * puresize.h (BASE_PURESIZE): Increase to 680000.
6482
70737ea9
KH
6483 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6484
0e4c08e8
JR
64852000-10-29 Jason Rumney <jasonr@gnu.org>
6486
6487 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6488
6489 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6490 (w32_cache_char_metrics): Handle possibility that 'x' does not
6491 exist in a BDF font.
6492 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6493
6494 * w32bdf.h (bdffont): Add nchars.
6495
6496 * w32bdf.c (set_bdf_font_info): Set it.
6497 (w32_BDF_TextOut): Swap byte order of double byte characters.
6498 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6499
45b84006
EZ
65002000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6501
6502 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6503 don't override the colors in frame's param_alist, unless they are
6504 unspecified.
6505
6506 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6507 reverse the effect of the highlight flag.
6508
caf9deee
KR
65092000-10-27 Ken Raeburn <raeburn@gnu.org>
6510
6511 * window.h (Fwindow_live_p): Declare.
6512
ae0b9b46
KR
6513 * undo.c (record_delete): Check that last_undo_buffer is really a
6514 buffer before applying XBUFFER to it.
6515
6516 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6517 Faref.
6518
02067692
SM
65192000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6520
6521 * lisp.h (KEYMAPP): New macro.
6522 (get_keymap): Remove.
6523 (get_keymap_1): Rename get_keymap.
6524
6525 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6526
6527 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6528
6529 * xmenu.c (single_submenu): Use KEYMAPP.
6530 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6531 Use KEYMAPP rather than Fkeymapp.
6532
6533 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6534
6535 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6536 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6537 Use KEYMAPP rather than Fkeymapp.
6538 (single_submenu): Use KEYMAPP.
6539 (w32_menu_show, w32_dialog_show): Use TRUE.
6540
6541 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6542
6543 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6544 (Fkeymapp): Use KEYMAPP.
6545 (get_keymap): Rename from get_keymap_1. Remove old def.
6546 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6547 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6548 (Fminor_mode_key_binding): Don't raise an error if the binding
6549 is not a keymap.
6550 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6551 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6552
6553 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6554 Allow Vspecial_event_map to be autoloaded.
6555 (menu_bar_items): Fetch the keymap rather than using keymapp.
6556 (menu_bar_one_keymap): No need to follow func-indirect any more.
6557 (parse_menu_item): get_keymap_1 -> get_keymap.
6558 (tool_bar_items): Fetch the keymap rather than using keymapp.
6559 (read_key_sequence): Use KEYMAPP.
6560
6561 * intervals.c (get_local_map): Use get_keymap rather than following
6562 function-indirections explicitly.
6563
6564 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6565
f9d80af3
JR
65662000-10-27 Jason Rumney <jasonr@gnu.org>
6567
6568 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6569 point, as Windows has oversized fonts.
6570
6571 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6572
a3ba27da
GM
65732000-10-27 Gerd Moellmann <gerd@gnu.org>
6574
6575 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6576 (freehook, reallochook): Handle null pointer arguments.
6577 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6578
aa3b80cc
SM
65792000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6580
6581 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6582 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6583 Giving in to popular pressure to shut up the compiler with casts.
6584
e24e84cc
GM
65852000-10-27 Gerd Moellmann <gerd@gnu.org>
6586
6587 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6588 signed value, and use a default value computed from the font's
6589 maximum descent.
6590
05ea7ef2
MB
65912000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6592
6593 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6594 that specify a negative underline position can still use underlines.
6595
6596 * window.c (Fpos_visible_in_window_p): Make POS default to
6597 WINDOW's point, not the current buffer's point.
6598
0b95284b
DL
65992000-10-26 Dave Love <fx@gnu.org>
6600
6601 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6602 when it's necessary.
6603
6c5b90af
GM
66042000-10-26 Gerd Moellmann <gerd@gnu.org>
6605
8b6d9dc9
GM
6606 * window.c (size_window): Compute size difference from sum of old
6607 child window sizes instead of from parent's size.
6608
6bc92b2e
GM
6609 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6610 Handle obscured lines at the top of the window.
6611
6612 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6613 down after the last error condition check.
6614
6c5b90af
GM
6615 * frame.c (Fdelete_frame): Run delete-frame-hook.
6616
42f92d4d
KH
66172000-10-26 Kenichi Handa <handa@etl.go.jp>
6618
6619 * coding.c (decode_coding): Fix previous change (check also
6620 CODING_MODE_LAST_BLOCK).
6621
d97151cb
SM
66222000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6623
e7efc503
SM
6624 * regex.c: More `unsigned char' -> `re_char' changes.
6625 Also change several `int' into `re_wchar_t'.
6626 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6627 (PUSH_FAILURE_POINTER): Don't cast any more.
6628 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6629 We want GCC to complain, since this piece of code makes
6630 re_match non-reentrant, which *should* be fixed.
6631 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6632 (EXTEND_BUFFER): Use RETALLOC.
6633 (SET_LIST_BIT): Don't cast.
6634 (re_wchar_t): New type.
6635 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6636 that those two functions will always properly return.
6637 (IMMEDIATE_QUIT_CHECK): Cast to void.
6638 (analyse_first): Use recursion rather than an explicit stack.
6639 (re_compile_fastmap): Can't fail anymore.
6640 (re_search_2): Don't check re_compile_fastmap for failure.
6641 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6642 Now also sets the new value (passed in a new argument).
6643 (re_match_2_internal): Use it.
6644 Also, use a new var `reg' of type size_t when looping through regs
6645 rather than reuse the inappropriate `mcnt'.
6646
d97151cb
SM
6647 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6648 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6649 (where_is_internal): Renamed from Fwhere_is_internal.
6650 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6651 (Fwhere_is_internal): New function wrapping where_is_internal.
6652 (where_is_internal_1): Handle the case where we're filling the cache.
6653 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6654
d5789b65
MB
66552000-10-25 Miles Bader <miles@gnu.org>
6656
6657 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6658
4ecda532
GM
66592000-10-25 Gerd Moellmann <gerd@gnu.org>
6660
6661 * window.c (pos_fully_visible_p): Removed.
6662 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6663 if position is visible and/or fully visible.
6664
6665 * lisp.h (pos_visible_p): Add prototype.
6666
6667 * xdisp.c (pos_visible_p): New function.
6668
68c3a137
KH
66692000-10-25 Kenichi Handa <handa@etl.go.jp>
6670
6671 * process.c (send_process): If OBJECT is t, it means that the data
6672 is from C string, but we should encode it. Before calling
6673 setup_raw_text_coding_system, be sure to flush out data by the
6674 previous coding system.
6675
7ae1c032
MB
66762000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6677
ff4dcd4b
MB
6678 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6679 assignment of startpos to prev when startpos == pos.
6680
7ae1c032
MB
6681 * editfns.c (find_field): Set the field stickiness correctly from
6682 overlay fields. Use renamed `text_property_stickiness'.
6683 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6684 Only check text properties, not overlays.
7ae1c032
MB
6685 * textprop.c (get_char_property_and_overlay): New function.
6686 (Fget_char_property): Use it.
6687 * intervals.h (get_char_property_and_overlay): Add declaration.
6688
49801145
SM
66892000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6690
6691 * keymap.c: Use AREF, ASET and ASIZE macros.
6692 (Fmake_sparse_keymap): Docstring fix.
6693 (synkey): Remove.
6694 (shadow_lookup): Move up.
6695 Handle the case where lookup-key returns an integer.
6696 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6697 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6698 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6699 Simplify/rewrite the keymap-finding code.
6700 Add check for command shadowing, using shadow_lookup.
6701
39e776cd
SM
67022000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6703
6704 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6705 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6706 a symbol.
6707
2488aba5
AI
67082000-10-24 Andrew Innes <andrewi@gnu.org>
6709
6710 * dired.c (directory_files_internal_unwind): New function.
6711 (directory_files_internal): Use it to ensure closedir is called
6712 even if expand-file-name or file-attributes throw, eg. because of
6713 a user interrupt. Also enable immediate_quit while calling
6714 re_search, so that matching can be interrupted as well.
6715
b94fdf61
AI
67162000-10-24 Andrew Innes <andrewi@gnu.org>
6717
6718 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6719 NT-Emacs only.
6720 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6721 so that re_search functions only quit when callers expect them to.
6722
67232000-10-24 Kenichi Handa <handa@etl.go.jp>
6724
6725 * regex.c (regex_compile): Change the way of handling a range from
6726 a char less than 256 to a char not less than 256.
6727
1946f901
GM
67282000-10-24 Gerd Moellmann <gerd@gnu.org>
6729
7ae2f10f
GM
6730 * window.c (size_window): Prevent setting window's width or
6731 height to a negative value (esp. with XSETFASTINT).
6732
5dcab13e
GM
6733 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6734 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6735 (protect_malloc_state) [GC_MALLOC_CHECK &&
6736 GC_PROTECT_MALLOC_STATE]: New function.
6737 (PROTECT_MALLOC_STATE): New macro.
6738 (__malloc_initialize, morecore, _malloc_internal)
6739 (_free_internal) _realloc_internal): Use it to make _heapinfo
6740 read-only outside of gmalloc.
6741
63e1b552
GM
6742 * keymap.c: Update copyright.
6743
1946f901
GM
6744 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6745 a symbol.
6746
4fa09beb
GM
67472000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6748
6749 * filelock.c (unlock_all_files): Use unlock_file to expand each
6750 buffer's file_truename before trying remove its lock file.
6751
23afac01
EZ
67522000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6753
6754 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6755 or CRLF, decode EOLs.
6756
04448b95
KH
67572000-10-24 Kenichi Handa <handa@etl.go.jp>
6758
6759 * window.c (Fdisplay_buffer): Fix doc.
6760
3090a5a5
JR
67612000-10-23 Jason Rumney <jasonr@gnu.org>
6762
6763 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6764 ASCII font of default fontset on Windows.
6765
6766 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6767 xterm.c comment below).
6768
6769 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6770
a83fee2c
GM
67712000-10-23 Gerd Moellmann <gerd@gnu.org>
6772
6773 * xterm.c (x_connection_closed): Reset handling_signal.
6774
52283633 6775 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6776
6ffdb539
MB
67772000-10-23 Miles Bader <miles@gnu.org>
6778
6779 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6780 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6781 maintain old behavior.
6782 * minibuf.c (Fminibuffer_complete): Likewise.
6783
7f1c969b
MB
67842000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6785
6786 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6787 that when a font can't be exactly centered, it errs up rather than
6788 down.
6789
23afac01 67902000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 6791
52283633 6792 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 6793
1a578e9b
AC
67942000-10-23 Andrew Choi <akochoi@i-cable.com>
6795
6796 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6797
6798 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 6799 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
6800
6801 * emacs.c (main) [macintosh]: Call syms_of_textprop,
6802 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
6803 syms_of_search, x_term_init, and init_keyboard before calling
6804 init_window_once. Also, call syms_of_xmenu.
6805
6806 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
6807 default fontset to Monaco.
6808
6809 * frame.c [macintosh]: Include macterm.h. Remove declarations of
6810 NewMacWindow and DisposeMacWindow.
6811 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
6812 instead of calling NewMacWindow and setting fields of
6813 f->output_data.mac directly. Call init_frame_faces.
6814 (Fdelete_frame) [macintosh]: Remove unused code.
6815 (Fmodify_frame_parameters) [macintosh]: Call
6816 x_set_frame_parameters instead of mac_set_frame_parameters.
6817
6818 * frame.h [macintosh]: Define menu_bar_lines field in struct
6819 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
6820
6821 * keyboard.c [macintosh]: Include macterm.h.
6822 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
6823 and menu_bar_activate_event type events as for X and NT.
6824 (make_lispy_event) [macintosh]: Construct lisp events of type
6825 MENU_BAR_EVENT as for X and NT.
6826
6827 * sysdep.c [macintosh]: Remove declaration for sys_signal.
6828 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
6829 (sys_subshell) [macintosh]: Remove definition entirely.
6830 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
6831 Vwindow_system_version here. Remove initialization of
6832 Vx_bitmap_file_path.
6833 (read_input_waiting): Correct the number of parameters passed to
6834 read_socket_hook.
6835 Move all Macintosh functions to mac/mac.c.
6836
6837 * term.c [macintosh]: Include macterm.h.
6838
6839 * window.c [macintosh]: Include macterm.h.
6840
6841 * xdisp.c [macintosh]: Include macterm.h. Declare
6842 set_frame_menubar and pending_menu_activation.
6843 (echo_area_display) [macintosh]: Do not return if terminal frame
6844 is the selected frame.
6845 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
6846 Allow only the selected frame to set menu bar.
6847 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6848 calling FRAME_EXTERNAL_MENU_BAR (f).
6849 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6850
6851 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6852 and check_x. Declare XCreateGC. Define x_create_gc and
6853 x_free_gc. Initialize font_sort_order.
6854 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6855 but call x_list_fonts instead of w32_list_fonts.
6856 (Finternal_face_x_get_resource) [macintosh]: Do not call
6857 display_x_get_resource.
6858 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6859 (realize_x_face) [macintosh]: Load the font if it is specified in
6860 ATTRS.
52283633 6861 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6862
1ffbabe3
SM
68632000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6864
6865 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6866 is nil: since we go to the end of submap anyway, we'd end up
6867 setting nil to nil.
6868 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6869 doesn't obey autoload.
6870
bed43f1d
EZ
68712000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6872
1ffbabe3 6873 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 6874
ea4233a7
JR
68752000-10-21 Jason Rumney <jasonr@gnu.org>
6876
6877 * w32term.c (w32_cache_char_metrics): Double check that font is
6878 really fixed pitch before trusting tmPitchAndFamily.
6879
f3d3c491
AI
68802000-10-21 Andrew Innes <andrewi@gnu.org>
6881
6882 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6883
6884 * w32term.h: Extern decl for w32_cache_char_metrics.
6885
6886 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6887
6888 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6889 (w32_unload_font): Free per_char array if present.
6890
6891 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6892 cached information in emulated XFontStruct to handle common cases
6893 quickly. Do not allocate XCharStruct for return.
6894 (w32_native_per_char_metric): New function.
6895 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6896 allocating one.
6897 (x_produce_glyphs): Don't get an HDC. Change calls to
6898 w32_per_char_metric to match arg change above. Remove calls to
6899 free results.
6900 (w32_get_glyph_overhangs): Ditto.
6901 (w32_cache_char_metrics): New function.
6902
6903 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6904 ($(BLD)/casefiddle.$(O)): Remove compile command.
6905 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6906 ($(BLD)/dispnew.obj):
6907 ($(BLD)/keyboard.obj):
6908 ($(BLD)/w32inevt.obj):
6909 ($(BLD)/w32bdf.obj):
6910 ($(BLD)/alloc.obj):
6911 ($(BLD)/buffer.obj):
6912 ($(BLD)/editfns.obj):
6913 ($(BLD)/emacs.obj):
6914 ($(BLD)/fileio.obj):
6915 ($(BLD)/fns.obj):
6916 ($(BLD)/indent.obj):
6917 ($(BLD)/insdel.obj):
6918 ($(BLD)/intervals.obj):
6919 ($(BLD)/minibuf.obj):
6920 ($(BLD)/print.obj):
6921 ($(BLD)/scroll.obj):
6922 ($(BLD)/sysdep.obj):
6923 ($(BLD)/textprop.obj):
6924 ($(BLD)/widget.obj):
f3d3c491
AI
6925 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6926 ($(BLD)/term.obj): Add dependency on dispextern.h.
6927
52283633
SM
6928 * makefile.nt ($(BLD)\dispnew.obj):
6929 ($(BLD)\keyboard.obj):
6930 ($(BLD)\w32inevt.obj):
6931 ($(BLD)\w32bdf.obj):
6932 ($(BLD)\alloc.obj):
6933 ($(BLD)\buffer.obj):
6934 ($(BLD)\editfns.obj):
6935 ($(BLD)\emacs.obj):
6936 ($(BLD)\fileio.obj):
6937 ($(BLD)\fns.obj):
6938 ($(BLD)\indent.obj):
6939 ($(BLD)\insdel.obj):
6940 ($(BLD)\intervals.obj):
6941 ($(BLD)\minibuf.obj):
6942 ($(BLD)\print.obj):
6943 ($(BLD)\scroll.obj):
6944 ($(BLD)\sysdep.obj):
6945 ($(BLD)\textprop.obj):
6946 ($(BLD)\widget.obj):
f3d3c491
AI
6947 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6948 ($(BLD)\term.obj): Add dependency on dispextern.h
6949
18ad4821
EZ
69502000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6951
6952 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6953 with an additional argument of Qt.
6954
de54681a
MB
69552000-10-21 Miles Bader <miles@gnu.org>
6956
6957 * window.c (pos_fully_visible_in_window_p): New function.
6958 (Fpos_visible_in_window_p): Add FULLY argument.
6959 Use pos_fully_visible_in_window_p.
6960 (window_scroll_pixel_based, window_scroll_line_based): Update
6961 calls to Fpos_visible_in_window_p.
6962 * lisp.h (Fpos_visible_in_window_p): Update prototype
6963
13c844fb
GM
69642000-10-20 Gerd Moellmann <gerd@gnu.org>
6965
6966 * alloc.c (toplevel): Conditionalize compilation of mem_*
6967 functions differently.
52283633 6968
d9506268
JR
69692000-10-20 Jason Rumney <jasonr@gnu.org>
6970
6971 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6972 mem_init where it used to be. mem_z etc not defined otherwise.
6973
8094989b
GM
69742000-10-20 Gerd Moellmann <gerd@gnu.org>
6975
6976 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6977 GC_MALLOC_CHECK.
6978 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6979 structure definition and related variabled to the top of the file.
6980 Include this code when GC_MALLOC_CHECK is defined.
6981 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
6982 register/unregister allocated region.
6983 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
6984 which isn't allocated.
6985 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
6986 something which is already in use.
6987 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
6988 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
6989 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
6990 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
6991
6992 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
6993 _malloc_internal instead of malloc.
6994 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
6995 of free.
6996
ea456eb4
AI
69972000-10-20 Andrew Innes <andrewi@gnu.org>
6998
6999 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7000 Windows.
7001 (my_strftime) <macro>: Don't use macro arg list when redefining as
7002 _strftime_copytm.
7003 (my_strftime) <function>: Supply 0 as ut argument.
7004
e64c3a75
JR
70052000-10-19 Jason Rumney <jasonr@altavista.net>
7006
7007 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7008 including dispextern.h, as it stops faces from working.
7009
7010 * w32fns.c (Fx_create_frame): Don't bother calling
7011 face-set-after-frame-default since the caller does it for us
7012 anyway. Clean up calls to x_get_arg to be consistent with X.
7013
7014 * w32term.c (x_produce_glyphs): Handle
7015 unibyte_display_via_language_environment correctly.
7016 (w32_draw_box_rect): Fix the calculation of width and height.
7017
7018 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7019 as it has stopped working.
7020 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7021 menu-bar.
7022
17401c97
GM
70232000-10-19 Gerd Moellmann <gerd@gnu.org>
7024
7025 * eval.c (skip_debugger): Prevent a compiler warning.
7026 (Fcondition_case): Likewise.
7027 (Fbacktrace_frame): Use a null interactive spec.
7028
773272d8
KH
70292000-10-19 Kenichi Handa <handa@etl.go.jp>
7030
7031 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7032
a42943e9
GM
70332000-10-18 Gerd Moellmann <gerd@gnu.org>
7034
e50517d9
GM
7035 * strftime.c: Sync with glibc, file version 1.78.
7036 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7037 should no longer be used according to ISO 8601.
7038
9035a35a
GM
7039 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7040 no map for meta_prefix_char, don't try to use it as a keymap.
7041 Instead, if T_OK is non-zero, look up a default binding, if any,
7042 otherwise, if T_OK is zero, return nil.
7043
a42943e9
GM
7044 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7045 (x_to_xcolors, png_load): Use x_query_color.
7046
52283633
SM
7047 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7048 New functions.
a42943e9
GM
7049 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7050 which can be slow.
7051 (x_copy_color, x_alloc_lighter_color): Likewise.
7052
7053 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7054 (x_query_color, x_query_colors): Add prototype.
7055
7056 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7057 check_string_bytes only if not noninteractive, increase count to 50.
7058
00de2987
MB
70592000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7060
7061 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7062 markers correctly.
7063
54918e2b
GM
70642000-10-17 Gerd Moellmann <gerd@gnu.org>
7065
1f0b3fd2
GM
7066 * alloc.c (pure_bytes_used): Renamed from pureptr.
7067 (ALIGN): New macro.
7068 (pure_alloc): New function.
7069 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7070 Use it.
7071 (Fpurecopy): Use PURE_POINTER_P.
7072
68c5d1db
GM
7073 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7074 PT has moved backward.
52283633 7075
9a038881
GM
7076 * xdisp.c (cursor_row_p): Take continued lines into account.
7077
361b097f
GM
7078 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7079 string's size_byte.
7080 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7081 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7082 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7083 string allocated.
7084
54918e2b
GM
7085 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7086 of selective display off while searching for the next line start.
7087
03ed0806
KH
70882000-10-17 Kenichi Handa <handa@etl.go.jp>
7089
7090 * Makefile.in (term.o): Depend on dispextern.h.
7091
7e05cdaf
SM
70922000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7093
7094 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7095
a6801fd1
GM
70962000-10-16 Gerd Moellmann <gerd@gnu.org>
7097
483de32b
GM
7098 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7099 the iterator at the beginning, so that they can be set later on,
7100 for instance in reseat_at_next_visible_line_start, without being
7101 overwritten.
7102
a6801fd1
GM
7103 * xfns.c (pbm_format): Add :foreground and :background keywords.
7104 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7105 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7106
dbf1fcc1
EZ
71072000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7108
7109 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7110
52283633 7111 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7112
7113 * msdos.c (IT_set_face): Compare highlighted face with the default
7114 face, and invert colors if these faces' colors are identical.
7115 (Fmsdos_remember_default_colors): Don't swap foreground and
7116 background colors in initial_colors[].
7117 (IT_set_frame_parameters): Don't swap frame's foreground and
7118 background pixels. If ALIST includes "(reverse . t)", swap
7119 foreground-color and background-color properties in frame's
7120 param_alist. If the original frame's param_alist doesn't specify
7121 the colors, store unspecified-fg and unspecified-bg, reversed if
7122 required.
7123
7124 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7125 the colors are unspecified and reversed, reverse fore- and back-
7126 ground in the returned value.
7127 (Fframe_parameter): Ditto.
7128
b41fe2c3 71292000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7130
3a6b59d9
GM
7131 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7132 get_last_unchanged_at_beg_row.
7133 (find_first_unchanged_at_end_row): Renamed from
7134 get_first_unchanged_at_end_row.
7135 (find_first_unchanged_at_end_row): Convert assertions to
7136 unconditional tests which abort. When looking for a row in
7137 unchanged text, don't go further back than first_text_row.
7138
b41fe2c3
GM
7139 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7140 Don't add in the last line's height when deciding if the new
7141 position is below the scroll margin.
9d1af64f 7142
b41fe2c3 71432000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7144
7145 * editfns.c (Fconstrain_to_field): Check carefully for field
7146 boundaries if either OLD_POS or NEW_POS has a non-nil field
7147 property, even if they're the same.
7148
c412cb7b
KH
71492000-10-16 Kenichi Handa <handa@etl.go.jp>
7150
7151 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7152 height for XFillRectangle.
7153
5586f3eb
SM
71542000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7155
7156 * syntax.c (Fstring_to_syntax): New function extracted from
7157 Fmodify_syntax_entry.
7158 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7159 (skip_chars, Fforward_comment): Remove unused variables.
7160 (syms_of_syntax): Add defsubr for string-to-syntax.
7161 (describe_syntax): Add code for comment and string fences.
7162
db785038
SM
71632000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7164
7165 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7166 Do the meta->esc mapping. Call get_keyelt before returning.
7167 Start scanning from the second element (the first is always `keymap')
7168 to make it easier to detect when we reach a parent map.
7169 Handle the case of inheriting from a symbol whose function is a map.
7170 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7171 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7172 (get_keyelt, Flookup_key): Update call to access_keymap.
7173 Remove the meta->esc mappings.
7174 (define_as_prefix): Delete old disabled code.
7175 (menu_item_p): New function.
7176 (where_is_internal_1): Skip over the few remaining menu items.
7177 * lisp.h (access_keymap): Update prototype.
7178 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7179 Update call to access_keymap.
7180 (follow_key, read_key_sequence): Update calls to access_keymap.
7181 Remove the meta->esc mappings.
7182
cafafe0b
GM
71832000-10-13 Gerd Moellmann <gerd@gnu.org>
7184
a2e2a7f6
GM
7185 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7186 with additional argument.
7187
cafafe0b
GM
7188 * xdisp.c (cursor_row_p): New function.
7189 (try_cursor_movement, display_line): Use it.
52283633 7190
cafafe0b
GM
7191 * xdisp.c (append_space): Also save/restore iterator's current
7192 character and its length.
7193
7194 * xdisp.c (init_from_display_pos): Add an assertion.
7195 (handle_stop): Don't set iterator's add_overlay_start.
7196 (handle_invisible_prop): Likewise.
7197 (load_overlay_strings): If text under an overlay is invisible,
7198 take both before- and after-strings into account when the iterator
7199 is positioned either at the start or at the end of the overlay.
7200 (forward_to_next_line_start): Rewritten.
7201 (reseat_at_next_visible_line_start): Rewritten.
7202 (set_iterator_to_next): Add parameter RESEAT_P.
7203
7204 * dispextern.h (struct it): Remove member add_overlay_start.
7205 (set_iterator_to_next): Change prototype.
7206
c744452b
KH
72072000-10-13 Kenichi Handa <handa@etl.go.jp>
7208
7209 * coding.c (code_convert_region): Be sure to initialize
7210 coding->category_idx.
e4a3f4e1
KH
7211 (decode_coding_string): Set coding->src_multibyte and
7212 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7213 (encode_coding_string): Set coding->src_multibyte and
7214 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7215
321fd26f
SM
72162000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7217
7218 * xfns.c (Fx_create_frame): Don't bother calling
7219 face-set-after-frame-default since the caller does it for us anyway.
7220
76832439
EZ
72212000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7222
7223 * window.c (coordinates_in_window): Fix detection of vertical line
7224 on character terminals.
7225
2483cf58
GM
72262000-10-12 Gerd Moellmann <gerd@gnu.org>
7227
7228 * editfns.c (save_excursion_save): Additionally record the
7229 selected window.
7230 (save_excursion_restore): If buffer was visible in a window, and a
7231 different window was selected, and the old selected window is
7232 still live, restore point in that window.
7233
eb991b25
KH
72342000-10-12 Kenichi Handa <handa@etl.go.jp>
7235
8a0eba09
KH
7236 * xterm.c (x_produce_glyphs): Handle
7237 unibyte_display_via_language_environment correctly.
7238
20401fcc
KH
7239 * regex.c (regex_compile): Change the way of handling a range from
7240 unibyte char to multibyte char.
7241
7242 * syntax.c (skip_chars): Change the way of handling a range from
7243 unibyte char to multibyte char.
7244
eb991b25
KH
7245 * process.c (read_process_output): Cancel previous change.
7246
365dd325
EZ
72472000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7248
c1b096cb
EZ
7249 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7250
365dd325
EZ
7251 * charset.c (Ffind_charset_string): Doc fix.
7252 (Ffind_charset_region): Doc fix.
7253
eb483c2b
KH
72542000-10-11 Kenichi Handa <handa@mule.m17n.org>
7255
7256 * process.c (read_process_output): Fix previous change. Adjust
7257 multibyteness of text to insert in a buffer by
52283633 7258 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7259
b40bfb99
AS
72602000-10-10 Andreas Schwab <schwab@suse.de>
7261
7262 * alloc.c (mark_object): Remove all workarounds installed on
7263 1993-08-08.
7264
caff31d4
KH
72652000-10-10 Kenichi Handa <handa@etl.go.jp>
7266
52283633 7267 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7268 (base64_encode_1): Make it work for a text of multibyte form.
7269 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7270 case. Don't call str_to_multibyte because base64_decode_1
7271 produces correct multibyte form for eight-bit codes.
52283633 7272 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7273 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7274 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7275 codes.
7276
7277 * charset.h (CHAR_STRING): Optimized for single byte characters.
7278
cba026ef
AS
72792000-10-09 Andreas Schwab <schwab@suse.de>
7280
7281 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7282 -1 after socket is closed, to fall through to error processing.
7283
1e21fe48
EZ
72842000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7285
7286 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7287 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7288 background-color, change also the colors of the default face for
7289 this frame.
7290
a640322e
EZ
72912000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7292
7293 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7294 them extern (they are defined on xfaces.c).
7295 (syms_of_msdos): Don't intern and don't staticpro
7296 Qbackground_color and Qforeground_color.
7297
a115794c
EZ
72982000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7299
7300 * frame.c (Fframe_parameter): For non-windowed frames, if
7301 f->param_alist says foreground or background color is unspecified,
7302 call tty_color_name to return the color name computed from the
7303 frame's current colors.
7304
f5533b63
DL
73052000-10-06 Dave Love <fx@gnu.org>
7306
7307 * terminfo.c (ospeed): Don't declare.
7308
7309 * sysdep.c: Don't include string.h.
7310 (h_errno): Declare conditional also on TRY_AGAIN.
7311
7312 * charset.c (Ffind_charset_string): Doc fix.
7313
52283633 7314 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7315 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7316 error messages.
7317
2b06561a
DL
73182000-10-05 Dave Love <fx@gnu.org>
7319
7320 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7321 position like menu-bar.
7322
ca839c85
GM
73232000-10-05 Gerd Moellmann <gerd@gnu.org>
7324
7325 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7326
7327 * xdisp.c (handle_single_display_prop): Use safe_call1.
7328 (safe_call): Renamed from call_function.
7329 (safe_call1): New function.
7330 (handle_fontified_prop): Use safe_call1 instead of call1.
7331 (safe_eval): Renamed from eval_form.
7332 (safe_eval_handler): Renamed from eval_handler.
7333 (handle_single_display_prop, display_mode_element): Use safe_eval
7334 instead of eval_form.
7335
7336 * xfaces.c (merge_face_heights): Use safe_call instead of
7337 call_function.
7338
7339 * keyboard.c (show_help_echo): Use safe_call instead of
7340 call_function; use safe_eval instead of eval_form.
7341
7342 * lisp.h (safe_call): Renamed from call_function.
7343 (safe_eval): Renamed from eval_form.
7344 (safe_call1): Add prototype.
7345
a3489ece
MB
73462000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7347
7348 * xfns.c (image_ascent): Rearrange ascent calculation for the
7349 has-a-font case.
7350
35810b6f
SM
73512000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7352
7353 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7354 (where_is_internal_1): Don't bother ignoring menu-items any more.
7355
3dc78168
GM
73562000-10-04 Gerd Moellmann <gerd@gnu.org>
7357
7358 * keyboard.c (update_menu_bindings): New variable.
7359 (parse_menu_item): Use AREF. If update_menu_bindings
7360 is 0, don't update menu bindings.
7361 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7362
1efc2bb9
EZ
73632000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7364
7365 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7366 to `mark_object'.
7367
3f679f55
SM
73682000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7369
7370 * syntax.c (forw_comment): Match nestedness of ender/starter.
7371 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7372 (prev_char_comstart_first): Remove.
7373 (back_comment): Check two-char comment markers more carefully
7374 to better handle overlapping cases like *//* or /* */* */ ...
7375 Match nestedness of ender/starter.
7376
2021ab61
DL
73772000-10-02 Dave Love <fx@gnu.org>
7378
7379 * config.in (HAVE_GAI_STRERROR): Add undef.
7380
7381 * process.c (Fopen_network_stream): Use it.
7382
7383 * m/alpha.h (NO_REMAP): Don't define.
7384
64e6cc18
GM
73852000-10-02 Gerd Moellmann <gerd@gnu.org>
7386
7387 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7388 return with a string converted to an integer or vice versa when
7389 Vmocklisp_arguments is t.
7390 (Fsignal): Likewise. The function can return for `quit'.
7391 (struct gcpro): Declare member `var' to point to a volatile
7392 Lisp_Object.
7393
7394 * eval.c (error): Prevent compiler warning.
7395
b1904cd9
SM
73962000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7397
7398 * keymap.c (keymap_memberp): New function.
7399 (Fset_keymap_parent): Use it.
7400 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7401 Use keymap_memberp to avoid creating cycles.
7402 (access_keymap): Use KEYMAPP.
7403
71c9ec51
GM
74042000-09-30 Gerd Moellmann <gerd@gnu.org>
7405
7406 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7407 gai_strerror. Make sure xerrno is set if connect fails. Improve
7408 error recovery.
71c9ec51 7409
c70c6b58
JR
74102000-09-29 Jason Rumney <jasonr@gnu.org>
7411
7412 * w32term.c (w32_char_font_type, w32_encode_char)
7413 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7414 (w32_bdf_per_char_metric): New function.
7415 (w32_per_char_metric): Use it.
7416 (x_draw_glyph_string_background): Always draw background for BDF
7417 glyphs.
7418
7419 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7420 GDI object which is a scarce resource.
7421
7422 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7423 (get_quoted_string): Fix limit on memchr search.
7424 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7425 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7426 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7427 (get_cached_font_char, cache_char_offset): Use macro
7428 BDF_CODEPOINT_RANGE_COVER_P.
7429 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7430 (clear_cached_bitmap_slots): New function.
7431 (GET_HEX_VALUE): G-Z, g-z are not hex.
7432 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7433 (get_bitmap_with_cache): Use new cache implementation.
7434 (create_offscreen_bitmap): New function.
7435 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7436
7437 * w32term.c (x_produce_glyphs): If the distance from the current
7438 position to the next tab stop is less than a canonical character
7439 width, use the tab stop after that.
7440 (x_draw_glyphs): Handle case START and END are out of bounds more
7441 carefully.
7442 (x_clear_mouse_face): Block/unblock input.
7443 (x_display_and_set_cursor): Don't show a hollow box cursor for
7444 buffers whose cursor_type is nil.
7445
fe01239f
GM
74462000-09-29 Gerd Moellmann <gerd@gnu.org>
7447
52283633 7448 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7449
7450 * dispextern.h (updating_frame): Declare extern.
7451
e7c52f1f
AS
74522000-09-29 Andreas Schwab <schwab@suse.de>
7453
7454 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7455
de6e1f7c
GM
74562000-09-29 Gerd Moellmann <gerd@gnu.org>
7457
25126faa
GM
7458 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7459 use its function definition.
7460 (tool_bar_items): Likewise.
7461
de6e1f7c 7462 * lisp.h (fatal): Declare NO_RETURN.
52283633 7463
454ee39b
KH
74642000-09-29 Kenichi Handa <handa@etl.go.jp>
7465
7466 * keymap.c: Remove the line "#undef NULL".
7467
96301c5f
GM
74682000-09-28 Gerd Moellmann <gerd@gnu.org>
7469
52283633 7470 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7471
efffeeb4
DL
74722000-09-28 Dave Love <fx@gnu.org>
7473
ecb8b666
DL
7474 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7475
dc3cd20f
DL
7476 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7477
7478 * .gdbinit (xreload): Note its need on GNU/Linux.
7479
efffeeb4
DL
7480 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7481 r_alloc, r_alloc_free.
7482
8610d903
KH
74832000-09-28 Kenichi Handa <handa@etl.go.jp>
7484
7485 * syntax.c (skip_chars): Handle negation correctly.
7486
8901d1ac
GM
74872000-09-27 Gerd Moellmann <gerd@gnu.org>
7488
6f22f1ad
GM
7489 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7490 with non-zero FORCE_P argument.
7491
52283633 7492 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7493 Add assertions.
7494
7495 * xdisp.c (window_box_height): Add an assertion.
7496
7497 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7498 tool-bar than is available.
7499 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7500
36f1966f
DL
75012000-09-27 Dave Love <fx@gnu.org>
7502
efffeeb4 7503 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7504
31d929e5
GM
75052000-09-26 Gerd Moellmann <gerd@gnu.org>
7506
c98863bf
GM
7507 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7508 instead of BITS_PER_INT.
7509 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7510 EMACS_UINT, respectively.
7511 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7512
7513 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7514
7515 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7516
77072ab1
GM
7517 * window.c (freeze_window_starts): Construct last argument for
7518 foreach_window differently.
7519
7520 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7521
7522 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7523 EMACS_UINT instead of `int' and `unsigned int'.
7524 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7525
7526 * frame.h (struct frame): Make the `nothing' member of union
7527 output_data an EMACS_INT.
7528
52283633 7529 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7530 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7531 size in the sdata structure.
7532 (SDATA_NBYTES, SDATA_DATA): New macros.
7533 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7534 differently for the different layout of the sdata structure.
7535 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7536 in sdata.
7537 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7538 Check that size recorded in the string size and size recorded in
7539 the sdata structure agree.
7540
3e60b029
DL
75412000-09-25 Dave Love <fx@gnu.org>
7542
7543 * buffer.c: Include stdio.h.
7544
7545 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7546
3e60b029
DL
7547 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7548
7549 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7550 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7551 (__malloc_extra_blocks): Declare as __malloc_size_t.
7552
8ff16b4e
GM
75532000-09-25 Gerd Moellmann <gerd@gnu.org>
7554
755a2ccd
GM
7555 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7556
d8b4516f
GM
7557 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7558 (read_char): If help-echo is showing, preserve the echo area
7559 when redisplaying.
7560
7561 * xdisp.c (help_echo_showing_p): New variable.
7562 (set_message): Reset it to 0.
7563 (init_xdisp): Initialize help_echo_showing_p.
7564
7565 * dispextern.h (help_echo_showing_p): Declare extern.
7566
7567 * config.in: Fix typo in __GNUC_MINOR__.
7568
7569 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7570
b11af2dd
GM
7571 * s/freebsd.h (POSIX_SIGNALS): Define.
7572
8ff16b4e
GM
7573 * xterm.c (x_clear_mouse_face): Block/unblock input.
7574
844eb643
DL
75752000-09-24 Dave Love <fx@gnu.org>
7576
7577 * fns.c (base64_encode_1): Fix last change.
7578
b30ab1b3
GM
75792000-09-22 Gerd Moellmann <gerd@gnu.org>
7580
7581 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7582
7583 * xdisp.c (try_window_reusing_current_matrix): More fixes
7584 for the case window has a header-line.
7585
c6cbe5f0
DL
75862000-09-22 Dave Love <fx@gnu.org>
7587
4c7c1f3f
DL
7588 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7589 a doc string.
7590
7591 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7592
c6cbe5f0
DL
7593 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7594
550a625e
GM
75952000-09-21 Gerd Moellmann <gerd@gnu.org>
7596
4c7c1f3f 7597 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7598 for GCC >= 2.5.
7599
52283633
SM
7600 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7601 Declare NO_RETURN.
fca99116 7602
80d26f99
GM
7603 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7604 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7605 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7606 warnings.
52283633 7607
80d26f99
GM
7608 * marker.c (byte_char_debug_check): Return void.
7609
623a0aae
GM
7610 * xfns.c (Fx_create_frame): Set default frame parameter value
7611 for tool-bar-lines to 1.
7612
7613 * dispnew.c (scrolling_window): Compare y-positions of rows
7614 equal at the start. Some simplification.
7615
7616 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7617 reused rows' y-position in the case window has a header-line, and
7618 new window start is greater than old window start.
7619
42ac0ae5
GM
7620 * process.c (process_sent_to): New variable.
7621 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7622 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7623 Declare more parameters volatile.
7624
550a625e
GM
7625 * lread.c (Vrecursive_load_depth_limit): New variable.
7626 (Fload): Check recursive loads whose recursion depth exceeds
7627 Vrecursive_load_depth_limit.
7628 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7629
8320414c
GM
76302000-09-20 Gerd Moellmann <gerd@gnu.org>
7631
f46c275e
GM
7632 * fileio.c (Fread_file_name): Doc fix.
7633
7634 * editfns.c (Fmessage_or_box): Doc fix.
7635
7636 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7637
b7e11c5b 7638 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7639
8320414c
GM
7640 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7641 symbols are specified, add color translations to the cache.
52283633 7642 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7643 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7644 xpm_cache_color.
7645 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7646 structures to xpm_init_color_cache.
7647
da1608d9
GM
76482000-09-19 Gerd Moellmann <gerd@gnu.org>
7649
52283633 7650 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7651
6badfa25
AI
76522000-09-19 Andrew Innes <andrewi@gnu.org>
7653
7654 * makefile.nt (bootstrap-emacs): Don't change directory.
7655
3a5f42bb
KH
76562000-09-19 Kenichi Handa <handa@etl.go.jp>
7657
1b7649bd
KH
7658 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7659
3a5f42bb
KH
7660 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7661 If output buffer is too small, signal an appropriated error.
7662
9f83cf0b
DL
76632000-09-18 Dave Love <fx@gnu.org>
7664
52283633 7665 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7666 (current_active_maps): Remove redundant get_local_map call.
7667
28c7826c
GM
76682000-09-18 Gerd Moellmann <gerd@gnu.org>
7669
5cefa566
GM
7670 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7671 cursor for buffers whose cursor_type is nil.
52283633 7672
6fed3546
GM
7673 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7674 a feature to implement that is already implemented.
7675 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7676 warnings.
7677
7678 * xfns.c (x_clear_image_1): New function.
7679 (x_clear_image): Use it.
52283633 7680 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7681
05b1f851
GM
7682 * dispnew.c (update_window): Move test for invisible lines
7683 at the top to update_window_line.
7684 (update_window_line): Handle invisible lines here.
7685
f4779de9
GM
7686 * xfns.c (clear_image_cache): Clear current matrices of all
7687 frames sharing an image cache. Block input while freeing
7688 images. Fix timestamp comparison.
7689 (x_clear_image): Also free the mask.
7690
28c7826c
GM
7691 * xfns.c (lookup_image): Block input while loading the image so
7692 that we won't get interrupted in a state where the image isn't yet
7693 set up completely.
7694 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7695 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7696 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7697 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7698
b7412313
GM
76992000-09-16 Gerd Moellmann <gerd@gnu.org>
7700
7701 * dispnew.c (update_window): Make sure to make desired rows
7702 current even if they are completely invisible at the top
7703 of a window.
7704
47e351a3
GM
77052000-09-15 Gerd Moellmann <gerd@gnu.org>
7706
7f8f1edc
GM
7707 * xfns.c (lookup_image): Build mask before applying an algorithm.
7708 Recognize algorithm `disabled'.
7709 (cross_disabled_images): New variable.
7710 (COLOR_INTENSITY): New macro.
7711 (x_detect_edges): Use COLOR_INTENSITY.
7712 (x_disable_image): New function.
7713 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7714
7715 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7716 disabled state, don't apply an image transformation algorithm if
7717 the user specified an image for the disabled state. Use
28c7826c 7718 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7719 user hasn't specified an image.
7720
ebb8f116
GM
7721 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7722 allocation functions with the XPM lib.
7723 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7724 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7725 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7726 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7727 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7728 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7729 functions, if possible, because these handle color allocation
7730 failure more gracefully.
7731 (Fimage_mask_p): New function.
7732
47e351a3
GM
7733 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7734 (Qedge_detection, Qheuristic): New symbols.
7735 (syms_of_xfns): Initialize new symbols.
7736 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7737 `algorithm (edge-detection ...)'.
7738 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7739 (tiff_format, gif_format, gs_format): Add `:mask'.
7740 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7741 (GIF_MASK, GS_MASK): New enumerators.
7742 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7743 (emboss_matrix, laplace_matrix): New variables.
7744 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7745 (x_edge_detection): New functions.
7746 (x_laplace): Rewritten in terms of x_detect_edges.
7747 (x_build_heuristic_mask): If image has a mask, free it.
7748
fe83b953
AI
77492000-09-14 Andrew Innes <andrewi@gnu.org>
7750
7751 * makefile.w32-in: Revert to Unix line endings.
7752
3021e816
AI
77532000-09-14 Andrew Innes <andrewi@gnu.org>
7754
7755 * makefile.w32-in: Standardize indentation somewhat.
7756 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7757 cater for differences between shells.
7758
7759 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7760
2a32b5ea
GM
77612000-09-14 Gerd Moellmann <gerd@gnu.org>
7762
7763 * xterm.c (x_produce_glyphs): If the distance from the current
7764 position to the next tab stop is less than a canonical character
7765 width, use the tab stop after that.
7766
b4331e96
DL
77672000-09-14 Dave Love <fx@gnu.org>
7768
7769 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7770
ef9e4345
GM
77712000-09-14 Gerd Moellmann <gerd@gnu.org>
7772
085536c2
GM
7773 * xdisp.c (handle_fontified_prop): While running fontification
7774 functions, bind `fontification-functions' and
7775 `after-change-functions' to nil.
7776
ef9e4345
GM
7777 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7778 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7779
7780 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7781
7782 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7783 USE_MMAP_FOR_BUFFERS.
7784
7785 * insdel.c (make_gap): Use enlarge_buffer_text.
7786
7787 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7788 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7789 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7790 from former r_alloc_* functions in ralloc.c.
52283633 7791 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
7792 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7793 (mmap_init) [REL_ALLOC_MMAP]: New function.
7794 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7795 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7796 BUFFER_FREE.
7797
7798 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7799 (enlarge_buffer_text): Add prototype.
7800
7801 * ralloc.c: Remove everything having to do with the use of mmap.
7802
f8608968
GM
78032000-09-13 Gerd Moellmann <gerd@gnu.org>
7804
2a494b2d
GM
7805 * sound.c (Fplay_sound): Doc fix.
7806
8c907a56
GM
7807 * keyboard.c: Avoid some more compiler warnings.
7808 (parse_tool_bar_item): Ignore cached key bindings.
7809
f8608968
GM
7810 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
7811 and allocation of Lisp data.
7812
6ab70e9a
GM
78132000-09-12 Gerd Moellmann <gerd@gnu.org>
7814
d12d0a9b
GM
7815 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
7816 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
7817 defaults first.
7818
6ab70e9a
GM
7819 * lread.c (Fload): Put code checking for recursive loads in #if 0.
7820
63c36c3c
KH
78212000-09-12 Miyashita Hisashi <himi@meadowy.org>
7822
7823 * ccl.c: Comment fixed.
7824 (MAX_MAP_SET_LEVEL): Increased to 30.
7825 (PUSH_MAPPING_STACK): Enclose with do-while block.
7826 (POP_MAPPING_STACK): Likewise.
7827 (stack_idx_of_map_multiple): New variable.
7828 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
7829 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 7830 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
7831 (ccl_driver) <CCL_MapSingle>: Likewise.
7832 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
7833 with the case where looking up process reaches to the end of
7834 map-set, and call CCL programs as the above change.
7835
7ee3bd7b
GM
78362000-09-11 Gerd Moellmann <gerd@gnu.org>
7837
8ec8a5ec
GM
7838 * xfns.c (png_load, jpeg_load): Declare some variables volatile
7839 that might be clobbered by longjmp.
7840 (check_x_display_info, x_decode_color, create_frame_xic)
7841 (Fx_display_backing_store, Fx_display_visual_class)
52283633 7842 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 7843
f74b0705
GM
7844 * lread.c (init_lread): Set Vloads_in_progress to nil.
7845 (Fload): Show list of recursively loaded files, when signaling an
7846 error.
7847
7ee3bd7b
GM
7848 * lread.c (Vloads_in_progress): New variable.
7849 (record_load_unwind): New function.
7850 (Fload): Check for recursive loads.
7851 (syms_of_lread): Initialize Vloads_in_progress.
7852 (read_integer, read1): Avoid some compiler warnings.
7853
7854 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7855 compiler warnings.
7856
974e1e5b
MB
78572000-09-11 Miles Bader <miles@gnu.org>
7858
7859 * editfns.c (Fbuffer_string): Doc fix.
7860
9824c4e3
GM
78612000-09-10 Gerd Moellmann <gerd@gnu.org>
7862
7863 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7864
6a72fdd1
KR
78652000-09-09 Ken Raeburn <raeburn@gnu.org>
7866
7867 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7868 whether to include other header files.
7869
28e6fb66
GM
78702000-09-09 Gerd Moellmann <gerd@gnu.org>
7871
52283633 7872 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 7873 by Fmemq as a boolean.
28e6fb66 7874
7f8b6551
SM
78752000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7876
7877 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7878
a8710abf
GM
78792000-09-08 Gerd Moellmann <gerd@gnu.org>
7880
d1a02881
GM
7881 * ralloc.c (mmap_fd): Remove initializer which can make it
7882 read-only in a dumped Emacs.
7883 (mmap_fd_1): New variable.
7884 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7885 restore it from there.
7886 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7887 unconditionally so that mmap_fd can be initialized there.
7888 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7889 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7890 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7891
c454aac1
GM
7892 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7893
7894 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 7895 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 7896
fc653ef2
GM
7897 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7898
3015eec0
GM
7899 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7900 inheritance.
7901
bfe0ee88
GM
7902 * xdisp.c (try_window_id): When trying to locate cursor in
7903 unchanged rows at the top, handle the case that we can't find it.
7904
a8710abf
GM
7905 * xterm.c (x_draw_glyphs): Handle case START and END are out
7906 of bounds more carefully.
7907
6b7d4ae4
DL
79082000-09-08 Dave Love <fx@gnu.org>
7909
423193c5
DL
7910 * s/sol2.h (REL_ALLOC_MMAP): Define.
7911 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7912
7913 * ralloc.c: Don't include string.h (redundant).
7914 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7915 [!MAP_ANON]: Include fcntl.h.
7916 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7917 (r_alloc, r_re_alloc, r_alloc_free)
7918 (mmap_enlarge, mmap_set_vars): Use it.
7919 (r_alloc_init_fd): New function.
7920 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7921 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7922 malloc type.
7923
7924 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7925 Remove vm-limit.o.
7926
6b7d4ae4
DL
7927 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7928 change to __NetBSD__.
7929
44d31981
KH
79302000-09-08 Kenichi Handa <handa@etl.go.jp>
7931
7932 * search.c (compile_pattern): Check the multibyteness of cached
7933 string and PATTERN.
7934
aad40737
MB
79352000-09-08 Miles Bader <miles@gnu.org>
7936
7937 * xfaces.c (default_face_vector): Function removed.
7938 (Finternal_merge_in_global_face): Restore old global/local
7939 attribute override order. Use inline loop instead of calling
7940 default_face_vector.
7941
91a211b5
GM
79422000-09-07 Gerd Moellmann <gerd@gnu.org>
7943
7944 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7945 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7946 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7947 where necessary, in case POINTER_TYPE is `void'.
7948
03419440
EZ
79492000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7950
7951 * frame.c (make_terminal_frame): Initialize frame foreground and
7952 background colors to unspecified, for the initial instance of an
7953 MSDOS frame.
7954
f46f845b
GM
79552000-09-07 Gerd Moellmann <gerd@gnu.org>
7956
24f76fbf
GM
7957 * ralloc.c (mmap_find): Fix overlap computation.
7958 (mmap_enlarge): Compute nbytes before trying to find an
7959 overlapping region.
7960
f46f845b
GM
7961 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7962 instead of `!='.
7963
7964 * lread.c (syms_of_lread): Change value of regexp
7965 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7966
7967 * xmenu.c (xdialog_show): When looking up the selection in
7968 menu_items, take `quote' boundaries into account; this corresponds
7969 to a nil ITEM in x-popup-dialog.
7970
3c014385
KH
79712000-09-07 Kenichi Handa <handa@etl.go.jp>
7972
fd6f711b
KH
7973 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7974 not 0x81.
7975 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7976
3c014385 7977 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
7978 encoding, not decoding. Fix the handling of latin-jisx0201.
7979 Check for the charset katakana-jisx0201 too.
3c014385 7980 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 7981 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 7982
0da3ecef
GM
79832000-09-07 Gerd Moellmann <gerd@gnu.org>
7984
ab0ee409
GM
7985 * xfaces.c (Vparam_value_alist): New variable.
7986 (syms_of_xfaces): Initialize it.
7987 (Finternal_set_lisp_face_attribute): Avoid more consing.
7988
7989 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
7990 specially.
7991 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
7992 (Qbackground_mode): New variable.
7993 (syms_of_frame_1): Initialize Qbackground_mode.
7994
7995 * lisp.h (Qdisplay): Declare extern.
1091dd67 7996
0da3ecef
GM
7997 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
7998 change face on all frames, and change the default for new frames.
7999
b14654b9
DL
80002000-09-07 Dave Love <fx@gnu.org>
8001
8002 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8003
d24fd56f
KH
80042000-09-07 Kenichi Handa <handa@etl.go.jp>
8005
794f3670
KH
8006 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8007
0fddd0dc
KH
8008 * charset.c: Include composite.h
8009 (lisp_string_width): New function.
8010 (Fstring_width): Call lisp_string_width instead of strwidth.
8011
8012 * Makefile.in (charset.o): Depends on composite.h.
8013
d24fd56f
KH
8014 * process.c (read_process_output): Before inserting the decoded
8015 text in the buffer, adjust the multibyteness.
8016
fa0b693c
GM
80172000-09-06 Gerd Moellmann <gerd@gnu.org>
8018
52283633 8019 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8020 buffer's text buffer is null, map new memory.
8021
0a58f946
GM
8022 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8023 POINTER_TYPE and size_t.
8024 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8025 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8026 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8027 [REL_ALLOC_MMAP]: New macros.
8028 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8029 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8030 [REL_ALLOC_MMAP]: New functions.
8031
8032 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8033 before and after unexec.
8034
8035 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8036 text buffers if necessary.
8037
8038 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8039 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8040 in prototypes.
8041
fa0b693c
GM
8042 * config.in (HAVE_MMAP): Add #undef.
8043
877055f6
GM
80442000-09-05 Gerd Moellmann <gerd@gnu.org>
8045
08ba3862
GM
8046 * frame.c (Qdisplay_type): New variable.
8047 (syms_of_frame_1): Initialize it.
8048 (Fframe_parameter): New function that avoids consing.
8049 (syms_of_frame): Defsubr it.
8050
66ffe51c
GM
8051 * buffer.c (Fother_buffer): Consider buffers as invisible when
8052 they are displayed in a window on an invisible frame.
8053
877055f6
GM
8054 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8055 get-largest-window always return nil.
8056
bb970e67
GM
80572000-09-04 Gerd Moellmann <gerd@gnu.org>
8058
8059 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8060 variable; recognize Emacs 19 elc files.
8061
7a3d0e0e
MB
80622000-09-04 Miles Bader <miles@gnu.org>
8063
8064 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8065 before initially popping up the menu, so the menu doesn't flash
52283633 8066 when the face settings are significantly different from the defaults.
7a3d0e0e 8067
14473664
SM
80682000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8069
8070 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8071 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8072 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8073 (BIT_UNIBYTE): Remove.
8074 (re_match_2_internal): Delete corresponding code and streamline the
8075 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8076 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8077 (re_wctype_t): New type.
8078 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8079 (regex_compile): Use them and fix handling of overly long char classes.
8080
c1174479
AI
80812000-09-03 Andrew Innes <andrewi@gnu.org>
8082
f8803e97
AI
8083 * makefile.w32-in: Change to DOS line endings.
8084
c1174479
AI
8085 * s/ms-w32.h (ORDINARY_LINK): New define.
8086
8087 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8088 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8089
8090 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8091 (distclean): Delete them here instead.
8092
44ef7cf6
AI
8093 * w32proc.c (compare_env): Convert to uppercase for comparison,
8094 not lowercase, to match how the native Windows shell works.
8095
49b3bd82
JR
80962000-09-03 Jason Rumney <jasonr@gnu.org>
8097
8098 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8099 CVS changes the line-ends when checking in/out on DOS/Windows.
8100
8101 * makefile.nt (emacs): Do not change directory to run temacs, as
8102 the load-path is set relative to current directory.
8103
a3d35a39
MB
81042000-09-03 Miles Bader <miles@gnu.org>
8105
8106 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8107
d276b0cf
GM
81082000-09-02 Gerd Moellmann <gerd@gnu.org>
8109
715e84c9
GM
8110 * xdisp.c (redisplay_mode_lines): New function.
8111 (display_mode_lines): Return number of mode lines displayed.
8112 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8113 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8114
8892f40b
GM
8115 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8116 string.h and strings.h.
8117 (index) [HAVE_INDEX]: Add prototype.
8118
d276b0cf
GM
8119 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8120 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8121
8122 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8123 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8124
38404229
GM
81252000-09-01 Gerd Moellmann <gerd@gnu.org>
8126
8127 * lread.c (read1): Accept `?' as symbol constituent, for
8128 compatiblity with XEmacs.
8129
c0f9ea08
SM
81302000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8131
8132 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8133 (struct re_pattern_buffer): Remove newline_anchor.
8134 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8135 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8136 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8137 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8138 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8139 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8140 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8141 Get rid of references to newline_anchor.
8142 (regcomp): Allocate and precompute a fastmap.
8143
8c0f83fe
GM
81442000-08-31 Gerd Moellmann <gerd@gnu.org>
8145
8146 * lread.c (openp): GCPRO local variable `filename'.
8147
4bb91c68
SM
81482000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8149
8150 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8151
8152 * regex.c: Merge some changes from GNU libc. Add prototypes.
8153 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8154 Use memcmp and memcpy instead of bcopy and bcmp.
8155 (init_syntax_once): Use ISALNUM.
8156 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8157 (REG_UNSET_VALUE): Remove. Use NULL instead.
8158 (REG_UNSET, re_match_2_internal): Use NULL.
8159 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8160 New macros.
8161 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8162 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8163 (regex_compile): In handle_interval, return an error rather than try to
8164 unfetch the interval if we can't find the closing brace.
8165 Obey the RE_NO_GNU_OPS syntax bit.
8166 (TOLOWER): New macro.
8167 (regcomp): Use it.
8168 (regexec): Allocate regs.start and regs.end as one block.
8169
5226a931
GM
81702000-08-30 Gerd Moellmann <gerd@gnu.org>
8171
868dd24b
GM
8172 * xdisp.c (echo_area_display): Check display_completed instead
8173 of calling detect_input_pending.
8174
8175 * dispnew.c (update_frame): Only set display_completed here; move
8176 the update_begin and update_end calls here from update_frame_1.
8177 (update_frame_1): Don't set display_completed here, don't call
8178 update_begin/update_end.
8179
5226a931
GM
8180 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8181 instead of store_frame_param.
8182
2a8bd25f
GM
81832000-08-29 Gerd Moellmann <gerd@gnu.org>
8184
8185 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8186 desired window matrix hasn't been displayed, use the current row
8187 instead. Make sure that only those frame rows are updated for
8188 which there exists a corresponding enabled desired row.
52283633 8189
ba3478d9
MB
81902000-08-29 Miles Bader <miles@gnu.org>
8191
8192 * xfaces.c (default_face_vector): New function.
8193 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8194
87d0f685
GM
81952000-08-29 Gerd Moellmann <gerd@gnu.org>
8196
8197 * lread.c (openp): Prevent temporary string passed to
8198 Ffile_readable_p from being garbage collected.
8199
6fa86045
DL
82002000-08-28 Dave Love <fx@gnu.org>
8201
8202 * keymap.c (store_in_keymap): Add `static' to declaration.
8203
bb17930d
GM
82042000-08-28 Gerd Moellmann <gerd@gnu.org>
8205
8206 * emacs.c, callint.c, doc.c, editfns.c
8207 (toplevel) [HAVE_STRING_H]: Include string.h.
8208 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8209 (index): Remove prototypes which might conflict with non-standard
8210 definitions of index/strchr.
8211
8212 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8213 (rindex): Define only if !HAVE_RINDEX.
8214
8215 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8216
8217 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8218
87188200
MB
82192000-08-28 Miles Bader <miles@gnu.org>
8220
8221 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8222 made inconsistent by a font-related attribute in FROM.
8223 (merge_face_inheritance): Add function comment.
8224
41a68aef
KH
82252000-08-28 Kenichi Handa <handa@etl.go.jp>
8226
8227 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8228 the 4th arg (PREV_EVENT) Qt to suppress input method.
8229
f7c436c1
SM
82302000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8231
0b32bf0e
SM
8232 * regex.c: Indent cpp directives and remove parens after `defined'.
8233 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8234 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8235 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8236 (re_compile_pattern): Use size_t for length.
8237 (init_syntax_once): Move to a better place.
8238 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8239 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8240
f7c436c1
SM
8241 * syntax.c (back_comment): Detect cases where a comment-starter is
8242 actually inside another comment as in: /* a // b */ c // d \n.
8243 Make it clear that `comstart_pos' is unused for nested comments.
8244
8245 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8246 (KEYMAPP): New macro.
8247 (Fkeymap_parent, Fset_keymap_parent): Use it.
8248 (fix_submap_inheritance): Mark it static.
8249 (define_as_prefix, describe_buffer_bindings, describe_command)
8250 (describe_translation, describe_map): Complete prototypes.
8251
8252 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8253
8254 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8255 to better match the key-lookup behavior.
8256
6288c62f
GM
82572000-08-27 Gerd Moellmann <gerd@gnu.org>
8258
8259 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8260 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8261
e931344e
EZ
82622000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8263
8264 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8265 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8266 (xterm.o): Depend on coding.h
8267
d10dfeef
KH
82682000-08-26 Kenichi Handa <handa@etl.go.jp>
8269
8270 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8271 the corresponding '#endif'.
8272
2d73e8d3
MB
82732000-08-26 Miles Bader <miles@gnu.org>
8274
8275 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8276 * xfaces.c (QCinherit): New variable.
8277 (syms_of_xfaces): Initialize it.
8278 (LFACE_INHERIT): New macro.
8279 (Finternal_get_lisp_face_attribute)
52283633 8280 (merge_face_vector_with_property)
2d73e8d3
MB
8281 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8282 (check_lface_attrs): Allow new types of face height. Check
8283 inherit attribute.
8284 (CYCLE_CHECK): New macro.
8285 (merge_face_inheritance): New function.
8286 (merge_face_vectors): Merge inherited faces too. Add F and
8287 CYCLE_CHECK arguments.
8288 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8289 (lookup_named_face, lookup_derived_face, realize_named_face)
8290 (face_at_string_position, face_at_buffer_position): Supply
8291 new F and CYCLE_CHECK arguments to merge_face_vectors.
8292 (merge_face_heights): New function.
52283633 8293 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8294 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8295 handle relative face heights.
8296 (lface_same_font_attributes_p): Compare heights using EQ.
8297
6ce974d4
KH
82982000-08-26 Kenichi Handa <handa@etl.go.jp>
8299
8300 * charset.c (char_to_string): Check the character validity.
52283633 8301 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8302
dc1e502d
SM
83032000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8304
8305 * regex.c (PUSH_FAILURE_COUNT): New macro.
8306 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8307 Handle popping of a register's or a counter's data.
8308 (POP_FAILURE_POINT): Use the new name.
8309 (re_match_2_internal): Push counter data on the stack for succeed_n,
8310 jump_n and set_number_at and remove misleading dead code in succeed_n.
8311
bd9d0f3f
GM
83122000-08-25 Gerd Moellmann <gerd@gnu.org>
8313
8314 * xdisp.c (redisplay_internal): If considering all windows on all
8315 frames, update the display for each frame as soon as possible,
8316 instead of first building all desired matrices for all frames, and
8317 then updating them all.
8318 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8319
aa5b8e15
GM
83202000-08-24 Gerd Moellmann <gerd@gnu.org>
8321
17494071
GM
8322 * bytecode.c (mark_byte_stack): Add a comment.
8323
52283633
SM
8324 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8325 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8326 a graphical frame.
8327
c543db81
KH
83282000-08-24 Kenichi Handa <handa@etl.go.jp>
8329
d246d5f5
KH
8330 * minibuf.c (do_completion): Always use compare-string, not
8331 string-equal because the latter doesn't pay attention to
8332 multibyteness of strings.
8333
c543db81
KH
8334 * process.c (create_process): Don't setup raw-text coding here.
8335 (Fopen_network_stream): Don't set coding->src_multibyte and
8336 coding->dst_multibyte here.
8337 (read_process_output): For process filter, return unibyte string
8338 if default-enable-multibyte-characters is nil.
8339 (send_process): If OBJECT is multibyte text, be sure to encoded it
8340 by the specified coding system for the process. Otherwise, setup
8341 raw-text coding.
52283633 8342 (init_process): Don't initialize default-process-coding-system here.
c543db81 8343
9b47cfe0
EZ
83442000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8345
8346 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8347 <scroll-down-aggressively>: Likewise.
8348
f5a36960
KH
83492000-08-23 Kenichi Handa <handa@etl.go.jp>
8350
8351 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8352 zero. Set coding->produced_char correctly.
8353
69a7ffa7
AI
83542000-08-22 Andrew Innes <andrewi@gnu.org>
8355
8356 * makefile.w32-in: New file.
8357
8358 * unexw32.c (unexec): Ignore old_name, and use the actual location
8359 of the current executable instead. Base new_name on this.
8360
8361 * w32proc.c (create_child): Remove reference to security
8362 descriptor, which isn't needed and doesn't compile with mingw32.
8363
8364 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8365 up dllimport attributes.
8366 (x_update_window_end): Update prototype.
8367
8368 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8369 extern, which screws up dllimport attributes.
8370
8371 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8372 up dllimport attributes.
8373
8374 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8375 screws up dllimport attributes.
8376
8377 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8378 up dllimport attributes.
8379 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8380 screws up dllimport attributes.
8381
8382 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8383 up dllimport attributes.
8384
8385 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8386 screws up dllimport attributes.
8387
8388 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8389 screws up dllimport attributes.
8390
8391 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8392 up dllimport attributes.
8393
8394 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8395 unnecessary extern, which screws up dllimport attributes.
8396 (main): Ditto.
8397
8398 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8399 up dllimport attributes.
8400
8401 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8402 unnecessary extern, which screws up dllimport attributes.
8403
8404 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8405 screws up dllimport attributes.
8406
8407 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8408 up dllimport attributes.
8409
8410 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8411
52283633
SM
8412 * w32bdf.c (search_file_line):
8413 (set_bdf_font_info):
8414 (seek_char):
8415 (w32_get_bdf_glyph):
69a7ffa7
AI
8416 (w32_BDF_to_x_font): Fix compile warnings.
8417
52283633 8418 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8419
8420 * w32select.c: Include keyboard.h before frame.h.
8421
8422 * w32fns.c (max): Define macro.
8423 (JOHAB_CHARSET): Define if not known.
8424 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8425 (Fx_show_tip): Synch with X version.
8426
8427 * w32xfns.c: Include keyboard.h before frame.h.
8428
8429 * w32fns.c: Include keyboard.h before frame.h.
8430
8431 * w32term.c: Include keyboard.h before frame.h.
8432
8433 * fontset.c: Include keyboard.h before frame.h.
8434
8435 * w32inevt.c: Include keyboard.h before frame.h.
8436 (MOUSE_MOVED): Define if not known.
8437
8438 * minibuf.c: Include keyboard.h before frame.h.
8439
8440 * keyboard.c: Include keyboard.h before frame.h.
8441
8442 * indent.c: Include keyboard.h before frame.h.
8443
8444 * dispnew.c: Include keyboard.h before frame.h.
8445
8446 * buffer.c: Include keyboard.h before frame.h.
8447
8448 * alloc.c: Include keyboard.h before frame.h.
8449
8450 * print.c: Include keyboard.h before frame.h.
8451
8452 * process.c: Include keyboard.h before frame.h.
8453
8454 * scroll.c: Include keyboard.h before frame.h.
8455
8456 * sysdep.c: Include keyboard.h before frame.h.
8457
8458 * term.c: Include keyboard.h before frame.h.
8459
8460 * window.c: Include keyboard.h before frame.h.
8461
8462 * xdisp.c: Include keyboard.h before frame.h.
8463 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8464
8465 * frame.c: Include keyboard.h before frame.h.
8466
8467 * w32heap.h: Undefine min, max.
8468
8469 * w32gui.h: Undefine min, max.
8470
8471 * unexw32.c: Change PUCHAR to PCHAR.
8472 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8473 (relocate_offset):
8474 (get_section_info):
69a7ffa7
AI
8475 (copy_executable_and_dump_data): Remove unnecessary static defs.
8476 (copy_executable_and_dump_data): Fix compile warnings.
8477
8478 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8479
8480 * w32console.c (min): Define macro.
8481 (clear_frame, write_glyphs): Fix compile warning.
8482
52283633 8483 * w32proc.c (compare_env):
69a7ffa7
AI
8484 (find_child_console): Fix compile warning.
8485
8486 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8487 sys_errlist instead of _sys_errlist.
8488 (get_emacs_configuration_options): New function.
8489
8490 * s/ms-w32.h (sys_nerr): Provide default definition.
8491 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8492 name with _ prepended.
8493 (NSIG): Define if not known.
8494 (get_emacs_configuration): Provide extern declaration.
8495 (get_emacs_configuration_options): Provide extern declaration.
8496 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8497
8498 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8499 (map_w32_filename):
69a7ffa7
AI
8500 (read_unc_volume): Fix compile warning.
8501
8502 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8503 definitions from being used.
8504
8505 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8506
52283633 8507 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8508 (open_unc_volume): Make arg const.
8509
8510 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8511 (read_input_waiting): Remove excess parameter.
8512
8513 * w32.c (init_environment): Call _access.
8514 (check_windows_init_file): Call _close.
8515 (init_user_info): Call _putenv.
8516 (init_environment): Call _putenv and _strdup.
8517 (init_ntproc): Reset volume info cache on startup.
8518
8519 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8520 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8521 cannot override the CRT malloc.
8522
8523 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8524 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8525
8526 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8527 unless we are linking with a static CRT.
8528 (RVA_TO_PTR): Cast result to unsigned char*.
8529
8530 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8531 (add_volume_info): Use xstrdup.
8532
25060080
SM
85332000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8534
8535 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8536 (do_completion, Fminibuffer_complete_word): Use it.
8537 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8538 var so it can take non-boolean values.
8539
6917e6bb
GM
85402000-08-21 Gerd Moellmann <gerd@gnu.org>
8541
acb7cc89 8542 * editfns.c (find_field): Formatting changes.
52283633 8543 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8544 changed to prototypes, some new protypes added, some functions
8545 made static.
8546
8547 * lisp.h (set_time_zone_rule): Add prototype.
8548 (use_dialog_box): External declaration.
8549
0bbfdc25
GM
8550 * keyboard.c (gen_help_event): Add parameter SIZE.
8551 (kbd_buffer_events_waiting): Slightly rewritten.
8552 (clear_event): New function.
8553 (kbd_buffer_get_event): Use it, and clear the input_events of
8554 HELP_EVENTs.
8555 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8556 don't fill the newly created array with nils.
8557 (toplevel): Convert some old-style function forward declarations
8558 to prototypes.
8559
8560 * keyboard.h (gen_help_event): Change prototype.
8561
8562 * xterm.c (XTread_socket): Change calls to gen_help_event.
8563
8564 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8565
6917e6bb
GM
8566 * eval.c (Fmacroexpand): Doc fix.
8567
e5cd3d11
JR
85682000-08-20 Jason Rumney <jasonr@gnu.org>
8569
8570 * w32term.h (x_display_info_for_display): Remove as this function
8571 does not exist on W32.
8572
8573 * w32term.c (help_echo_window): New variable.
8574 (syms_of_w32term): staticpro it.
8575 (note_mode_line_highlight): Set it.
8576 (XTextExtents16): Removed as there is no equivalent on W32.
8577 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8578 the X way of doing this will not work for W32.
8579 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8580 (x_draw_image_foreground): Avoid drawing outside of the clip area
8581 when image doesn't have a mask.
8582 (note_mouse_highlight): Process overlays in the right order of
8583 priority. Set help_echo_window.
8584 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8585 because that's more visible for large images.
8586
8587 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8588 name to single_keymap_panes.
8589 (w32_menu_show): Set wv->title when dealing with titles.
8590 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8591
6e69ab8c
MB
85922000-08-21 Miles Bader <miles@gnu.org>
8593
8594 * minibuf.c (do_completion): Try again if we rewrite the input
8595 string, but no completion was done, so that any completion message
8596 will be correct.
8597
511bd4eb
GM
85982000-08-20 Gerd Moellmann <gerd@gnu.org>
8599
8600 * xfaces.c (lface_equal_p): Compare strings differently.
8601 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8602 (realize_tty_face): Use them.
8603 (syms_of_xfaces): Initialize new variables.
8604 (map_tty_color): New function, extracted from realize_tty_face.
8605 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8606 foreground or background color, store the new color name in the
8607 realized face; previous code trying to do this had no effect.
8608 (realize_tty_face): Use map_tty_color.
8609 (Fclear_face_cache): Set face_change_count and ensure thorough
8610 redisplay.
8611
1433385f
GM
86122000-08-19 Gerd Moellmann <gerd@gnu.org>
8613
511bd4eb
GM
8614 * undo.c (record_first_change, record_marker_adjustment): Don't
8615 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8616
419ac0a2
KH
86172000-08-18 Kenichi Handa <handa@etl.go.jp>
8618
8619 * coding.c (decode_coding_string): Set members consumed,
8620 consumed_char, produced, produced_char of *coding correctly. If
8621 decode_coding doesn't consume any byte, don't try anymore.
8622 (encode_coding_string): Likewise.
8623
7eb9e30d
GM
86242000-08-18 Gerd Moellmann <gerd@gnu.org>
8625
511bd4eb
GM
8626 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8627 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8628
8629 * xdisp.c (redisplay_internal): Compare windows for equality with
8630 EQ, instead of applying XWINDOW to something that might not
8631 be a window.
52283633 8632
dd34a735
KH
86332000-08-18 Kenichi Handa <handa@etl.go.jp>
8634
8635 * fontset.c (Finternal_char_font): Search only the selected frame
8636 for a window of the current buffer.
8637
385ff9e3
GM
86382000-08-18 Gerd Moellmann <gerd@gnu.org>
8639
511bd4eb 8640 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8641 Lisp_Objects.
8642
385ff9e3
GM
8643 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8644 second half of a HELP_EVENT is found at the start of kbd_buffer.
8645
d6abb4c7
MB
86462000-08-18 Miles Bader <miles@gnu.org>
8647
4618074a
MB
8648 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8649
d6abb4c7
MB
8650 * editfns.c (save_restriction_save): Rewrite to use markers.
8651 (save_restriction_restore): Rewrite to understand new form of data
8652 saved by save_restriction_save.
8653 (Fsave_restriction): Remove cautionary note in doc-string.
8654
a7b28523
GM
86552000-08-17 Gerd Moellmann <gerd@gnu.org>
8656
8657 * fileio.c (build_annotations): Add a comment explaining the
8658 return value of format-annotate-function. Replace a spurious call
8659 to Flength with a CONSP test. Call format-annotate-function with
8660 a fifth arg specifying how many times the function is been called
8661 in a row, to let it choose temporary buffers appropriately.
8662
03c9ed77
DL
86632000-08-17 Dave Love <fx@gnu.org>
8664
8665 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8666 declare make_temp_name twice.
8667
52283633 8668 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8669 (unreadpure): Give it an arg.
8670
8671 * unexalpha.c: Prototype fatal_unexec, mark_x,
8672 update_dynamic_symbols. Declare unexec as void.
8673
8674 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8675 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8676
8677 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8678 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8679
8680 * alloca.c: Use #error.
8681 [POINTER_TYPE]: Use it.
8682
8683 * eval.c (Fdefvar): Doc fix.
8684
8685 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8686 INITIALIZE_INTERVAL.
8687
8688 * buffer.h: Avoid DECLARE_INTERVALS.
8689
8690 * config.in: Add size_t.
8691
aae41d97
EZ
86922000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8693
8694 * w16select.c (set_clipboard_data): If there's not enough memory
8695 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8696 expects. In case of other failures, return 3.
8697 (system_error_msg): New error message.
8698 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8699 system_error_msg.
8700
65aa5e85
GM
87012000-08-16 Gerd Moellmann <gerd@gnu.org>
8702
8703 * term.c (write_glyphs): Also turn off inverse video after turning
8704 off other appearances in case TS_exit_attribute_mode is not equal
8705 to TS_end_standout_mode.
8706 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8707 with the same face.
8708 (turn_off_face): Reset standout_mode only if
8709 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8710 is equal to TS_end_standout_mode.
8711
ece23901
KH
87122000-08-16 Kenichi Handa <handa@etl.go.jp>
8713
9d7bcb2e
KH
8714 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8715 sequence at the end of the source block.
8716
ece23901
KH
8717 * ccl.c (Fccl_program_p): Docstring modified.
8718 (Fccl_execute): Likewise.
8719 (Fccl_execute_on_string): Likewise.
8720
5e30eaa2
EZ
87212000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8722
8723 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8724
290602fd
KH
87252000-08-16 Kenichi Handa <handa@etl.go.jp>
8726
8727 The following changes are mainly to fix bugs of
8728 encode/decode-coding-string failing if encoding/decoding return
8729 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8730 variable conversion_buffer.
8731
8732 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8733 decrement dst_end to avoid buffer overflow in the later call of
8734 string_as_multibyte
8735
8736 * coding.h (conversion_buffer_size, conversion_buffer)
8737 (get_conversion_buffer): Extern deleted.
8738
8739 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8740 (conversion_buffer, conversion_buffer_size): Variables deleted.
8741 (get_conversion_buffer): Function deleted.
8742 (struct conversion_buffer): New structure.
8743 (MAX_ALLOCA): New macro.
8744 (allocate_conversion_buffer): New macro.
8745 (extend_conversion_buffer, free_conversion_buffer): New functions.
8746 (ccl_coding_driver): Set coding->result.
8747 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8748 this is the last block of source.
8749 (encode_coding): Likewise. Handle the source block as the last
8750 one only when the whole source text is consumed.
8751 (decode_coding_string): Handle the case that the output buffer is
8752 too small to decode the whole source text. Use
8753 allocate_conversion_buffer, extend_conversion_buffer and
8754 free_conversion_buffer, not get_conversion_buffer.
8755 (encode_coding_string): Likewise.
8756 (init_coding): Function deleted.
52283633 8757 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8758
8759 * emacs.c (main): Don't call init_coding.
8760
52283633 8761 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8762
8763 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8764 (insert_glyphs): Likewise.
8765
8766 * w32console.c (write_glyphs): Use a locally declared
8767 conversion_buffer.
8768
b9f80d41
EZ
87692000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8770
8771 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8772 member of display_info is NULL.
8773
32dc52f7
GM
87742000-08-15 Gerd Moellmann <gerd@gnu.org>
8775
52283633 8776 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8777
32dc52f7 8778 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8779 appearances with capability `me'.
32dc52f7
GM
8780 (write_glyphs): Switch on inverse video before each face change.
8781
4eb22d33
DL
87822000-08-14 Dave Love <fx@gnu.org>
8783
8784 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8785 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8786 (lisp_free): Declare and make static.
8787
8788 * window.c: Fix embedded comment.
8789 (syms_of_window): Fix doc string.
8790
90cbf47e
GM
87912000-08-14 Gerd Moellmann <gerd@gnu.org>
8792
52283633 8793 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
8794 make sure to print `C-' before `M-', like in the manual.
8795
440fc135
GM
87962000-08-11 Gerd Moellmann <gerd@gnu.org>
8797
8798 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8799 since they aren't relocated anymore.
52283633 8800 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
8801
8802 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 8803 partially visible line which is smaller than the window's height.
440fc135 8804
6e264fad
KH
88052000-08-11 Kenichi Handa <handa@etl.go.jp>
8806
8807 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 8808 the multibyte form of eight-bit-control characters.
6e264fad
KH
8809 (Fccl_execute_on_string): Initialize ccl->multibyte.
8810
8811 * ccl.h (struct ccl_program): New member multibyte.
8812
8813 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
8814
c371f69a
KH
88152000-08-11 Kenichi Handa <handa@etl.go.jp>
8816
8817 * regex.c (regex_compile) <normal_char>: Pay attention to
8818 multibyteness.
8819 (analyse_first) <exactn>: Setup fastmap correctly for
8820 eight-bit-control characters.
8821
88222000-08-11 Kenichi Handa <handa@etl.go.jp>
8823
52283633 8824 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
8825
8826 * keyboard.c (make_lispy_event): Handle the new event type
8827 multibyte_char_keystroke.
8828
8829 * xterm.c: Include coding.h.
8830 (XTread_socket): Work around a bug of XmbLookupString. If the
8831 input is from XIM, decode it according to the current locale. In
8832 that case, generate multibyte_char_keystroke events.
8833
b8ddbe71
KH
88342000-08-11 Kenichi Handa <handa@etl.go.jp>
8835
8836 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
8837 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
8838
47589c8c
GM
88392000-08-10 Gerd Moellmann <gerd@gnu.org>
8840
8841 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
8842 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
8843 (move_it_in_display_line_to): Record iterator's ascent and descent
8844 before producing glyphs, and restore them when we know the glyph
8845 doesn't fit on the line.
8846 (move_it_to): Restructured so that it's easier to debug. If
8847 moving to a vpos, and not moving to an x or character position,
8848 stop as soon as the specified vpos is reached; don't move further
8849 into that line because that might change the computed line height.
8850 (try_cursor_movement): New function, extracted from the cursor
8851 movement branch of redisplay_window. If ending on a partially
8852 visible line, don't try to scroll if the cursor line is taller
8853 than the window.
8854 (redisplay_window): Use try_cursor_movement.
8855
8856 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8857 because that function doesn't cope with variable-height lines.
8858
8859 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8860 box cursor because that's better visible for large images.
52283633 8861
c51bacd6
MB
88622000-08-10 Miles Bader <miles@gnu.org>
8863
8864 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8865
bea56df7
GM
88662000-08-10 Gerd Moellmann <gerd@gnu.org>
8867
8868 * xdisp.c (Vmessages_buffer_name): New variable.
8869 (message_dolog): Use it.
8870 (syms_of_xdisp): Initialize it.
8871
99cd7364
EZ
88722000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8873
52283633 8874 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
8875 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8876 redundant now that keyboard.h is included.
8877
7d093d56
EZ
88782000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8879
8880 * keyboard.c (kbd_buffer_events_waiting): New function.
8881
8882 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8883
8884 * msdos.c: Include keyboard.h.
8885 (XMenuActivate): Empty no_event events from the event buffer. If
8886 no events are left after that, call clear_input_pending.
8887 (mouse_clear_clicks): New function, code moved from mouse_init.
8888 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8889 mouse driver to ``forget'' any past clicks.
8890
8891 * Makefile.in (msdos.o): Depend on keyboard.h.
8892
41e757a6
GM
88932000-08-09 Gerd Moellmann <gerd@gnu.org>
8894
8e7bd231
GM
8895 * lisp.h (input_pending): External declaration.
8896
8897 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8898
8e7bd231
GM
8899 * xdisp.c (echo_area_display): Display thoroughly if input is
8900 pending. Bind redisplay-dont-pause to t during the redisplay.
8901 in case input is pending.
8902
8903 * dispnew.c (Qredisplay_dont_pause): New variable.
8904 (syms_of_display): Initialize and staticpro it.
8905 (update_frame_1): Don't interrupt the display for pending input if
8906 redisplay_dont_pause is set.
52283633 8907
43028b7e
GM
8908 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8909
41e757a6
GM
8910 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8911
2f2174fa
KH
89122000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8913
8914 * callproc.c (Fcall_process): Terminate the unwind-protect around
8915 the post-read-conversion of coding system.
8916
0a6fd67e
MB
8917 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8918 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8919 * buffer.h (overlays_at): Update prototype.
8920 * xdisp.c (next_overlay_change): Update call to overlays_at.
8921 * xfaces.c (face_at_buffer_position): Likewise.
8922 * textprop.c (Fget_char_property): Likewise.
8923 * xterm.c (note_mouse_highlight): Likewise.
8924
0c80756e
MB
8925 * minibuf.c (do_completion): Don't consider a simple change of
8926 case as `completion'.
8927
975f250a
KR
89282000-08-08 Ken Raeburn <raeburn@gnu.org>
8929
52283633 8930 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8931 * undo.c (record_delete): Make sure last_point_position_buffer is
8932 a buffer before comparing pointers.
8933
8934 * coding.h (decode_coding_string): Declare.
8935
8936 * intervals.h (Fprevious_single_char_property_change): Declare.
8937
8938 * textprop.c (Fprevious_single_char_property_change): Don't do
8939 arithmetic directly on lisp objects.
8940
52283633 8941 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
8942
8943 * keyboard.h (menu_item_eval_property): Declare.
8944
8945 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8946 reuse as buffer name, instead of recreating (and discarding) every
8947 time a message is logged.
8948 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
8949 (current_message_1, truncate_message_1, set_message_1)
8950 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8951 (current_message, truncate_echo_area, display_echo_area)
8952 (resize_echo_area_axactly): Changed calls.
b347b3fd 8953
975f250a 8954 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 8955 Lisp object.
975f250a 8956 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 8957 must be an integer, not a Lisp object.
975f250a 8958
46dc9912
KH
89592000-08-08 Kenichi Handa <handa@etl.go.jp>
8960
8961 * charset.c (Fchar_width): Doc fix.
8962
9f6d1a6c
GM
89632000-08-08 Gerd Moellmann <gerd@gnu.org>
8964
8965 * charset.c (Fstring_width): Doc fix.
8966
ff3d9573
GM
89672000-08-07 Gerd Moellmann <gerd@gnu.org>
8968
41e757a6 8969 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
8970 line, clear ascent and descent members of the iterator structure;
8971 the height of the continued line does not affect the height of the
8972 continuation line.
8973 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8974 line taller than the window.
8975 (redisplay_window) <forced window start>: Handle case that the
8976 middle of the window is not found in any row.
8977 (dump_glyph_row): Show more information.
8978 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8979 first text line in a glyph matrix.
8980
8981 * xterm.c (x_draw_image_foreground): Avoid drawing outside
8982 of the clip area when image doesn't have a mask.
8983
70fc58b3
GM
8984 * fns.c (sweep_weak_table): Fix survival conditions for
8985 key-or-value and key-and-value weakness.
8986
8987 * .gdbinit (xhashtable): New command.
8988
ac0e96ee
GM
8989 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
8990 tables out of the list of all weak hash tables.
8991
ff3d9573
GM
8992 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
8993 a new buffer is created, make sure echo_area_buffer[] references
8994 the new buffer.
8995
e0d8827b
EZ
89962000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
8997
8998 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
8999 the doc string.
9000
c6f35378
KH
90012000-08-07 Kenichi Handa <handa@etl.go.jp>
9002
9003 * syntax.c (skip_chars): Fix previous change. Make the handling
9004 of unibyte string consistent with that of regex search.
9005
1fd4c450
GM
90062000-08-05 Gerd Moellmann <gerd@gnu.org>
9007
e49aa397
GM
9008 * xmenu.c (popup_get_selection): Use xfree instead of free.
9009
9010 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9011
9012 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9013
9014 * callproc.c (child_setup): Use xfree instead of free.
9015
9016 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9017 instead of malloc.
9018 (run_mac_command, closedir): Use `xfree' instead of `free'.
9019
9020 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9021
9022 * eval.c (error): Use xfree instead of free.
9023
1fd4c450
GM
9024 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9025
9026 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9027 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9028
82d497fc
KH
90292000-08-05 Kenichi Handa <handa@etl.go.jp>
9030
9031 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9032 conversion.
9033
59f953a2
NF
90342000-08-04 Noah Friedman <friedman@splode.com>
9035
9036 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9037 docstring.
9038
688351f2
GM
90392000-08-04 Gerd Moellmann <gerd@gnu.org>
9040
9041 * syntax.c (skip_chars): Fix typo in error message.
9042
2dad51cc
AS
90432000-08-04 Andreas Schwab <schwab@suse.de>
9044
9045 * m/ia64.h: Moved from s/ia64.h.
9046
99bb2c60
KH
90472000-08-04 Kenichi Handa <handa@etl.go.jp>
9048
082a1df2
KH
9049 * process.c (read_process_output): Big simplification. Handle
9050 composition and post-read-conversion of coding system correctly.
9051 (send_process): Handle composition correctly.
9052
9053 * callproc.c (Fcall_process): Handle post-read-conversion of
9054 coding system if any.
9055
99bb2c60
KH
9056 * coding.c (decode_coding_iso2022): More strict check for handling
9057 single shifting.
082a1df2
KH
9058 (coding_restore_composition): Pay attention to the case that
9059 cmp_data is not set properly (because of invalid code in the
9060 source text).
9061 (run_pre_post_conversion_on_str): Include text properties in the
9062 resulting string.
9063 (decode_coding_string): Set members of coding correctly.
99bb2c60 9064
f4988be7
GM
90652000-08-03 Gerd Moellmann <gerd@gnu.org>
9066
9067 * s/ia64.h: New file.
9068
9069 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9070 Use NULL instead of 0 at the end of variable argument list of
9071 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9072 sizeof (int) < sizeof (void *).
9073
9074 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9075 of variable argument lists of XtVaGetValues and XtVaSetValues.
9076
9077 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9078 variable argument lists of XtVaGetValues and XtVaSetValues.
9079
ead53494
GM
90802000-08-02 Gerd Moellmann <gerd@gnu.org>
9081
9082 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9083 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9084
9085 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9086 prototype.
9087
9088 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9089 in call to Fsingle_key_description.
9090
9091 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9092 Callers changed.
9093
90942000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9095
9096 * window.c (display_buffer_reuse_frames): New variable.
9097 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9098 frames displaying BUFFER.
52283633 9099 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9100
10b0f752
MB
91012000-08-01 Miles Bader <miles@gnu.org>
9102
9103 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9104 when to constrain NEW_POS (they were pretty screwed up before).
9105
16425c4a
EZ
91062000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9107
9108 * msdos.c (run_msdos_command): Save and restore the master
9109 environment, for the case that child_setup signals an error.
9110 When mirroring slashes in DOS shell commands, don't fail when
9111 argv[2] has embedded blanks.
da288c14
EZ
9112 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9113 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9114 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9115
9116 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9117 using alloca; free it after run_msdos_command returns.
9118
27f73852
DL
91192000-07-27 Dave Love <fx@gnu.org>
9120
52283633
SM
9121 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9122 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9123
9124 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9125
c0261b5e
EZ
91262000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9127
9128 * editfns.c (lisp_time_argument): Fix last change.
9129
b548072f
GM
91302000-07-27 Gerd Moellmann <gerd@gnu.org>
9131
3ab82477
GM
9132 * fns.c (Fdelete): Make it work on vectors and strings in addition
9133 to lists.
9134
b548072f
GM
9135 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9136 (syms_of_fns): Initialize new variables.
52283633 9137 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9138 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9139 weakness, with t meaning the same as `key-and-value'.
9140
91ae8751
KH
91412000-07-27 Kenichi Handa <handa@etl.go.jp>
9142
9143 * coding.h (struct coding_system): Member safe_charset deleted.
9144
9145 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9146 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9147 New variables.
91ae8751
KH
9148 (coding_safe_chars): New function.
9149 (CODING_SAFE_CHAR_P): New macro.
9150 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9151 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9152 (detect_coding_iso2022): New local variable safe_chars.
9153 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9154 safe_charsets member of the coding system.
9155 (decode_coding_iso2022): New local variable safe_chars.
9156 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9157 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9158 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9159 (ENCODE_UNSAFE_CHARACTER): New macro.
9160 (encode_coding_iso2022): New local variable safe_chars. Check
9161 unsafe chars.
9162 (setup_coding_system): Delete the code to initialize
9163 coding->safe_charses
9164 (intersection, find_safe_codings): New functions.
9165 (Ffind_coding_systems_region_internal): New function.
9166 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9167 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9168 variable and initialize it.
9169
9170 * fns.c (char_table_ref_and_index): New function.
9171
9172 * lisp.h (char_table_ref_and_index): Add prototype.
9173
34a7a267
SS
91742000-07-26 Sam Steingold <sds@gnu.org>
9175
9176 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9177 (Ffloat_time): New built-in Lisp function.
34a7a267 9178
a95cb10a
GM
91792000-07-26 Gerd Moellmann <gerd@gnu.org>
9180
3353ef5a
GM
9181 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9182 for the character code.
9183
9184 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9185 GNU/Linux.
9186
a95cb10a
GM
9187 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9188 if called for a popup menu.
9189 (xmenu_show): Store help string in widget values.
9190
b4a12321
DL
91912000-07-26 Dave Love <fx@gnu.org>
9192
9193 * syswait.h: Move some definitions.
9194 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9195 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9196 perspicuous definitions.
9197 (WTERMSIG): Fix bit pattern used.
9198
13f5ad37
KH
91992000-07-26 Kenichi Handa <handa@etl.go.jp>
9200
9201 * print.c (print_object): If vector printing is truncated, print
9202 "..." to indicate it as well as the case of list printing.
9203
070fe99c
GM
92042000-07-25 Gerd Moellmann <gerd@gnu.org>
9205
969065c3
GM
9206 * xdisp.c (next_element_from_display_vector): Improve comments.
9207
9208 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9209 for the character code, and the rest for the face id as in 20.x.
9210 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9211
9212 * window.c (window_display_table): Cleaned up.
9213
070fe99c
GM
9214 * syntax.c (Fforward_word): Add last arg nil in call of
9215 Fconstrain_to_field.
9216
bad77ef7
EZ
92172000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9218
969065c3 9219 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9220 identical but for the letter-case, don't call
9221 barf_or_query_if_file_exists.
bad77ef7 9222
c28da489
MB
92232000-07-25 Miles Bader <miles@gnu.org>
9224
9225 * editfns.c (find_field): Honor special `boundary' fields.
9226 (Qboundary): New variables.
9227 (syms_of_editfns): Initialize Qboundary.
9228 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9229 Use scan_buffer instead of find_before_next_newline, because it
9230 allows us to detect the boundary case where there's a newline at
9231 the search limit.
9232 * lisp.h (Fconstrain_to_field): Update external declaration.
9233
e3c31fd5
GM
92342000-07-24 Gerd Moellmann <gerd@gnu.org>
9235
9236 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9237 if that is nil.
c28da489 9238
c66c29a2
DL
92392000-07-24 Dave Love <fx@gnu.org>
9240
9241 * s/sunos4-0.h, s/sol2.h:
9242 (LIBS_TERMCAP): Move from m/sparc.h.
9243
9244 * m/sparc.h (TERMINFO): Moved to system files (probably only
9245 relevant for sunos4 judging by its vintage).
9246 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9247 __arch64__.
9248
fbe0a958
EZ
92492000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9250
9251 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9252 name to single_keymap_panes.
9253
7d88e5c9
AS
92542000-07-24 Andreas Schwab <schwab@suse.de>
9255
9256 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9257
e024b101
GM
92582000-07-24 Gerd Moellmann <gerd@gnu.org>
9259
9260 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9261 parameters instead of using int parameters. Expect FN to accept
9262 EMACS_INT parameters.
9263 (display_echo_area, resize_echo_area_axactly, current_message)
9264 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9265 with new argument list.
9266 (resize_mini_window_1): New callback function.
9267 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9268 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9269
25c1a9ce
KH
92702000-07-24 Kenichi Handa <handa@etl.go.jp>
9271
9272 * fontset.c (fontset_ref): Remove INLINE declaration.
9273 (fontset_ref_via_base): Likewise.
9274 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9275 to downcase.
9276
7f987ac0
EZ
92772000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9278
9279 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9280 correct order of priority. If help echo was found in an overlay,
9281 use that overlay as the object in which the help echo was found.
9282
e2db3069
MB
92832000-07-22 Miles Bader <miles@gnu.org>
9284
9285 * textprop.c (Fprevious_single_char_property_change): The initial
9286 property value should be from the position preceding POSITION, not
9287 following it.
9288
5e3203e4
EZ
92892000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9290
9291 * coding.c (syms_of_coding): Doc fix for
9292 inhibit-iso-escape-detection.
9293
62145073
GM
92942000-07-21 Gerd Moellmann <gerd@gnu.org>
9295
c20aeb83
GM
9296 * xterm.c (note_mouse_highlight): Process overlays in the right
9297 order of priority.
34a7a267 9298
743934db
GM
9299 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9300
9301 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9302 overlay, use that overlay as the object in which the help was found.
743934db 9303
d1dc7e43 9304 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9305
62145073
GM
9306 * window.c (foreach_window): Instead of a fake variable argument
9307 list, take one USER_DATA argument.
9308 (foreach_window_1): Likewise, and call callback functions with two
9309 args, the window and USER_DATA.
9310 (struct check_window_data): New struct.
9311 (check_window_containing): Use it.
9312 (window_from_coordinates): Set up a struct check_window_data for
9313 foreach_window.
9314 (add_window_to_list, freeze_window_start): Change parameters
9315 according to new calling convention.
9316
9317 * window.h (foreach_window): Change prototype.
9318
9319 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9320
93212000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9322
9323 * xmenu.c (menu_help_callback): Call show_help_echo with
9324 additional arguments OBJECT and POS.
9325
11270583
KH
93262000-07-21 Kenichi Handa <handa@etl.go.jp>
9327
07b14857
KH
9328 * data.c (Faset): Allow storing any multibyte character in a
9329 string. Convert unibyte string to multibyte if necessary.
9330
11270583
KH
9331 * xfns.c (x_encode_text): New function.
9332 (x_set_name): Use x_encode_text.
9333 (x_set_title): Likewise.
9334
9335 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9336
9337 * xterm.h (x_encode_text): Add prototype.
9338
bc75b4fd
DL
93392000-07-20 Dave Love <fx@gnu.org>
9340
9341 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9342 xfree, not free.
9343
48c14970
EZ
93442000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9345
9346 * msdos.c (help_echo_window): New variable.
9347 (syms_of_msdos): Initialize and staticpro it.
9348 (IT_note_mode_line_highlight): Set help_echo_window.
9349 (IT_note_mouse_highlight): Ditto.
9350 (dos_rawgetc): Store help_echo_window in the second event produced
9351 for HELP_EVENTs.
9352
9353 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9354 Record the object that generated the help echo and the position of
9355 that object in help_echo_object and help_echo_pos. Record that
9356 some glyphs in a row are displayed in mouse-face.
9357 (IT_update_begin): Don't clear mouse highlight unless one of the
9358 enabled glyph rows is marked as being displayed in mouse-face.
9359 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9360 and position recorded in help_echo_object and help_echo_pos to the
9361 event queue.
9362 (IT_menu_display): Accept a new argument PN: the pane number of
9363 the current menu pane. Record the pane number and the item
9364 number of the item which has associated help string.
9365 (XMenuActivate): Update the prototype for help_callback in
9366 function declaration. Call IT_menu_display with the current menu
9367 pane number as an additional argument. Call help_callback with
9368 two additional arguments: the pane number and the item number of
9369 the menu item associated with the help text.
9370 (help_echo_object, help_echo_pos): New variables.
9371 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9372
9373 * msdos.h (XMenuActivate): Update prototype.
9374
4279296d
GM
93752000-07-19 Gerd Moellmann <gerd@gnu.org>
9376
47db06aa
GM
9377 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9378 Add some more prototypes.
9379
9380 * xterm.c, xterm.h: Add some more prototypes.
9381
9382 * lisp.h (Fnext_single_char_property_change): Add prototype.
9383
9384 * dispnew.c (direct_output_for_insert): Remove confusing
9385 outer local variable mouse_face_overwritten_p.
9386 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9387
4279296d
GM
9388 * alloc.c (allocate_string_data): Don't copy old string contents.
9389
670acd62
KH
93902000-07-19 Kenichi Handa <handa@etl.go.jp>
9391
9392 * coding.c (code_convert_region): Delete text properties before
9393 shrinking the conversion region.
9394
7cea38bc
GM
93952000-07-18 Gerd Moellmann <gerd@gnu.org>
9396
dc1cac59
GM
9397 * dispnew.c (update_text_area): Write the whole row if it
9398 has mouse-face in it.
9399
85a8aca9
GM
9400 * xfaces.c (face-alternative-font-family-alist): Remove
9401 DEFVAR_LISP; staticpro instead.
9402
34a7a267 9403 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9404 new arguments.
9405
9406 * keyboard.c (show_help_echo): Add parameter WINDOW.
9407 (read_char): Call show_help_echo with window extracted from Lisp
9408 help event.
9409 (gen_help_event): Add parameter WINDOW.
9410
9411 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9412
9413 * xterm.c (help_echo_window): New variable.
52283633 9414 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9415 (XTread_socket): Pass help_echo_window to gen_help_event.
9416 (syms_of_xterm): Initialize and staticpro help_echo_window.
9417
f8276b77
DL
94182000-07-18 Dave Love <fx@gnu.org>
9419
52283633 9420 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9421
088831a6
GM
94222000-07-18 Gerd Moellmann <gerd@gnu.org>
9423
3d6cd763
GM
9424 * alloc.c (allocate_string_data): If string had already data
9425 assigned, copy old contents to new string data.
9426
9427 * coding.c (syms_of_coding): Fix typo in spelling of variable
9428 `inhibit-iso-escape-detection'.
9429
088831a6
GM
9430 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9431
9432 * Makefile.in: Add dependencies on dispextern.h.
9433 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9434 `free'; both can conflict with system header files.
9435
bc8a8d55
KH
94362000-07-18 Kenichi Handa <handa@etl.go.jp>
9437
9438 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9439 undefined.
9440
069f5950
DL
94412000-07-18 Dave Love <fx@gnu.org>
9442
9443 * window.c (Fwindow_list): Declare arg `window'.
9444
aa96c820
KH
94452000-07-18 Kenichi Handa <handa@etl.go.jp>
9446
9447 * coding.c (setup_coding_system): Don't override the explicitly
9448 specified designations.
9449
06be8d32
MB
94502000-07-15 Miles Bader <miles@gnu.org>
9451
9452 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9453 from `text_property_eq' and `text_property_stickiness', respectively.
9454 (find_field, Fconstrain_to_field, char_property_eq)
9455 (char_property_stickiness): Changed to call char-property functions
9456 instead of text-property-only ones.
9457
9458 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9459 `next_single_char_property_change'). Do more error checking, and
9460 cleanup limit behavior.
9461 (Fprevious_single_char_property_change): New function.
9462 (syms_of_textprop): Initialize new subrs.
9463
9464 * xdisp.c (display_prop_end, invisible_text_between_p):
9465 Call Fnext_single_char_property_change instead of
9466 next_single_char_property_change.
9467
3fddcdc3
JR
94682000-07-15 Jason Rumney <jasonr@gnu.org>
9469
9470 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9471 after menu is finished with.
9472 (add_menu_item): Only consider wv->title as a menu title.
9473 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9474
9475 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9476 null title.
9477 (FONT_REGEXP): Remove unused macro, and its sub-components.
9478 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9479
9480 * w32term.c (help_echo_object, help_echo_pos): New variables.
9481 (note_mode_line_highlight): Store additional information about the
9482 help-echo in help_echo_object and help_echo_pos. Check both
9483 `local-map' and `keymap' properties for changing the cursor
9484 (note_mouse_highlight): Store additional information about the
9485 help-echo in help_echo_object and help_echo_pos.
9486 (note_tool_bar_highlight): Set help_echo_object to nil and
9487 help_echo_pos to -1.
9488 (w32_read_socket): Use gen_help_event instead of filling
9489 input_events manually.
9490 (syms_of_w32term): Staticpro help_echo_object.
9491 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9492 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9493 (x_clear_mouse_face): New function.
9494 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9495 (x_update_window_begin): No need to turn off the mouse
9496 highlight here.
9497 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9498 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9499 (x_fill_stretch_glyph_string): Consume runs of stretch
9500 glyphs instead of a single one.
9501 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9502 with new argument list.
9503 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9504 (x_append_glyph, x_append_composite_glyph)
9505 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9506 changes in struct glyph starting 1999-12-27. See comments for
9507 xterm.c on 2000-07-05.
9508
178c5d9c
SS
95092000-07-14 Sam Steingold <sds@gnu.org>
9510
9511 * xfaces.c (realize_x_face): Fix the last patch:
9512 check `default_face' before dereferencing.
9513
6fe533f6
DL
95142000-07-14 Dave Love <fx@gnu.org>
9515
069f5950 9516 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9517
dd7b81cf
KH
95182000-07-14 Kenichi Handa <handa@etl.go.jp>
9519
0693904a 9520 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9521 default_face's fontset, not using the default fontset.
0693904a 9522
dd7b81cf
KH
9523 * coding.c (inhibit_iso_escape_detection): New variable.
9524 (syms_of_coding): Make it a Lisp variable.
9525 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9526 nonzero, ignore ISO2022's escape sequence.
9527
d5aa31d8
GM
95282000-07-14 Gerd Moellmann <gerd@gnu.org>
9529
e5acf0ca
GM
9530 * alloca.c (malloc) [emacs]: Define as xmalloc.
9531
bd23a692
GM
9532 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9533 use that instead of the mouse position. Add parameters DX and DY.
9534
9535 * dispextern.h (Fx_show_tip): Adjust number of parameters
9536 in prototype.
9537
9662da0b
GM
9538 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9539 if HELP is a function, call it with OBJECT and POS as parameters
9540 to get the help to display.
9541 (gen_help_event, kbd_buffer_store_help_event): New functions.
9542 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9543 (read_char): Call show_help_echo with new parameters.
9544
178c5d9c 9545 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9546 Add prototypes.
9547
9548 * xterm.c (help_echo_object, help_echo_pos): New variables.
9549 (note_mode_line_highlight): Store additional information about the
9550 help-echo in help_echo_object and help_echo_pos. Check both
9551 `local-map' and `keymap' properties for changing the cursor
9552 (note_mouse_highlight): Store additional information about the
9553 help-echo in help_echo_object and help_echo_pos.
9554 (note_tool_bar_highlight): Set help_echo_object to nil and
9555 help_echo_pos to -1.
9556 (XTread_socket): Use gen_help_event instead of filling
9557 input_events manually.
9558 (syms_of_xterm): Staticpro help_echo_object.
9559
9560 * xmenu.c (menu_highlight_callback): Use
9561 kbd_buffer_store_help_event instead of setting up and input_event
9562 structure manually.
9563
9564 * xdisp.c (eval_form): GCPRO argument sexpr.
9565 (call_function): New function.
9566 (handle_single_display_prop): Use call_function and FUNCTIONP
9567 instead of checking whether if font_height is a symbol and
9568 using eval_form.
9569
9570 * eval.c (internal_condition_case_2): New function.
9571
9572 * lisp.h (FUNCTIONP): New macro.
9573 (internal_condition_case_2, call_function): Add prototypes.
9574
d5aa31d8
GM
9575 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9576 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9577 Always set `arg' member of input_events.
9578 (construct_menu_click): Unused function removed.
9579
9580 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9581
9582 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9583 (construct_drag_n_drop, x_scroll_bar_handle_click)
9584 (w32_read_socket): Always set `arg' member of input_events.
9585
9586 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9587
9588 * lisp.h (eval_form): Add prototype.
9589
9590 * xdisp.c (eval_form): Make it externally visible.
9591
0f1a9b23
GM
95922000-07-13 Gerd Moellmann <gerd@gnu.org>
9593
9594 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9595 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9596 consing. For prefix events, store the frame in the `arg' slot of
9597 the event, otherwise store the key there.
9598 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9599 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9600
9601 * xmenu.c (menu_highlight_callback): Store help string in the
9602 `arg' member of the input event; don't cons.
9603 (menubar_selection_callback): Use the `arg' slot of input events
9604 to queue additional information, instead of consing.
9605
9606 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9607
9608 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9609 TOOL_BAR_EVENTs.
9610 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9611
9612 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9613 input events to queue additional information, instead of consing.
9614
9615 * keyboard.c (kbd_buffer_gcpro): Renamed from
9616 kbd_buffer_frame_or_window. Now used for all Lisp objects
9617 referenced from the input queue.
9618 (kbd_buffer_store_event): Always use structure assignment for
9619 copying input events. Record all Lisp objects referenced from
9620 events in kbd_buffer_gcpro.
9621 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9622 differently from input events. Test for prefix menu_bar_events
9623 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9624 event in kbd_buffer_gcpro to nil.
9625 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9626 frame_or_window is equal to its arg member as prefix events.
9627 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9628 used by an input event to nil.
9629 (init_keyboard): Use two times the size of the input queue
9630 for kbd_buffer_gcpro.
9631 (syms_of_keyboard): Likewise.
9632
52283633
SM
9633 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9634 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9635
9636 * termhooks.h (struct input_event): Add member `arg'.
9637 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9638 (USER_SIGNAL_EVENT): Renamed from user_signal.
9639
9640 * xfaces.c (ASET): Remove definition.
9641
9642 * lisp.h (AREF, ASET, ASIZE): New macros.
9643
9644 * fontset.c (AREF, ASIZE): Remove definitions.
9645
9646 * fns.c (AREF): Remove definition.
178c5d9c 9647
0f1a9b23
GM
9648 * composite.c (AREF): Remove definition.
9649
712eaef2
GM
96502000-07-12 Gerd Moellmann <gerd@gnu.org>
9651
d8ee7803
GM
9652 * dispnew.c (redraw_overlapped_rows): Add missing local.
9653 (scrolling_window): Remove debug code.
9654
712eaef2
GM
9655 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9656 Before scrolling, turn off a mouse-highlight in the window
9657 being scrolled.
9658
9659 * xterm.c (x_update_window_end): Add parameter
9660 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9661 redisplay in XTframe_up_to_date.
9662 (x_clear_mouse_face): New function.
9663 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9664
9665 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9666 current glyph row.
9667 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9668 it when any row is written to that contains glyphs highlighted in
9669 mouse-face.
9670 (update_window): Call the window update end hook with new
9671 parameter MOUSE_FACE_OVERWRITTEN_P.
9672 (direct_output_for_insert): Give up if row contains mouse-face.
9673
9674 * dispextern.h (struct redisplay_interface): Add parameter
9675 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9676 (clear_mouse_face): New function pointer member.
9677
02010917
SM
96782000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9679
9680 * syntax.c (back_comment): Use one switch rather than a few `if's.
9681 Obey open_paren_in_column_0_is_defun_start.
9682 When reverting to the `slow' method, try to nicely handle the case
9683 of nested comments by checking that the comment-starter we found
9684 does indeed match the comment-ender.
9685 (scan_sexps_forward, scan_sexps_forward):
9686 Ignore excessive opening parenthesis rather than throwing an error.
9687
d76c03ea
GM
96882000-07-11 Gerd Moellmann <gerd@gnu.org>
9689
9690 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9691 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9692
9693 * dispnew.c (direct_output_forward_char): Give up if currently
9694 displaying a message instead of the minibuffer contents.
9695
9696 * xterm.c (x_update_window_begin): No need to turn off the mouse
9697 highlight here.
9698 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9699 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9700
9701 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9702 compare the mouse_face_p flags of both rows.
9703
9704 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9705
d55ead18
EZ
97062000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9707
9708 * keyboard.c (show_help_echo): Accept additional parameter
9709 ok_to_overwrite_keystroke_echo.
9710 (read_char): Call show_help_echo with a zero
9711 ok_to_overwrite_keystroke_echo argument.
52283633 9712 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9713 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9714 ok_to_overwrite_keystroke_echo argument.
9715 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9716 non-zero ok_to_overwrite_keystroke_echo argument.
9717
df75b1a3
GM
97182000-07-10 Gerd Moellmann <gerd@gnu.org>
9719
4b92c49a
GM
9720 * xdisp.c (try_window_id): If changes are all below what is
9721 displayed in the window, and point is in the window, we still
9722 might have to find point on the display.
9723
9724 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9725 glyphs instead of a single one.
9726 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9727 with new argument list.
9728 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9729
df75b1a3
GM
9730 * keymap.c (get_keymap_1): Add comment that this function can GC.
9731 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9732 comment that functions can GC.
9733 (Fset_keymap_parent): GCPRO arg KEYMAP.
9734
4314cf3e
EZ
97352000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9736
9737 * msdos.c (XMenuActivate): After exiting the menu, restore the
9738 echo area message and erase it.
9739
ab49ce15
KH
97402000-07-10 Kenichi Handa <handa@etl.go.jp>
9741
9742 * fontset.c (Ffontset_info): Make the return value more compatible
9743 with that of Emacs 20.
9744
090a072f
GM
97452000-07-07 Gerd Moellmann <gerd@gnu.org>
9746
9747 * eval.c (Fsignal): Handle case that backtrace_list is null.
9748
f92de4a6
KH
97492000-07-07 Kenichi Handa <handa@etl.go.jp>
9750
9751 * ccl.c (Fccl_execute): Typo fixed.
9752
dd8888a1
GM
97532000-07-06 Gerd Moellmann <gerd@gnu.org>
9754
e5c81191 9755 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9756
dd8888a1
GM
9757 * window.c (Fwindow_list): Reverse list at the end.
9758 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9759 means allow windows on OWINDOW's frame, only.
9760 (window_loop): Simplified; use Fwindow_list.
9761
9762 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9763
485266d0
GM
97642000-07-05 Gerd Moellmann <gerd@gnu.org>
9765
9766 * xterm.c (XTread_socket): Increment handling_signal at the start,
9767 decrement it at the end.
9768
9769 * eval.c (handling_signal): New variable.
9770 (Fsignal): Abort if handling_signal is non-zero.
9771
9772 * lisp.h (handling_signal): External declaration.
178c5d9c 9773
485266d0
GM
9774 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9775
80fcd514
KR
97762000-07-05 Ken Raeburn <raeburn@gnu.org>
9777
9778 Sound support for NetBSD through "Linux emulation" support:
9779 * config.in (HAVE_SOUNDCARD_H): Undef.
9780 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9781 * Makefile.in (LIBSOUND): New variable.
9782 (LIBES): Include it.
52283633
SM
9783 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9784 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9785 (vox_open): Use DEFAULT_SOUND_DEVICE.
9786 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9787
d5c5cddd
GM
97882000-07-05 Gerd Moellmann <gerd@gnu.org>
9789
9790 * print.c (print_error_message): If Vsignaling_function is set,
9791 show it in *Messages*.
9792
9793 * lisp.h (Vsignaling_function): External declaration.
9794
9795 * eval.c (Vsignaling_function): New variable.
9796 (Fsignal): Compute it.
9797 (syms_of_eval): Staticpro it.
9798
65171e3a
DL
97992000-07-05 Dave Love <fx@gnu.org>
9800
9801 * syswait.h: Use the autoconf recommended approach. Old code
9802 #if'd out in case we need to revert.
9803
178c5d9c 9804 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 9805
e2c46326
AI
98062000-07-05 Andrew Innes <andrewi@gnu.org>
9807
9808 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
9809 when non-NULL instead of __morecore, to take account of buffer
9810 memory. This also solves a problem with spurious memory warnings
9811 on Windows.
9812
9813 * ralloc.c: Make real_morecore non-static.
9814
9815 * eval.c (internal_condition_case): Comment out abort if
9816 interrupt_input_blocked is not zero.
9817
9818 * makefile.nt: Add support for `bootstrap' and related targets.
9819 Include minimal debug info in emacs.exe in release build.
9820 Remove all dependencies on lisp.h, and fixup some others.
9821
9822 * w32.c (init_environment): Install code from 20.7 for providing
9823 default values for environment variables, based on the
9824 executable's own location.
52283633 9825 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
9826 (sys_socket): Install socket inheritance bug fix from 20.7.
9827
9828 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
9829 here via blockinput.h).
9830
a027a91b
SM
98312000-07-05 Stefan Monnier <monnier@cs.yale.edu>
9832
e4b31601
SM
9833 * w32menu.c (w32_menu_display_help):
9834 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
9835
9836 * keyboard.h (show_help_echo): Declare.
9837
9838 * keyboard.c (show_help_echo): New function, extracted from read_char.
9839 Feval its `msg' argument if it's a cons cell.
9840 (read_char): Use it.
4cf8d9d5 9841 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 9842
178c5d9c 9843 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 9844 (note_tool_bar_highlight, XTread_socket):
178c5d9c 9845 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
9846 (dos_rawgetc):
9847 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9848 (note_tool_bar_highlight, w32_read_socket):
9849 Do not gratuitously ignore non-string `help-echo' properties.
9850
88d75730
GM
98512000-07-05 Gerd Moellmann <gerd@gnu.org>
9852
969f7e79
GM
9853 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9854
71201b00
GM
9855 * window.c (delete_all_subwindows): Reset Vwindow_list.
9856
88d75730
GM
9857 * xterm.c (x_append_glyph, x_append_composite_glyph)
9858 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9859 changes in struct glyph starting 1999-12-27. Some bit-fields of
9860 struct glyph were not set, which made glyphs unequal when compared
9861 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9862 effects were the result. This also depended on the contents of
9863 memory returned by xmalloc. If flickering happens again, activate
9864 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9865 gone with that, chances are that it is caused by something similar.
88d75730
GM
9866
9867 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9868
88d75730
GM
9869 * dispextern.h: Add some comments.
9870
9871 * window.c (add_window_to_list): Add parameter LIST.
9872 (window_list): Order list so that, for each frame, windows are
9873 in canonical order, and so that frames appear in the list in
9874 the order given by Vframe_list.
9875 (next_window): Reverse the handling of NEXT_P.
9876
53654733
GM
98772000-07-04 Gerd Moellmann <gerd@gnu.org>
9878
87efd256
GM
9879 * window.c (Vwindow_list): New variable.
9880 (make_window, delete_window): Set Vwindow_list to nil.
9881 (check_window_containing): New function.
9882 (window_from_coordinates): Rewritten.
9883 (add_window_to_list, window_list, candidate_window_p)
9884 (decode_next_window_args, next_window): New functions.
52283633 9885 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
9886 (Fwindow_list): New function.
9887 (Fother_window): Cleaned up.
9888 (foreach_window): Add a longer "variable argument list". Let
9889 callback function return 0 to indicate that cycling over windows
9890 should stop.
9891 (foreach_window_1): Likewise.
9892 (freeze_window_start): Return int.
9893 (init_window): New function.
9894 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9895
9896 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9897 input_event with bzero.
9898 (main): Call init_window.
9899
53654733
GM
9900 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9901 a menu filter.
9902
4a8c194f
KH
99032000-07-04 Kenichi Handa <handa@etl.go.jp>
9904
9905 * composite.h (make_composition_value_copy): Extern it.
9906
9907 * composite.c (make_composition_value_copy): New function.
9908
9909 * editfns.c (Fformat): While copying text properties, make each
9910 composition property value a copy.
9911
9912 * fns.c (concat): While copying text properties, make each
9913 composition property value a copy.
9914
831a6cb0
GM
99152000-07-03 Gerd Moellmann <gerd@gnu.org>
9916
2f516940
GM
9917 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9918
178c5d9c 9919 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9920 marked already.
9921
831a6cb0
GM
9922 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9923 include those frames as candidates which have their focus
9924 redirected to the minibuffer frame.
9925
d9c4f922
SM
99262000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9927
9928 * fns.c (Fputhash): Return `value' rather than nil.
9929
3780bc22
GM
99302000-06-30 Gerd Moellmann <gerd@gnu.org>
9931
97d176db
GM
9932 * frame.c (next_frame): Don't check focus redirection in case
9933 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9934 unless their focus is redirected, which contradicts the
9935 specification of next-frame, and leads to infinite loops in
9936 certain situations when cycling through windows with next-window.
9937
dca9961d
KH
99382000-06-30 Kenichi Handa <handa@etl.go.jp>
9939
9940 * coding.c (code_convert_region): Even if the length of text is
9941 zero, try to convert it if coding->type is coding_type_ccl.
9942 (decode_coding_string, encode_coding_string): Likewise.
9943
d5483ab1
GM
99442000-06-28 Gerd Moellmann <gerd@gnu.org>
9945
af5c25e1 9946 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 9947 the display if windows_or_buffers_changed.
af5c25e1
GM
9948
9949 * dispnew.c (struct row_entry): New structure.
9950 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9951 (row_table_size, old_lines, new_lines, old_lines_size)
9952 (new_lines_size, run_pool, runs_size, runs): New variables.
9953 (add_row_entry): New function.
9954 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 9955 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
9956 holding them in local variables. Use a larger hash table whose
9957 size depends on glyph matrix sizes. Don't use bzero to clear the
9958 hash table; instead, clear used slots only.
9959
9960 * fns.c (next_almost_prime): Make it externally visible.
9961
9962 * lisp.h (next_almost_prime): Add prototype.
9963
d5483ab1
GM
9964 * s/isc4-0.h (sigunblock): Define.
9965
9966 * s/sco5.h (sigunblock): Define.
9967
93e40f40
DL
99682000-06-27 Dave Love <fx@gnu.org>
9969
9970 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9971 (moved to osf5-0.h).
9972 [!NOT_C_CODE]: Protect string.h stuff.
9973
9974 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9975 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9976
3c4b7685
GM
99772000-06-27 Gerd Moellmann <gerd@gnu.org>
9978
97d176db 9979 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
9980 below the last line from the needed window height.
9981
32cad0aa
SM
99822000-06-26 Stefan Monnier <monnier@cs.yale.edu>
9983
9984 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
9985 (Fwidget_get): Use it.
9986 (syms_of_fns): Defsubr it.
9987
2c69ced2
GM
99882000-06-26 Gerd Moellmann <gerd@gnu.org>
9989
178c5d9c 9990 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
9991 display info for XIM.
9992 (xim_open_dpy): Likewise.
9993 (xim_close_dpy): Don't free the display info's XIM.
9994
9995 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
9996
9997 * config.in (USE_XIM): New define.
9998
3fc720e4
GM
9999 * keymap.c (get_keyelt): For menu-items containing a `:filter
10000 FILTER', apply FILTER to the menu-item's definition to get the
10001 real definition to use.
10002
10003 * lisp.h (QCfilter): External declaration.
10004
2c69ced2
GM
10005 * xfns.c (Fimage_size): New function.
10006 (syms_of_xfns): Defsubr it.
10007
f978b2a2
AS
100082000-06-26 Andreas Schwab <schwab@suse.de>
10009
10010 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10011 Fstring_as_unibyte.
10012
94cc7892
DL
100132000-06-25 Dave Love <fx@gnu.org>
10014
52283633 10015 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10016
10017 * Makefile.in (blockinput.h): Depend on atimer.h.
10018 (atimer.h): Depend on systime.h.
10019
52283633 10020 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10021
52283633 10022 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10023
10024 * lisp.h (swap_in_global_binding): Declare.
10025
b8c24556
KR
100262000-06-24 Ken Raeburn <raeburn@gnu.org>
10027
10028 * process.c (Fopen_network_stream): Turn off atimers for duration
10029 of call to connect. (Patch from Gerd.)
10030
8cf8560b
DL
100312000-06-23 Dave Love <fx@gnu.org>
10032
511c7541
DL
10033 * ralloc.c: Maybe include unistd.h
10034
8cf8560b
DL
10035 * emacs.c (setgrp): Undefine before defining.
10036 (malloc_warning, set_time_zone_rule, index): Prototype.
10037
10038 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10039 HAVE_STRUCT_TIMEZONE.
10040
10041 * s/osf1.h: Move string.h hack here from alpha.h and make it
10042 conditional.
10043 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10044 _XOPEN_SOURCE.
10045 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10046 (SOCKLEN_TYPE): Don't define.
10047
10048 * m/alpha.h: Remove string.h hack.
10049
10050 * s/osf5-0.h: New file.
10051
10052 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10053 include time.h, done by systime.h.
10054 [__FreeBSD__]: Remove redundant includes.
10055
3fc720e4 10056 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10057 (delete_temp_file): Return Qnil to avoid warning.
10058
10059 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10060
10061 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10062 HAVE_X_WINDOWS.
10063
10064 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10065
10066 * composite.h (compose_text): Declare.
10067
10068 * xterm.c: Don't include sys/types.h unconditionally. Don't
10069 protect its inclusion with !USG (following xmenu.c).
10070
ea055732
GM
100712000-06-23 Gerd Moellmann <gerd@gnu.org>
10072
10073 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10074 in x_create_frame.
10075
74b01b80
EZ
100762000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10077
10078 * coding.c (decode_eol_post_ccl): Special handling for undecided
10079 and inconsistent EOL types.
10080
64f3a166
GM
100812000-06-22 Gerd Moellmann <gerd@gnu.org>
10082
16cf31f7
GM
10083 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10084 trough color and main window's background color.
10085
52283633 10086 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10087
10088 * xterm.h (Xt_app_con): External declaration.
10089
10090 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10091
486a103d
GM
10092 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10093
64f3a166
GM
10094 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10095 (handle_invisible_prop): Record the start of invisible text in
10096 it->add_overlay_start.
10097 (struct overlay_entry): Add member `overlay'.
10098 (handle_overlay_change): Simplify.
10099 (next_overlay_string): After having processed overlay strings at the
10100 end of the buffer, record that fact in
10101 it->overlay_strings_at_end_processed_p.
10102 (compare_overlay_entries): If before- and after-strings come
10103 from the same overlay, let before-strings come first.
10104 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10105 (load_overlay_strings): Take it->add_overlay_start into account
10106 when adding overlay strings.
10107
10108 * dispextern.h (struct it): Add member add_overlay_start.
10109
bb746ea6
DL
101102000-06-22 Dave Love <fx@gnu.org>
10111
10112 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10113
10114 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10115
a8f573f3
KH
101162000-06-22 Kenichi Handa <handa@etl.go.jp>
10117
10118 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10119 is greater than 0.
10120
9f2bbc92
DL
101212000-06-21 Dave Love <fx@gnu.org>
10122
178c5d9c 10123 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10124
3ee5041c
SM
101252000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10126
10127 * syntax.c (back_comment): Simplify string-parity counting (with
10128 the added benefit of handling multiple string-styles as long as
10129 they are not intertwined).
10130 Jump to the slow code as soon as a comment starter is found in
10131 a "string_lossage" position. Fixes the case: " /* " /* " */.
10132
4c343001
DL
101332000-06-21 Dave Love <fx@gnu.org>
10134
10135 * Makefile.in: Use GETLOADAVG_LIBS.
10136
10137 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10138 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10139
e6365855
SM
101402000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10141
10142 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10143 (Fforward_comment, scan_lists):
10144 Check the comstyle of single-char comment-starters.
10145 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10146 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10147 Check the comstyle of single-char comment-starters.
10148 Clarify control-flow around the Scomment case.
e6365855 10149
5700d2cc
DL
101502000-06-20 Dave Love <fx@gnu.org>
10151
d355bd8a
SM
10152 * fns.c (make_hash_table, maybe_resize_hash_table):
10153 Cast arg of next_almost_prime.
5700d2cc 10154
178c5d9c 10155 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10156
10157 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10158 and unistd.h.
10159
4a27bdfb
GM
101602000-06-20 Gerd Moellmann <gerd@gnu.org>
10161
a61d762c 10162 * keyboard.c (adjust_point_for_property): Check if display
52283633 10163 property should be treated as intangible by looking at its value.
a61d762c 10164
178c5d9c 10165 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10166 (display_prop_intangible_p): New functions.
10167
10168 * dispextern.h (display_prop_intangible_p): Add prototype.
10169
10170 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10171
4a27bdfb
GM
10172 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10173 argument to sigprocmask.
10174
10175 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10176 argument to sigprocmask.
10177
10178 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10179 sigprocmask_set, and pass a pointer to it to sigprocmask.
10180
10181 * sysdep.c (sigprocmask_set): New variable.
10182
10183 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10184 report_file_error.
10185
427ec082
SS
101862000-06-20 Sam Steingold <sds@gnu.org>
10187
10188 * xrdb.c: Don't declare xmalloc, xrealloc.
10189
8972fe79 101902000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10191
10192 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10193 (re_comp): Cast gettext return value to avoid complaints when
10194 !HAVE_LIBINTL.
10195
074b6efe
DL
101962000-06-20 Dave Love <fx@gnu.org>
10197
52283633 10198 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10199
5700d2cc 10200 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10201
d355bd8a 10202 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10203
10204 * m/alpha.h: Don't declare xmalloc, xrealloc.
10205
0af4f205
DL
10206 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10207
10208 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10209
10210 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10211
10212 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10213 HAVE_GETWD.
10214
074b6efe
DL
10215 * keyboard.h (poll_for_input_1): Declare.
10216
10217 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10218
10219 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10220
10221 * doprnt.c: Don't declare xmalloc, xrealloc.
10222
10223 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10224 (getenv, ctime, getwd): Removed.
10225 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10226
10227 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10228 x_set_tool_bar_lines.
10229
10230 * config.in: Add HAVE_GETWD. Move some definitions above
10231 machine/system includes.
10232
68a5e97b
KH
102332000-06-20 Kenichi Handa <handa@etl.go.jp>
10234
95417e1e
KH
10235 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10236
68a5e97b
KH
10237 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10238 contain information about ENCODING.
10239
10240 * fontset.c (FONTSET_ASCII): Use the first element of char table
10241 for an ASCII font, not defalt slot.
10242 (fontset_ref_via_base): If FONTSET doesn't contain information for
10243 C, try the default fontset.
10244 (make_fontset): Don't copy the default fontset.
10245 (fontset_font_pattern): Likewise.
10246 (accumulate_font_info): If ELT is nil, use the corresponding
10247 element in the default fontset.
10248
3b4fa1b2
DL
102492000-06-19 Dave Love <fx@gnu.org>
10250
943e731c
DL
10251 * syntax.c (Fparse_partial_sexp): Doc fix.
10252
10253 * regex.h: Test PROTOTYPES as well as __STDC__.
10254
3b4fa1b2
DL
10255 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10256 errno, strerror. Put text after #endif in comment.
10257
52283633 10258 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10259
10260 * xterm.c (x_frame_of_widget): Likewise.
10261
cdf0357b
GM
102622000-06-19 Gerd Moellmann <gerd@gnu.org>
10263
10264 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10265 to Vfundamental_mode_abbrev_table.
10266
10267 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10268 bogus objects are marked. This slows down GC by ~80 percent, but
10269 it might be worth trying when debugging GC-related problems.
10270 This feature requires conservative stack marking to be enabled.
10271
10272 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10273 returns XLookupChars, reset `modifiers' to zero.
10274
998e9f8c
DL
102752000-06-19 Dave Love <fx@gnu.org>
10276
10277 * mktime.c: Unprotoized.
10278
18e21ce8 102792000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10280
10281 * data.c (set_internal): If variable is frame-local,
10282 store the new value immediately into the frame parameter alist.
10283
140c4ac6
KR
102842000-06-19 Ken Raeburn <raeburn@gnu.org>
10285
14358466
KR
10286 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10287 in the custom handler pointer.
10288
140c4ac6
KR
10289 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10290 value, or checks for CHAR_META can fail when Lisp_Object is a
10291 union type.
10292 * keymap.c (get_keyelt): Likewise.
10293
10d7bf84
KH
102942000-06-19 Kenichi Handa <handa@etl.go.jp>
10295
10296 * ccl.h (struct ccl_program): New member eol_type.
10297 (struct ccl_spec): New member cr_carryover.
10298
10299 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10300 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10301
10302 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10303 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10304 (decode_eol_post_ccl): New function.
10305 (decode_coding): Don't detect EOL format here for CCL based coding
10306 systems.
10307 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10308 decode_eol_post_ccl after running the CCL program.
10309 (code_convert_region): Don't detect EOL format here for CCL based
10310 coding systems.
10311 (decode_coding_string): Likewise.
10312
52e386c2
KR
103132000-06-18 Ken Raeburn <raeburn@gnu.org>
10314
10315 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10316 when treating it as an integer.
10317
10318 * coding.h (encode_coding_string): Declare.
10319
10320 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10321 it as an integer.
10322
10323 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10324 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10325 to be passed to get_local_map.
10326
10327 * sound.c (Fplay_sound): Don't call make_number on
10328 Frun_hook_with_args count argument.
10329
10330 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10331 for lisp objects in X event structure data field, when lisp
10332 objects are represented with unions.
10333 (x_scroll_bar_to_input_event): Ditto.
10334
b357b9d4
KR
103352000-06-16 Ken Raeburn <raeburn@gnu.org>
10336
10337 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10338 termination of string. Fix sense of test whether
10339 Vline_number_display_limit is an integer.
b357b9d4 10340
a871441d
GM
103412000-06-16 Gerd Moellmann <gerd@gnu.org>
10342
a9021acd
GM
10343 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10344 only if HAVE_X_WINDOWS.
10345
6344985d
GM
10346 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10347 of titles.
10348
427ec082 10349 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10350 out of bounds.
10351
228b083e
EZ
103522000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10353
10354 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10355 of its headers.
10356
c25b53a2
KH
103572000-06-15 Kenichi Handa <handa@etl.go.jp>
10358
10359 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10360 start of the while loop.
10361
a6981b11
GM
103622000-06-15 Gerd Moellmann <gerd@gnu.org>
10363
e9924e52
GM
10364 * atimer.c (alarm_signal_handler): Add forward declaration.
10365
a6981b11
GM
10366 * data.c (set_internal): Remove debug code.
10367
25fa6deb
GM
103682000-06-14 Gerd Moellmann <gerd@gnu.org>
10369
dce6b995
GM
10370 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10371
9f817ea4
GM
10372 * unexec.c (toplevel) [COFF]: Include coff.h.
10373
10374 * s/lynxos.h: New file.
10375
10376 * keymap.c (Fsingle_key_description): Enclose function key and
10377 event symbol names in angle brackets.
10378
8a4e3c0c
GM
10379 * xdisp.c (setup_echo_area_for_printing): Call
10380 message_log_maybe_newline if message_buf_print is not set.
10381
10382 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10383 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10384 function does something useful even when message_buf_print is
10385 already set.
10386
52283633
SM
10387 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10388 New variables.
25fa6deb
GM
10389 (ensure_echo_area_buffers): Initialize echo buffer's
10390 truncate lines setting to nil.
10391 (with_echo_area_buffer): Don't set the echo buffer's truncate
10392 lines setting here.
8a4e3c0c 10393 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10394 of message_truncate_lines.
10395 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10396 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10397 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10398
10399 * keyboard.c (read_char): Bind message-truncate-lines to t
10400 while displaying a help-echo.
10401
10402 * lisp.h (Qmessage_truncate_lines): External declaration.
10403
163dcff3
GM
104042000-06-13 Gerd Moellmann <gerd@gnu.org>
10405
1681ead6
GM
10406 * xdisp.c (Vline_number_display_limit): Renamed from
10407 line_number_display_limit.
10408 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10409 Extend documentation string. Initialize
10410 Vline_number_display_limit to nil meaning no limit.
10411 (decode_mode_spec): Use Vline_number_display_limit with its new
10412 meaning.
10413
163dcff3
GM
10414 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10415
18e21ce8 104162000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10417
10418 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10419
163dcff3
GM
10420 * xfns.c (x_set_frame_parameters): Comment fix.
10421
10422 * frame.c (store_frame_param): Call swap_in_global_binding if the
10423 variable's current binding was chosen based on this frame.
10424
10425 * data.c (swap_in_global_binding): New function.
10426
a704139d
EZ
104272000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10428
10429 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10430 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10431
9b6610db
EZ
104322000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10433
10434 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10435
c68833d2
JR
104362000-06-12 Jason Rumney <jasonr@gnu.org>
10437
10438 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10439
10440 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10441
10442 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10443
10444 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10445
ed1056b3
GM
104462000-06-12 Gerd Moellmann <gerd@gnu.org>
10447
10448 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10449 (syms_of_xfaces): Defsubr Sdump_colors.
10450 (x_free_colors): Don't treat b&w specially on default visual.
10451 (x_free_dpy_colors): New function.
10452 (free_face_colors): Don't check visual class; it's done
10453 in x_free_colors.
10454
10455 * xterm.c (x_frame_of_widget): New function.
10456 (x_alloc_nearest_color_for_widget): Use it.
10457 (x_copy_dpy_color): New function.
10458 (x_destroy_window): Free various colors.
10459
5050a2ef
KH
104602000-06-12 Kenichi Handa <handa@etl.go.jp>
10461
10462 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10463
10464 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10465
10466 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10467
10468 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10469
10470 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10471
fb1b041d
DL
104722000-06-11 Dave Love <fx@gnu.org>
10473
10474 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10475
ff96b5f4
EZ
104762000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10477
10478 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10479
db8eeecd
GM
104802000-06-11 Gerd Moellmann <gerd@gnu.org>
10481
ed1056b3 10482 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10483 to `XEvent *'.
10484
49b71c5f
KH
104852000-06-10 Kenichi Handa <handa@etl.go.jp>
10486
c479bd55
KH
10487 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10488 (regex_compile): Fix the code for handling the case of single byte
10489 char and multibyte char being mixed in a range within [...].
10490
ff6a65c2
KH
10491 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10492 and dst_multibyte members of coding.
10493
49b71c5f
KH
10494 * charset.c (update_charset_table): Update the table
10495 bytes_by_char_head.
10496 (init_charset_once): Initialize elements of bytes_by_char_head to
10497 1 except for leading codes for private charases.
10498
10499 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10500 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10501
9e80b57d
KR
105022000-06-09 Ken Raeburn <raeburn@gnu.org>
10503
10504 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10505 access the data it doesn't point to.
10506
f83fe4b4
GM
105072000-06-08 Gerd Moellmann <gerd@gnu.org>
10508
10509 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10510 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10511 event queue. This is necessary because Emacs otherwise won't
10512 perform a switch-frame to a new frame until some other event, for
10513 example a keystroke event, forces it to do so. This has various
10514 effects, one visible being that the cursor of a frame created with
10515 C-x 5 2 or switched to with a window manager key binding like
10516 A-TAB stays hollow because selected_window isn't on the newly
10517 focused frame until the switch-frame is performed.
10518
10519 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10520 generating a switch-frame event if necessary.
10521
10522 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10523
10524 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10525 it's an integer.
10526
0890801b
KH
105272000-06-08 Kenichi Handa <handa@etl.go.jp>
10528
52283633 10529 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10530
173cbca8
GM
105312000-06-07 Gerd Moellmann <gerd@gnu.org>
10532
3091c2a6
GM
10533 * window.c (displayed_window_lines): Take empty lines at
10534 the bottom of a window into account.
427ec082 10535
f38952fe
GM
10536 * window.c (displayed_window_lines): New function.
10537 (Fmove_to_window_line): Use displayed_window_lines to determine
10538 the number of lines to move, instead of using the window's height.
10539
10540 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10541 to stop reading, even if the form read sets point to a different
10542 value when evaluated.
10543
427ec082 10544 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10545 put the cursor.
10546
6ba6c818
KH
105472000-06-07 Kenichi Handa <handa@etl.go.jp>
10548
10549 * fileio.c (e_write): Free composition data if stored in
10550 coding->cmp_data.
10551
5f1aea9a
GM
105522000-06-06 Gerd Moellmann <gerd@gnu.org>
10553
666852af
GM
10554 * xdisp.c (display_line): Set row's and iterator's
10555 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10556 Set cursor even if row ends in the middle of a character.
10557 (dump_glyph_row): Print values of new flags.
10558 (redisplay_window) <cursor movement in unchanged window>: When
10559 point has been moved forward, and PT is at the end of the cursor
10560 row, don't place the cursor in the next row if the cursor row ends
10561 in the middle of a character or at ZV.
10562
10563 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10564 (struct glyph_row): Add starts_in_middle_of_char_p and
10565 ends_in_middle_of_char_p.
10566 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10567 ends_in_middle_of_char_p flag.
10568 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10569
d13f3e2e
GM
10570 * term.c (append_glyph): Revert change of 2000-06-06.
10571
10572 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10573 padding glyph not fitting on line as whole character not
10574 fitting on line.
10575
5f1aea9a
GM
10576 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10577 this isn't true for images with `:ascent 100'.
10578
10cda9b0
KH
105792000-06-06 Kenichi Handa <handa@etl.go.jp>
10580
ed00559d
KH
10581 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10582 as modified if it is originally unmodified.
10583
10cda9b0
KH
10584 * term.c (encode_terminal_code): Change the way to check if
10585 terminal coding does any conversion.
10586 (append_glyph): Set glyph->pixel_width correctly.
10587
10588 * xdisp.c (display_line): While checking line continuation, pay
10589 attention to a padding glyph.
10590
1969fae2
GM
105912000-06-05 Gerd Moellmann <gerd@gnu.org>
10592
10593 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10594
162ccef4
DL
105952000-06-05 Dave Love <fx@gnu.org>
10596
f19f32dd
DL
10597 * xdisp.c: Include fontset.h.
10598
10599 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10600
10601 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10602
10603 * dispnew.c: Conditionally include term.h.
10604
10605 * coding.h: Declare code_convert_string_norecord.
10606
10607 * frame.h (struct frame): Use volatile unconditionally.
10608
10609 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10610
10611 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10612
10613 * systime.h: Protect against multiple inclusion.
10614 (timezone) [USG5_4]: Define as time_t.
10615
10616 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10617 (Foptimize_char_table, make_temp_name): Declare.
10618
10619 * Makefile.in (xdisp.o): Depend on fontset.h.
10620
10621 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10622
10623 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10624 (Foptimize_char_table, make_temp_name): Declare.
10625
427ec082 10626 * s/irix4-0.h:
162ccef4
DL
10627 * s/irix5-0.h:
10628 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10629
2082fe81
DL
106302000-06-02 Dave Love <fx@gnu.org>
10631
10632 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10633
dcf671d2
GM
106342000-06-02 Gerd Moellmann <gerd@gnu.org>
10635
10636 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10637 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10638 be freed.
10639
10640 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10641 glyph, use the ASCII NUL character to determine the face.
10642
d42122a3
DL
106432000-06-02 Dave Love <fx@gnu.org>
10644
10645 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10646 (VFORK_RETURN_TYPE): Remove.
427ec082 10647
d42122a3
DL
10648 * config.in: Add NO_MATHERR.
10649
dd432f16
DL
106502000-06-01 Dave Love <fx@gnu.org>
10651
90aa4ea8
DL
10652 * cmds.c (internal_self_insert): Don't check
10653 Vbefore_change_function, Vafter_change_function.
10654
10655 * insdel.c (signal_before_change, signal_after_change): Likewise.
10656
10657 * buffer.c (Vbefore_change_function, Vafter_change_function):
10658 Variables and their initializations deleted.
10659
2330c9d4
DL
10660 * callint.c (Fcall_interactively): Doc fix.
10661
dd432f16
DL
10662 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10663
bf9e8804
DL
106642000-05-31 Dave Love <fx@gnu.org>
10665
10666 * textprop.c: Revert last change -- duplicated.
10667
3694b4ab
GM
106682000-05-31 Gerd Moellmann <gerd@gnu.org>
10669
10670 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10671 in #if 0.
10672
10673 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10674
f14156cd
JR
106752000-05-31 Jason Rumney <jasonr@gnu.org>
10676
8119aab8
JR
10677 * search.c (Fre_search_forward, Fre_search_backward)
10678 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10679
f14156cd
JR
10680 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10681
4aab9be3
JR
106822000-05-30 Jason Rumney <jasonr@gnu.org>
10683
10684 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10685 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10686
52283633 10687 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10688
10689 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10690 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10691 expand a nil default_filename.
10692
10693 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10694 pointer to glyph_to_pixel_coords, not a frame.
10695
10696 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10697 coding.h to dependencies.
10698
10699 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10700
10701 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10702 window pointer to be consistent with w32term.c and xterm.c.
10703
10704 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10705 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10706 (Qline_spacing, Qcenter): New variables.
10707 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10708 (x_set_line_spacing): New function.
52283633 10709 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10710 (x_specified_cursor_type): New function.
10711 (x_set_cursor_type): Use it.
10712 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10713 and icon strings.
10714 (validate_x_resource_name, x_get_resource_string): Measure lengths
10715 of external strings in bytes.
10716 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10717 GetTextExtentPoint32 with NULL title.
10718 (Fx_create_frame): Initialize Qline_spacing.
10719 (w32_load_system_font): Initialize font->double_byte_p.
10720 (x_to_w32_charset): Use Vw32_charset_info_alist.
10721 (Image, busy cursor, tooltip functions): Merged changes from
10722 xfns.c. Not yet functional on Windows.
10723
10724 * w32gui.h (W32FontStruct): Add double_byte_p member.
10725
10726 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10727 (emacs_button_translation): Use it.
10728 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10729 in `mask' to be set.
10730
10731 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10732 menu strings.
10733
10734 * w32term.c: Format and doc changes to bring closer to xterm.c.
10735 (w32_char_font_type): New enum.
10736 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10737 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10738 (w32_encode_char): New function.
10739 (x_encode_char): Removed.
10740 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10741 x_encode_char and w32_font_is_double_byte.
10742 (x_produce_image_glyph): Use image_ascent.
10743 (x_produce_glyphs): Use new version of w32_per_char_metric and
10744 handle NULL return value. Allow extra line spacing.
10745 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10746 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10747 w32_font_type member of glyph instead.
10748 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10749 (fast_find_position): Make sure not to consider rows not visible
10750 in the window.
10751 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10752 w32_menu_display_help with input blocked, as it can abort.
10753 (x_display_and_set_cursor): Choose cursor depending
10754 on buffer-local value of cursor_type.
10755 (x_draw_bar_cursor): Add parameter WIDTH.
10756
10757 * w32term.h (CP_DEFAULT): Define.
10758 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10759
10fc3187
GM
107602000-05-30 Gerd Moellmann <gerd@gnu.org>
10761
10762 * search.c (Fre_search_forward, Fre_search_backward)
10763 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10764
d0555360
KH
107652000-05-30 Kenichi Handa <handa@etl.go.jp>
10766
10767 * coding.c (detect_coding_iso2022): Fix code for checking
10768 CODING_CATEGORY_MASK_ISO_8_2.
10769
f1ad044f
SM
107702000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10771
10772 * regex.c (PREFETCH_NOLIMIT): New function.
10773 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10774
84ec3b4b
GM
107752000-05-29 Gerd Moellmann <gerd@gnu.org>
10776
66254a13
GM
10777 * syntax.c (find_defun_start): Move test for
10778 open_paren_in_column_0_is_defun_start outside of the loop.
10779
49e70dec
GM
10780 * xdisp.c (redisplay_window): Really switch buffers when
10781 displaying mode lines, and temporarily set selected_frame to the
10782 frame of the window that's redisplayed.
10783
84ec3b4b
GM
10784 * xfaces.c (free_realized_faces): Block/unblock input.
10785 (free_realized_multibyte_face): Ditto.
10786
869a3a14
DL
107872000-05-29 Dave Love <fx@gnu.org>
10788
10789 * textprop.c (Qkeymap): New variable.
10790 (syms_of_textprop): Intern it.
10791
10792 * keymap.c: Include intervals.h.
10793 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10794
10795 * Makefile.in (keymap.o): Depend on intervals.h.
10796
10797 * keyboard.c (menu_bar_items, tool_bar_items)
10798 (Fexecute_extended_command): Deal with `keymap' property.
10799 (read_key_sequence): Track map from `keymap' property as well as
10800 `local_map'.
10801
10802 * intervals.c (get_local_map): Extra arg to allow looking for
10803 `keymap' too.
10804
10805 * intervals.h (map_property): New enum.
10806 (get_local_map): Extra arg using it.
10807 (Qkeymap): Declare.
10808
84ec3b4b 10809 * lisp.h (get_local_map): Don't declare here.
869a3a14 10810
89d0c844
KH
108112000-05-29 Kenichi Handa <handa@etl.go.jp>
10812
10813 * Makefile.in (callproc.o): Depend on composite.h.
10814
10815 * callproc.c: Include composite.h.
10816 (Fcall_process): Handle composition correctly.
10817
10818 * coding.h (coding_allocate_composition_data): Extern it.
10819 (coding_restore_composition): Likewise.
10820
10821 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
10822 yet allocated, finish decoding with result
10823 CODING_FINISH_INSUFFICIENT_CMP.
10824 (coding_allocate_composition_data): Make it non-static.
10825 (coding_restore_composition): Likewise.
10826
797a084a
EZ
108272000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
10828
10829 * charset.c (syms_of_charset): Revert last change.
10830
cf872af5
EZ
108312000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10832
10833 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
10834 charsets as unibyte, with 1-column screen width. Sent by Kenichi
10835 Handa.
cf872af5 10836
5b1ae051
EZ
108372000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10838
10839 * charset.c (syms_of_charset): Set width of character sets
10840 eight-bit-control and eight-bit-graphic to 1 column.
10841
34ec9ebe
GM
108422000-05-26 Gerd Moellmann <gerd@gnu.org>
10843
10844 * config.in (HAVE_SPEED_T): New define.
10845
10846 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10847 `extern speed_t'.
10848
dd854dc2
DL
108492000-05-26 Dave Love <fx@gnu.org>
10850
10851 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10852
10853 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10854 (Fsubr_arity): New function.
10855 (syms_of_data): Install them.
10856
ba9f8f95
KH
108572000-05-26 Kenichi Handa <handa@etl.go.jp>
10858
0f3e0672
KH
10859 * charset.c (init_charset_once): Set the table bytes_by_char_head
10860 correctly.
10861
cebefb44
KH
10862 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10863 the default fontset to what Emacs uses by default.
0f3e0672
KH
10864 (check_registry_encoding): This function deleted.
10865 (Fset_fontset_font): Remove the adhoc condition for the default
10866 fontset. Allow cons in FONTNAME.
cebefb44 10867
0f3e0672
KH
10868 * fns.c (map_char_table): Ignore char-table entries for
10869 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 10870
7a18af49
KR
108712000-05-25 Ken Raeburn <raeburn@gnu.org>
10872
10873 * emacs.c (main): Initialize keyboard syms before initializing
10874 window code, so face names are available.
10875
d2af47df
SM
108762000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10877
10878 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10879 of an anchor at the beginning of a shy-group.
10880
fc6a6a4e
GM
108812000-05-25 Gerd Moellmann <gerd@gnu.org>
10882
10883 * xdisp.c (handle_invisible_prop): Don't try to skip over
10884 invisible text if end of text is already reached.
10885
005f0d35
DL
108862000-05-25 Dave Love <fx@gnu.org>
10887
02513cdd
DL
10888 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10889
005f0d35
DL
10890 * coding.c (encode_eol): Add null statement after label.
10891
89f6ca4e
EZ
108922000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10893
10894 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10895 2000-05-20.
10896
a4e1759e
KH
108972000-05-25 Kenichi Handa <handa@etl.go.jp>
10898
10899 * ccl.c (ccl_driver): Fix previous change.
10900
eacfd7fe
KH
109012000-05-25 Kenichi Handa <handa@etl.go.jp>
10902
46ab33a9
KH
10903 * coding.c (run_pre_post_conversion_on_str): Set point to the
10904 beginning of buffer before calling coding->post_read_conversion.
10905 (decode_coding_string): Give correct args to
10906 run_pre_post_conversion_on_str.
10907 (encode_coding_string): Likewise.
10908
eacfd7fe
KH
10909 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10910 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10911 eight-bit-graphic correctly.
10912
f8569325
DL
109132000-05-24 Kenichi HANDA <handa@etl.go.jp>
10914
10915 * fileio.c (Finsert_file_contents): Even if a file is not found,
10916 execute codes for setting up coding system. Call
10917 after-insert-file-functions unconditionally.
10918
04545643
GM
109192000-05-24 Gerd Moellmann <gerd@gnu.org>
10920
10921 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10922 BSD_PGRPS are not defined.
10923
747d90ea
KH
109242000-05-24 Kenichi Handa <handa@etl.go.jp>
10925
10926 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10927 DESCRIPTION.
10928 (syms_of_charset): Avoid building same strings.
10929
716e3b88
GM
109302000-05-23 Gerd Moellmann <gerd@gnu.org>
10931
10932 * lread.c (Fload): Add a comment about the meaning of
10933 Vuser_init_file being t.
10934
10935 * puresize.h (BASE_PURESIZE): Increase to 675000.
10936
10937 * s/gnu-linux.h (setpgrp): Don't define it here because this
10938 prevents compilation on GNU/Linux systems with glib 2.2.
10939
10940 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10941 as setpgid.
427ec082 10942
9aeb39fa
EZ
109432000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10944
10945 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10946 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10947 version.
10948 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10949
29ced61b
KH
109502000-05-23 Kenichi Handa <handa@etl.go.jp>
10951
52283633 10952 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 10953
3d80f24d
KH
10954 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10955
52283633 10956 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 10957
29ced61b
KH
10958 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10959
d7e00792
KH
109602000-05-22 Kenichi Handa <handa@etl.go.jp>
10961
c9d80d38
KH
10962 * keyboard.c (read_char): Allow character codes 128..255 to be
10963 handled by input-method-function.
10964
d7e00792
KH
10965 * insdel.c (adjust_markers_for_replace): Fix previous change.
10966 (adjust_after_replace): If PREV_TEXT is nil, call
10967 adjust_markers_for_insert, not adjust_markers_for_replace.
10968
087121cc 109692000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 10970
087121cc
GM
10971 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10972 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10973 [HAVE_GRANDPT]: Define.
10974 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10975
10976 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10977 like SYSV_PTYS.
10978
10979 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10980
10981 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
10982
c9671f81
KH
109832000-05-20 Kenichi Handa <handa@etl.go.jp>
10984
10985 The following changes are to handle 8-bit characters in a
10986 multibyte buffer/string without facing with byte combining
10987 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
10988 eight-bit-graphic (for 0xA0..0xFF) are introduced.
10989
10990 * Makefile.in (fns.o): Depend on charset.h.
10991
10992 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
10993 convert it to unibyte.
10994 (make_string): Use parse_str_as_multibyte, not chars_in_text.
10995
10996 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
10997 apparent char boundary.
10998 (Fset_buffer_multibyte): Convert 8-bit characters in the range
10999 0x80..0x9F to/from multibyte form.
11000
11001 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11002 to unibyte.
11003
11004 * callproc.c (Fcall_process): Always encode an argument string if
11005 it is multibyte. Setup src_multibyte and dst_multibyte members of
11006 process_coding properly.
ce75fd23 11007
c9671f81
KH
11008 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11009 SPLIT_NON_ASCII_CHAR.
11010
11011 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11012 as is.
11013 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11014
52283633 11015 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11016 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11017 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11018 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11019 and eight-bit-graphic.
11020 (char_to_string): Likewise. Signal an error for too large
11021 character code.
11022 (char_printable_p): Return 0 for 8-bit characters.
11023 (update_charset_table): Update iso_charset_table only when a final
11024 character is non-negative.
11025 (find_charset_in_text): Renamed from find_charset_in_str.
11026 Arguments and return value changed. Callers changed.
11027 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11028 be -1 if CHARSET is used only internally.
11029 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11030 eight-bit-graphic.
11031 (Fcharset_after): Simplified.
11032 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11033 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11034 (multibyte_chars_in_text): Simplified by assuming there's no
11035 invalid multibyte sequence.
52283633
SM
11036 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11037 (str_as_unibyte): New functions.
11038 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11039 (init_charset_once): Initialization for
11040 LEADING_CODE_8_BIT_CONTROL.
11041 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11042 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11043 eight-bit-control and eight-bit-graphic.
11044
52283633
SM
11045 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11046 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11047 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11048 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11049 (CHARSET_REVERSE_CHARSET): Likewise.
11050 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11051 eight-bit-graphic.
11052 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11053 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11054 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11055 encounter an invalid multibyte sequence.
11056 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11057 sequence is always valid.
11058 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11059 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11060 (CHAR_STRING): For 8-bit characters, call char_to_string.
11061 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11062 multibyte sequence is always valid.
11063 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11064 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11065 (str_as_unibyte): Extern them.
c9671f81 11066 (BCOPY_SHORT): Fix a bug.
52283633 11067 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11068 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11069 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11070 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11071
bd4bde7f 11072 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11073 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11074 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11075 (EMIT_BYTES): New macros.
11076 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11077 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11078 macros deleted.
11079 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11080 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11081 check the validity of multibyte sequence.
11082 (decode_coding_emacs_mule): New function.
11083 (encode_coding_emacs_mule): New macro.
11084 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11085 the source.
11086 (DECODE_ISO_CHARACTER): Just return a character code.
11087 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11088 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11089 EMIT_CHAR to produced decoded characters. Exit the loop only by
11090 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11091 block here.
11092 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11093 only position codes for an invalid character.
11094 (encode_designation_at_bol): Return new destination pointer. 5th
11095 arg DSTP is changed to DST.
11096 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11097 from the source by ONE_MORE_CHAR. Don't handle the case of last
11098 block here.
11099 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11100 macros deleted.
52283633
SM
11101 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11102 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11103 TWO_MORE_BYTES to fetch a byte from the source.
11104 (encode_eol): Pay attention to coding->src_multibyte.
11105 (detect_coding, detect_eol): Preserve members src_multibyte and
11106 dst_multibyte.
11107 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11108 (encoding_buffer_size): Set magnification to 3 for all coding
11109 systems that require encoding.
11110 (ccl_coding_driver): For decoding, be sure that the result is
11111 valid multibyte sequence.
11112 (decode_coding): Initialize coding->errors and coding->result.
11113 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11114 and raw-text, always call decode_eol. Handle the case of last
11115 block here. If not coding->dst_multibyte, convert the resulting
11116 sequence to unibyte.
11117 (encode_coding): Initialize coding->errors and coding->result.
11118 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11119 and raw-text, always call encode_eol. Handle the case of last
11120 block here.
11121 (shrink_decoding_region, shrink_encoding_region): Detect cases
11122 that we can't skip data more rigidly.
11123 (code_convert_region): Setup src_multibyte and dst_multibyte
11124 members of coding. For decoding, if the buffer is multibyte,
11125 convert the source sequence to unibyte in advance. For encoding,
11126 if the buffer is multibyte, convert the resulting sequence to
11127 multibyte afterward.
11128 (run_pre_post_conversion_on_str): New function.
11129 (code_convert_string): Deleted and divided into the following two.
11130 (decode_coding_string, encode_coding_string): New functions.
11131 (code_convert_string1, code_convert_string_norecord): Call one of
11132 above.
11133 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11134 MAKE_NON_ASCII_CHAR.
52283633
SM
11135 (Fset_terminal_coding_system_internal)
11136 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11137 and dst_multibyte members.
11138 (init_coding_once): Initialize iso_code_class with new enum
11139 ISO_control_0 and ISO_control_1.
11140
11141 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11142 devided into ISO_control_0 and ISO_control_1.
11143 (struct coding_system): New members src_multibyte, dst_multibyte,
11144 errors, and result. Delete member fake_multibyte.
11145 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11146 nonzero.
11147 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11148 nonzero.
11149
11150 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11151 (Faset): Likewise.
11152
11153 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11154 multibyte form.
11155 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11156 combining occurs.
11157 (Ftranspose_region): Delete codes for handling byte combining.
11158
11159 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11160 dst_multibyte members of coding. On handling REPLACE on unibyte
11161 buffer, convert the result of decode_coding to unibyte. On
11162 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11163 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11164 multibyteness of the source (buffer or string).
11165
11166 * fns.c (concat): Handle 8-bit characters correctly.
11167 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11168 unibyte in the result.
11169 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11170 valid multibyte form in the result.
11171 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11172 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11173 return -1, signal an error.
11174 (base64_encode_1): New arg MULTIBYTE. Get each character by
11175 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11176 character is found, return -1.
11177 (Fbase64_decode_region): Delete codes for handling byte-combining.
11178 Treat each decoded byte as a unibyte character.
11179 (Fbase64_decode_string): Return unibyte string.
11180 (Fcompare_strings, concat, string_byte_to_char): Use
11181 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11182 FETCH_STRING_CHAR_ADVANCE.
11183 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11184 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11185
11186 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11187 SPLIT_NON_ASCII_CHAR.
11188 (fontset_ref_via_base, fontset_set): Likewise
11189
11190 * insdel.c (adjust_markers_for_record_delete): Deleted.
11191 (adjust_markers_for_insert): Argument changed. Caller changed.
11192 (adjust_markers_for_replace): Likewise.
52283633
SM
11193 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11194 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11195 (copy_text): Delete unused local varialbe c_save. For converting
11196 to multibyte, be sure to make all 8-bit characters in valid
11197 multibyte form.
11198 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11199 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11200 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11201 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11202 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11203 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11204 handling byte combining.
11205 (adjust_before_replace): Deleted.
427ec082 11206
c9671f81
KH
11207 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11208 SPLIT_NON_ASCII_CHAR.
11209 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11210 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11211 (Fkey_description): Likewise.
11212
11213 * lread.c (read1): On reading multibyte string, be sure to make
11214 all 8-bit chararacters in valid multibyte form.
11215 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11216
11217 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11218 unconditionally.
11219
11220 * process.c (Fstart_process): GCPRO current_dir before calling
11221 Ffind_operation_coding_system. Encode arguments here.
11222 (create_process): Don't encode arguments here. Setup
11223 src_multibyte and dst_multibyte members of struct coding.
11224 (read_process_output): Setup src_multibyte and dst_multibyte
11225 members of struct coding. If the output is to multibyte buffer,
11226 always decode the output of the process. Adjust the
52283633 11227 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11228 (send_process): Setup coding->src_multibyte according to the
11229 multibyteness of the source.
11230
52283633 11231 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11232 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11233 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11234
52283633 11235 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11236
11237 * w16select.c (Fw16_set_clipboard_data): Setup members
11238 src_multibyte and dst_multibyte of coding. Adjusted for the
11239 change for find_charset_in_str.
11240 (Fw16_get_clipboard_data): Likewise.
11241
11242 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11243 dst_multibyte of coding.
11244 (x_to_w32_font): Likewise.
11245
11246 * w32select.c (Fw32_set_clipboard_data): Setup members
11247 src_multibyte and dst_multibyte of coding. Adjusted for the
11248 change for find_charset_in_str.
11249 (Fw32_get_clipboard_data): Likewise.
11250
11251 * xdisp.c (get_next_display_element): Handle 8-bit characters
11252 correctly.
52283633
SM
11253 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11254 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11255
11256 * xselect.c (selection_data_to_lisp_data): Setup members
11257 src_multibyte and dst_multibyte of coding. Adjusted for the
11258 change for find_charset_in_str.
11259 (lisp_data_to_selection_data): Likewise.
11260
5f64c9e0
GM
112612000-05-19 Gerd Moellmann <gerd@gnu.org>
11262
52283633 11263 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11264
5f64c9e0
GM
11265 * dispextern.h (Vimage_types): Add extern declaration.
11266
11267 * xdisp.c (Vimage_types): Moved here from xfns.c.
11268 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11269
11270 * xfns.c (Vimages_types): Moved to xdisp.c.
11271 (syms_of_xfns): Move `image-types' to xdisp.c.
11272
11273 * w32fns.c (Vimage_types): Removed.
11274 (syms_of_w32fns): Remove `image-types'.
11275
813086ea
KH
112762000-05-18 Kenichi Handa <handa@etl.go.jp>
11277
11278 * fns.c (map_char_table): Pay attention to character number of
11279 charset. Check the validity of charset at the first level. For
11280 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11281 the default value.
11282
11283 * fontset.c: Include "buffer.h".
11284 (fs_load_font): If the face has fontset, record the face ID in
11285 that fontset.
11286 (Finternal_char_font): New function.
11287 (accumulate_font_info): New function.
11288 (Ffontset_info): Rewritten for the new fontset implementation.
11289 (syms_of_fontset): Register Vdefault_fontset in the first element
11290 of Vfontset_table. Include Vdefault_fontset in
11291 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11292 function.
11293
bdaebbf0
DL
112942000-05-16 Dave Love <fx@gnu.org>
11295
11296 * m/iris5d.h: Deleted -- unused.
11297
cb613bb8
GM
112982000-05-16 Gerd Moellmann <gerd@gnu.org>
11299
b15f3b77
GM
11300 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11301 `invalid' instead of `illegal'.
11302
11303 * indent.c (Fmove_to_column): When ending within a tab, insert
11304 spaces first so that markers at the end of the tab get adjusted.
11305
835c1b36
GM
11306 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11307 buffer list that wasn't selected in that frame.
11308
cb613bb8
GM
11309 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11310 is needed on mescaline, use a 2 char prefix, and call
11311 make_temp_name with second arg non-zero.
11312
11313 * fileio.c (make_temp_name): New function, extracted from
11314 Fmake_temp_name.
11315 (Fmake_temp_name): Use it.
11316
f685bea9
EZ
113172000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11318
52283633 11319 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11320
a1b8d58b
GM
113212000-05-15 Gerd Moellmann <gerd@gnu.org>
11322
11323 * Makefile.in (lisp): Add env.elc.
11324
11325 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11326
a265079f
GM
113272000-05-12 Gerd Moellmann <gerd@gnu.org>
11328
11329 * search.c (Freplace_match): Handle case of `\N' in the
11330 replacement when there's no group N.
11331
da4496b6
GM
113322000-05-11 Gerd Moellmann <gerd@gnu.org>
11333
0ace421a
GM
11334 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11335 of the message to message_dolog.
11336
1172eb8d
GM
11337 * keyboard.c (read_char): Don't clear current message for help
11338 events; let the code handling help events handle this. Change
11339 code detecting help events that should be ignored.
11340
da4496b6
GM
11341 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11342 we're interating over a string.
11343
0623e40f
DL
113442000-05-09 Dave Love <fx@gnu.org>
11345
11346 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11347 that offset before writing. Move gcpro region past call of
11348 Ffile_regular_p.
11349
bae2503b
DL
113502000-05-04 Dave Love <fx@gnu.org>
11351
11352 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11353
ec82fb2f
GM
113542000-05-04 Gerd Moellmann <gerd@gnu.org>
11355
11356 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11357 of inserted characters when BUF equals the current buffer, and PT
11358 is in front of or equal to FROM.
11359
cbf18892
GM
113602000-05-03 Gerd Moellmann <gerd@gnu.org>
11361
4ff40dd0
GM
11362 * xdisp.c (handle_single_display_prop): If display property value
11363 is invalid, or something not supported on the frame, restore
11364 iterator's position to what it was initially. Make sure to return
11365 0 for invalid and unsupported property values.
11366
cbf18892
GM
11367 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11368 that x_per_char_metric returns null.
11369
1b0672c3
GM
113702000-05-02 Gerd Moellmann <gerd@gnu.org>
11371
576da55d
GM
11372 * xterm.h (struct face): Add forward declaration.
11373 (struct image): Ditto.
11374 (image_ascent): Add prototype.
11375
11376 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11377 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11378 image_ascent instead of using IMAGE_ASCENT.
11379
11380 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11381 (IMAGE_ASCENT): Removed.
11382
11383 * xfns.c (Qcenter): New variable.
11384 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11385 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11386 (image_ascent): New function.
11387 (lookup_image): Recognize `:ascent center'.
11388 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11389 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11390 (xbm_load): Don't set image's ascent here.
11391 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11392 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11393 check ascent values here.
11394 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11395 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11396 (syms_of_xfns): Initialize Qcenter.
11397
1b0672c3
GM
11398 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11399 to the limits, increase the limits.
11400
0d7811ed
KH
114012000-05-01 Kenichi Handa <handa@etl.go.jp>
11402
11403 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11404 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11405
a943a5ca
GM
114062000-04-28 Gerd Moellmann <gerd@gnu.org>
11407
11408 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11409 taller than the window.
11410
5dba1e29
KH
114112000-04-28 Kenichi Handa <handa@etl.go.jp>
11412
11413 * xfaces.c (realize_x_face): Fix the argument of the second
11414 xassert. BASE_FACE may not be a face for ASCII.
11415
353964e3
GM
114162000-04-27 Gerd Moellmann <gerd@gnu.org>
11417
c76e04a8
GM
11418 * print.c (print_object): Treat print-length < 0 as nil.
11419
11420 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11421
11422 * s/freebsd.h (TERMCAP_OBJ): Removed.
11423 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11424
11425 * lread.c (read1): Don't treat period followed by certain
11426 characters as symbol start.
11427
11428 * xfns.c (slurp_file): New function.
11429 (xbm_image_p): Handle case of in-memory XBM files.
11430 (xbm_scan): Rewritten to work on memory buffers instead of files.
11431 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11432 Work on memory buffers instead of files. If DATA is null test
11433 if buffer looks like an in-memory XBM file.
11434 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11435 memory buffers instead of files.
11436 (xbm_file_p): New function.
11437 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11438
353964e3
GM
11439 * lread.c (end_of_file_error): New function.
11440 (read1): Call it instead of signaling `end-of-file' directly.
11441
427ec082 11442 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11443 with Fprinc instead of Fprin1.
11444
24d744ac
KR
114452000-04-26 Ken Raeburn <raeburn@gnu.org>
11446
11447 * window.c (freeze_window_start): Check that minibuffer scroll
11448 window isn't nil before extracting the window structure pointer
11449 from it.
11450
11451 * undo.c (record_delete): If we hit the end of the undo list, stop
11452 picking elements apart.
11453
7464346d
GM
114542000-04-26 Gerd Moellmann <gerd@gnu.org>
11455
11456 * xdisp.c (display_line): If lines are continued, restore
11457 iterator's ascent/descent information to the values before the
11458 first glyph not fitting on the line.
11459
612839b6
GM
114602000-04-25 Gerd Moellmann <gerd@gnu.org>
11461
11462 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11463 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11464
11465 * dispnew.c (increment_matrix_positions): Renamed from
11466 increment_glyph_matrix_buffer_positions.
11467 (increment_row_positions): Renamed from
11468 increment_glyph_row_buffer_positions.
11469
11470 * dispextern.h: Change names of renamed functions from dispnew.c
11471 in prototypes.
11472
cc181e95
GM
114732000-04-24 Gerd Moellmann <gerd@gnu.org>
11474
abfcc168
GM
11475 * fileio.c (Fdo_auto_save): Create directories for auto-save
11476 list file if necessary.
11477
cc181e95
GM
11478 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11479 from buffer or frame.
11480 (automatic_hscrolling_p): New variable.
11481 (hscroll_windows): Scroll windows horizontally only if automatic
11482 hscrolling is allowed.
11483 (syms_of_xdisp): New variable `automatic-hscrolling'.
11484
11485 * frame.h (struct frame): Add member extra_line_spacing.
11486
11487 * xfns.c (x_set_line_spacing): New function.
11488 (Fx_create_frame): Set line spacing from resources.
11489 (Qline_spacing): New variable.
11490 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11491
cc181e95
GM
11492 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11493
11494 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11495 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11496 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11497 extra_line_spacing from default value.
11498 (init_buffer_once): Initialize default value of extra_line_spacing.
11499
11500 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11501 and extra3.
11502
11503 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11504 prompt_width. Add extra line spacing.
11505
11506 * term.c (produce_glyphs): Remove reference to struct it's
11507 prompt_width.
11508
11509 * dispextern.h (struct it): Remove member prompt_width, add
11510 extra_line_spacing.
11511
58827478
GM
115122000-04-22 Gerd Moellmann <gerd@gnu.org>
11513
11514 * dispnew.c (update_frame_line): When writing a whole line, make
11515 sure cursor is in the right row afterwards, otherwise a use of
11516 capability `ch' in cmgoto might leave the cursor in the row below.
11517
25a87f42
GM
115182000-04-21 Gerd Moellmann <gerd@gnu.org>
11519
11520 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11521
11522 * keyboard.c (timer_check): Fix typo in comment.
11523
54edf5c2
KH
115242000-04-21 Kenichi Handa <handa@etl.go.jp>
11525
11526 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11527 name change: ch -> character.
11528
3a64eef5
GM
115292000-04-20 Gerd Moellmann <gerd@gnu.org>
11530
11531 * keyboard.c (echo_message_buffer): New variable.
11532 (echo_now): Set echo_message_buffer to the echo area buffer used
11533 to display the echo.
11534 (cancel_echoing): Reset echo_message_buffer to nil.
11535 (read_char): Code rewritten that handles canceling an echo or
11536 echoing a dash, respectively.
11537
11538 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11539 directory doesn't exist.
11540
6142fdcb
DL
115412000-04-19 Dave Love <fx@gnu.org>
11542
11543 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11544 (concat): Don't allow numeric args.
11545 (Fconcat): Doc change.
6142fdcb 11546
ac6b5352
SM
115472000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11548
11549 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11550 instead define end_match(1|2) more carefully.
11551 Use GET_CHAR_BEFORE_2 for `begline'.
11552
cb9215e4
GM
115532000-04-19 Gerd Moellmann <gerd@gnu.org>
11554
5e3dac3f
GM
11555 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11556 on 64-bit systems where NULL is defined as `0'.
11557
11558 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11559 the `variable argument list' to make it work on Alpha.
11560
cb9215e4
GM
11561 * m/alpha.h (_LP64) [!_LP64]: Define.
11562 (ORDINARY_LINK): Define for NetBSD.
11563
11564 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11565
f532dca0
DL
115662000-04-19 Dave Love <fx@gnu.org>
11567
c750667e
DL
11568 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11569 change.
11570
11571 * Makefile.in (LIBS): Don't use.
11572 (GETLOADAVG_OBJ): Define again.
11573 (otherobj): Add GETLOADAVG_OBJ.
11574
f532dca0
DL
11575 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11576
1c7e22fd
GM
115772000-04-18 Gerd Moellmann <gerd@gnu.org>
11578
f6d3257b
GM
11579 * lread.c (read_filtered_event): Cancel and start busy cursor.
11580
427ec082 11581 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11582 that the per-character metrics may be null.
11583
e10f64e7
GM
115842000-04-17 Gerd Moellmann <gerd@gnu.org>
11585
0daee095
GM
11586 * buffer.c (clone_per_buffer_values): New function.
11587 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11588 clone_per_buffer_values if CLONE is not nil.
11589
e10f64e7
GM
11590 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11591
38687d43
DL
115922000-04-16 Dave Love <fx@gnu.org>
11593
11594 * Makefile.in: Remove obsolete localcpp stuff.
11595 (GETLOADAVG_OBJ): Don't define.
11596 (obj): Move LIBOBJS...
11597 (otherobj): ... to here.
11598 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11599 whitespace-only lines after the continuation (Irix).
11600
c21c7262
GM
116012000-04-14 Gerd Moellmann <gerd@gnu.org>
11602
11603 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11604
11605 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11606
314767c0
DL
116072000-04-14 Dave Love <fx@gnu.org>
11608
11609 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11610 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11611 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11612 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11613 NLIST_STRUCT.
11614
11615 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11616 autoconfiscated HAVE_GETLOADAVG.
11617
11618 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11619 BROKEN_MKTIME.
11620
a2522dca
GM
116212000-04-14 Gerd Moellmann <gerd@gnu.org>
11622
11623 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11624 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11625
33744b5d
DL
116262000-04-14 Dave Love <fx@gnu.org>
11627
c21c7262 11628 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11629 (INTERVAL_SRC): Convert to make variable.
11630 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11631 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11632 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11633 add LIBOBJS.
11634 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11635 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11636 (shortlisp): Add facemenu, float-sup, frame.
11637 (SOME_MACHINE_LISP): Remove them from here.
11638 (LIBES): Change unused LDLIBS to autoconf LIBS.
11639
11640 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11641
9d3d5916
KH
116422000-04-14 Kenichi Handa <handa@etl.go.jp>
11643
11644 * composite.c (update_compositions): If FROM and TO are not in a
11645 valid range, do nothing.
11646
198e3c7a
GM
116472000-04-13 Gerd Moellmann <gerd@gnu.org>
11648
52283633 11649 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11650
52283633 11651 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11652
11653 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11654 as TERMCAP_OBJ.
11655
055a28c9
EZ
116562000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11657
11658 * fileio.c (a_write): Remove redundant semi-colons.
11659 (e_write): Return -1 if failed to write all the data.
11660 This fixes the changes made at 1999-12-15.
11661
f5c75033
DL
116622000-04-12 Dave Love <fx@gnu.org>
11663
11664 * fns.c (mapcar1): Test for null vals to support mapc.
11665 (Fmapc): New function.
11666
0c3cfc51
EZ
116672000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11668
11669 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11670 (IT_frame_up_to_date): Support the buffer local value of
11671 cursor-type, if defined.
11672
33465a31
DL
116732000-04-10 Dave Love <fx@gnu.org>
11674
11675 * editfns.c (preceding-char, following-char): Doc fix.
11676
6ed56568
KR
116772000-04-10 Ken Raeburn <raeburn@gnu.org>
11678
11679 * Makefile.in (temacs): Revert 2000-03-12 change.
11680
7cf80d4e
JR
116812000-04-10 Jason Rumney <jasonr@gnu.org>
11682
11683 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11684
34f3f342
GM
116852000-04-10 Gerd Moellmann <gerd@gnu.org>
11686
1a1b1895
GM
11687 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11688 area buffer, if it's not set up yet.
11689
34f3f342
GM
11690 * indent.c (compute_motion): Set immediate_quit.
11691
be0dbdab
GM
116922000-04-09 Gerd Moellmann <gerd@gnu.org>
11693
52283633 11694 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11695 (realize_tty_face): Suppress boldness if colors are the inverse of
11696 the default colors, and tty_suppress_bold_inverse_default_colors_p
11697 is set.
11698 (Ftty_suppress_bold_inverse_default_colors): New function.
11699 (syms_of_xfaces): Defsubr it.
11700
be0dbdab
GM
11701 * buffer.c (Frestore_buffer_modified_p): New function.
11702 (syms_of_buffer): Defsubr it.
11703
e8413c3b
KR
117042000-04-08 Ken Raeburn <raeburn@gnu.org>
11705
87f67317
KR
11706 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11707 charset id (int) argument, not a charset (Lisp_Object).
11708
e8413c3b
KR
11709 * coding.h (code_convert_string): Declare.
11710 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11711 object, as the fourth argument to code_convert_string.
11712
52283633 11713 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11714 (Fset_fontset_font): Use EQ to compare lisp objects.
11715
7c752c80
KR
117162000-04-05 Ken Raeburn <raeburn@gnu.org>
11717
c0333abc
KR
11718 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11719 a pointer that looks like a lisp object.
11720 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11721 zero, instead see whether it's an integer object, since they can't
11722 have intervals.
11723 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11724
52283633
SM
11725 * dispnew.c (allocate_matrices_for_frame_redisplay)
11726 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11727 to convert between (unsigned) int values and lisp integers.
11728 * keyboard.c (read_key_sequence): Likewise.
11729 * lread.c (substitute_object_recurse): Likewise.
11730 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11731 * minibuf.c (do_completion, Fminibuffer_complete_word)
11732 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11733 * term.c (produce_special_glyphs): Likewise.
11734
11735 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11736 * print.c (print_preprocess, print_object): Likewise.
11737
11738 * search.c (compile_pattern): Use NILP when checking for nil.
11739
74e49b38
KR
11740 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11741 __OPTIMIZE__]: Provide a GNU C macro version that handles
11742 lisp-object unions.
11743 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11744 field, to better cope with ENABLE_CHECKING and calls that modify a
11745 Lisp_Object using its old value.
11746
685e5ed2
GM
117472000-04-04 Gerd Moellmann <gerd@gnu.org>
11748
c407c570
GM
11749 * window.c (compare_window_configurations): Signal an error
11750 if parameters C1 or C2 aren't window configurations.
11751
685e5ed2
GM
11752 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11753 AFTER_POTENTIAL_GC calls around calls to functions that can
11754 signal an error and thus invoke the debugger.
11755
587a49ab
GM
117562000-04-03 Gerd Moellmann <gerd@gnu.org>
11757
62f20204
GM
11758 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11759 an error if decoding fails.
11760
587a49ab
GM
11761 * keyboard.c (lispy_mouse_names): Variable removed.
11762 (Vlispy_mouse_stem): New variable.
11763 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11764 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11765 for any mouse button number. Increase size of mouse_syms and
11766 button_down_location as needed. Call modify_event_symbol with
11767 different arguments.
11768 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11769 Call modify_event_symbol with different arguments.
11770 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11771 for any button number. Call modify_event_symbol with different
11772 arguments.
11773 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11774 Accept a string for NAME_ALIST_OR_STEM.
11775
11776 * lisp.h (larger_vector): Add prototype.
11777
11778 * fns.c (larger_vector): Make externally visible.
11779
11780 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11781
2d1675e4
SM
117822000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11783
11784 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11785 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11786 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11787 we are between str1 and str2.
11788 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11789 (PATFETCH): Use `TRANSLATE'.
11790 (PATFETCH_RAW): Fetch multibyte char if applicable.
11791 (PATUNFETCH): Remove.
11792 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11793 When writing a char, write it directly into the pattern buffer rather
11794 than going needlessly through a temp char-array.
11795 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11796 multibyte magic and remove the useless `#ifdef emacs'.
11797 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11798 buffer.
11799
11800 * regex.h (struct re_pattern_buffer): Make field `multibyte'
11801 conditional on `emacs'.
11802
11803 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
11804
cc2d8c6b
KR
118052000-04-01 Ken Raeburn <raeburn@gnu.org>
11806
11807 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
11808 non-union-type versions of XMARK and friends here, because XMARK
11809 and friends won't work on an integer field if NO_UNION_TYPE is not
11810 defined.
52283633 11811 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 11812
52283633 11813 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
11814 (syms_of_composite): Delete local var NARGS, pass an int as first
11815 argument to Fmake_hash_table.
11816
2387b382
KR
11817 * editfns.c (text_property_stickiness): Use NILP to test
11818 Lisp_Object boolean value.
11819 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
11820 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
11821 problems reading from and changing the same lisp value in an
11822 XSETSTRING call.
11823
27660e89
GM
118242000-04-01 Gerd Moellmann <gerd@gnu.org>
11825
11826 * term.c (TN_no_color_video): New variable.
11827 (term_init): Intitialize TN_no_color_video.
11828 (enum no_color_bit): New enumeration.
11829 (MAY_USE_WITH_COLORS_P): New macro.
11830 (turn_on_face): Use it to determine if attributes may be used
11831 combined with colors.
11832
3578db3c
KR
118332000-04-01 Ken Raeburn <raeburn@gnu.org>
11834
11835 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 11836 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
11837 (enlarge_window): Variable sizep now points to Lisp_Object. Use
11838 proper accessor macros.
11839 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
11840 (grow_mini_window): Fix typo getting int value of root->height.
11841
6fc556fd
KR
11842 * xdisp.c (compute_string_pos): Fix order of arguments to
11843 string_pos_nchars_ahead.
11844 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
11845 count arg to variable-arg routines like Frun_hook_with_args and
11846 Fformat.
587a49ab
GM
11847 (back_to_previous_visible_line_start)
11848 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
11849 fixed-arg routines like Fget_char_property and Fmake_string.
11850 (reconsider_clip_changes): Use XINT when comparing integer lisp
11851 objects, or passing them as int arguments.
587a49ab
GM
11852 (mark_window_display_accurate, insert_left_trunc_glyphs)
11853 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11854 storing or passing integer values as lisp objects.
11855 (set_cursor_from_row, highlight_trailing_whitespace): Use
11856 INTEGERP, not implicit test against zero, for glyph object.
11857 (try_window_id): Don't use make_number when we want an int value.
11858
11859 * xfaces.c (xlfd_symbolic_value): Make last argument a
11860 Lisp_Object, to be consistent with callers.
11861 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11862 (lface_hash): Apply XFASTINT to lisp values before folding in.
11863
11864 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11865 fill in window width and height. Pass an int, not a lisp object,
11866 as first arg to Finsert.
11867
6e7b2457
GM
118682000-04-01 Gerd Moellmann <gerd@gnu.org>
11869
610d841e
GM
11870 * xfaces.c (realize_basic_faces): Block input while realizing
11871 the faces.
11872
6e7b2457
GM
11873 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11874
11875 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11876
aa110c0c
GM
118772000-03-31 Gerd Moellmann <gerd@gnu.org>
11878
11879 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 11880 or ASCII, handle case that per-char metric is null.
aa110c0c 11881
8801a864
KR
118822000-03-30 Ken Raeburn <raeburn@gnu.org>
11883
c6129d7e
KR
11884 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11885
52283633
SM
11886 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11887 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
11888 pointer, using eassert.
11889 * frame.h (XFRAME): Likewise.
11890
52283633
SM
11891 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11892 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11893 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 11894 * data.c (set_internal): Likewise.
52283633
SM
11895 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11896 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
11897 * fileio.c (auto_save_1): Likewise.
11898 * insdel.c (check_markers): Likewise.
11899 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11900 * undo.c (record_insert): Likewise.
11901 * vmsproc.c (child_sig): Likewise.
11902 * window.c (unshow_buffer, window_loop): Likewise.
11903 * xterm.c (x_erase_phys_cursor): Likewise.
11904
8e7af858
GM
119052000-03-30 Gerd Moellmann <gerd@gnu.org>
11906
11907 * xfns.c (free_image_cache): Free the cache structure itself
11908 last, after all its members have been freed.
11909
11910 * lisp.h (xstrdup): Add prototype.
11911
11912 * alloc.c (xstrdup): Moved here from xfaces.c.
11913 (allocating_for_lisp): Variable removed.
52283633 11914 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11915
11916 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11917 of Fsymbol_value.
11918 (xstrdup): Moved to alloc.c.
11919
e0b8c689
KR
119202000-03-29 Ken Raeburn <raeburn@gnu.org>
11921
b96f9fb7
KR
11922 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11923
11924 * emacs.c (main): Fix sense of no-loadup test.
11925
e0b8c689
KR
11926 * config.in (ENABLE_CHECKING): Undef.
11927
11928 * lisp.h (struct interval): Replace "parent" field with a union of
11929 interval pointer and Lisp_Object; add new bitfield to use as
11930 discriminant. Change other flag fields to bitfields.
11931 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11932 is defined and the supplied test fails, print a message and abort.
11933 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11934
11935 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11936 pointers; abort if the value looks like a lisp object.
52283633
SM
11937 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11938 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11939 Modify for new interval parent definition.
11940
52283633
SM
11941 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11942 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
11943 addressable lisp object in the interval structure.
11944 (die): New function.
11945 (suppress_checking): New variable.
11946
11947 * intervals.c (interval_start_pos): Just return 0 if there's no
11948 parent object.
11949
f83c5440
GM
119502000-03-29 Gerd Moellmann <gerd@gnu.org>
11951
11952 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11953 and earlier Emacs versions.
11954
11955 * keyboard.c (Ftop_level): Cancel busy-cursor.
11956
11957 * eval.c (call_debugger): Cancel busy-cursor.
11958
fdce64ff
KH
119592000-03-29 Kenichi Handa <handa@etl.go.jp>
11960
11961 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 11962 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 11963
f6a3f532
SM
119642000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11965
11966 * regex.c (analyse_first): New function obtained by ripping out most
11967 of re_compile_fastmap and generalizing it a little bit so that it
11968 can also just return whether a given (sub)pattern can match the empty
11969 string or not.
11970 (regex_compile): Use `analyse_first' to decide whether the loop-check
11971 needs to be done or not for *, +, *? and +? (the loop check is costly
11972 for non-greedy repetition).
11973 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11974
e9b309ac
DL
119752000-03-28 Dave Love <fx@gnu.org>
11976
52283633 11977 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 11978
e9b309ac
DL
11979 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11980
ed0767d8
SM
119812000-03-27 Stefan Monnier <monnier@cs.yale.edu>
11982
11983 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
11984 an expression.
11985 (enum re_opcode_t): Update description of succeed_n.
11986 (PATFETCH): Always define.
11987 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
11988 operators, char classes, shy-groups and intervals).
11989 Optimize special cases of intervals so as to only use succeed_n and
11990 jump_n when really needed.
11991 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
11992 that we don't have to handle the special cases any more.
11993 Simplify on_failure_jump handling as well.
11994
e11e7e46
JR
119952000-03-28 Jason Rumney <jasonr@gnu.org>
11996
11997 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
11998
88faab89
GM
119992000-03-27 Gerd Moellmann <gerd@gnu.org>
12000
182ff242
GM
12001 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12002
12003 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12004
182ff242
GM
12005 * alloc.c (mark_maybe_object): New function.
12006 (mark_memory): Use it.
12007 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12008 (setjmp_tested_p, longjmp_done): New variables.
12009 (test_setjmp): New function.
12010 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12011 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12012
c1005d06
GM
12013 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12014 to DEC_TEXT_POS and INC_TEXT_POS.
12015
12016 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12017 with parameter MULTIBYTE_P.
12018
52283633 12019 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12020
7439e5b9 12021 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12022 buffers because it looks for multibyte character byte sequences
12023 which don't exist in unibyte text.
7439e5b9 12024
d9c545da
GM
12025 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12026
11fd416e 12027 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12028 [DEBUG_X_COLORS]: New functions.
12029 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12030
12031 * xfns.c (x_set_cursor_color): Get color reference counts right.
12032
12033 * xterm.c (x_copy_color): New function.
12034 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12035
12036 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12037 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12038 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12039 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12040 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12041 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12042 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12043 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12044 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12045 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12046
11fd416e
GM
12047 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12048 names for handling per-buffer variables.
d9c545da
GM
12049
12050 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12051 instead of MAX_BUFFER_LOCAL_VARS.
12052 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12053
12054 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12055
88faab89
GM
12056 * xfns.c (x_specified_cursor_type): New function.
12057 (x_set_cursor_type): Use it.
12058
12059 * buffer.h (struct buffer): Add cursor_type.
12060
d80f42b7
SM
120612000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12062
12063 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12064 (print_partial_compiled_pattern, re_compile_fastmap):
12065 Handle new opcode.
d80f42b7
SM
12066 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12067 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12068 executing it as well as when popping it off the stack to find infinite
12069 loops in non-greedy repetition operators.
12070
89e80928
GM
120712000-03-26 Gerd Moellmann <gerd@gnu.org>
12072
3d4ff2dd
GM
12073 * doc.c (Qfunction_documentation): New variable.
12074 (syms_of_doc): Initialize Qfunction_documentation.
12075 (Fdocumentation): If FUNCTION is a symbol with non-nil
12076 `function-documentation' property, return a documentation derived
12077 from that.
12078
bd96bd79
GM
12079 * buffer.c (syms_of_buffer): Add default-cursor-type.
12080 (init_buffer_once): Don't let cursor_type have a local value
12081 in every buffer.
12082
19d1bc27
GM
12083 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12084 on buffer-local value of cursor_type.
12085 (x_draw_bar_cursor): Add parameter WIDTH.
12086
12087 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12088 (init_buffer_once): Set default cursor_type value to t.
12089 Mark cursor_type as local everywhere.
12090 (syms_of_buffer): New per-buffer variable cursor-type.
12091
89e80928
GM
12092 * buffer.h (struct buffer): Remove member local_var_flags,
12093 add local_flags.
12094 (MAX_BUFFER_LOCAL_VARS): New macro.
12095 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12096 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12097 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12098 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12099
52283633 12100 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12101
12102 * category.c (Fset_category_table): Use new macros for per-buffer
12103 variables.
12104
12105 * buffer.c (buffer_permanent_local_flags): Make a char array.
12106 (max_buffer_local_idx): New variable.
12107 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12108 for new handling of per-buffer variables.
12109 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12110 (init_buffer_once): Initialize per-buffer vars differently.
12111 Set max_buffer_local_idx.
12112
12113 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12114 variables.
12115
52283633 12116 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12117
12118 * data.c (do_symval_forwarding, store_symval_forwarding)
12119 (find_symbol_value, set_internal, default_value, Fset_default)
12120 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12121 per-buffer variables.
12122
12123 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12124
9a0dd3dc
GM
121252000-03-24 Gerd Moellmann <gerd@gnu.org>
12126
b68c375f
GM
12127 * xterm.c (x_term_init): Unblock input around call1 of
12128 Qvendor_specific_keysyms.
12129
9a0dd3dc
GM
12130 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12131 (find_defun_start): Consider an open parenthesis in column 0
12132 a defun start only if open_paren_in_column_0_is_defun_start is set.
12133 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12134
7973e637
SM
121352000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12136
12137 * eval.c (Fautoload): Add entry in load-history (if after dump).
12138 * lread.c (load-history): Update docstring.
12139
39210e90
GM
121402000-03-24 Gerd Moellmann <gerd@gnu.org>
12141
12142 * indent.c (Fvertical_motion): Always use the current buffer.
12143 Temporarily change the window's buffer, if necessary.
12144
72db3ab5
GM
121452000-03-23 Gerd Moellmann <gerd@gnu.org>
12146
12147 * xterm.c (fast_find_position): Make sure not to consider rows
12148 not visible in the window.
12149
990b2375
SM
121502000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12151
12152 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12153 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12154
ff4df011
JR
121552000-03-22 Jason Rumney <jasonr@gnu.org>
12156
12157 * w32menu.c (single_submenu): Set help string to NULL if none.
12158 (w32_menu_show): Set help string correctly.
12159 (add-menu-item): Set help string in MIIM_DATA for menu item.
12160 Load SetMenuItemInfoA explicitly.
12161 (w32_menu_display_help): New function.
427ec082 12162
ff4df011
JR
12163 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12164 (QCdata): Moved to xdisp.c.
12165
12166 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12167 (Vw32_charset_to_codepage_alist): Removed.
12168 (Vw32_charset_info_alist): New variable.
52283633
SM
12169 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12170 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12171 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12172 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12173 with TODO comment.
12174 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12175 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12176 Define Vw32_charset_info_alist and w32_charset symbols.
12177
121782000-03-22 Jason Rumney <jasonr@gnu.org>
12179
12180 * makefile.nt (w32bdf.obj): Update dependencies.
12181
12182 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12183
12184 * w32fns.c: Include fontset.h after dispextern.h.
12185 (Fx_create_frame): Do not create fontset.
12186 (w32_load_system_font): Doc fix.
12187 (Fx_close_connection): Free full_name if it is not shared.
12188
12189 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12190 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12191 Callers updated.
ff4df011
JR
12192 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12193 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12194 (w32_font_is_double_byte): New function, needs body.
12195 (x_append_glyph): Set glyph->glyph_not_available_p.
12196 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12197 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12198 character, convert it to a unibyte character.
12199 (struct glyph_string): Delete member `charset'.
12200 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12201 calculating it is found.
12202 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12203 the case that per char metric is not available correctly.
12204 (x_fill_glyph_string): Handle the case that the specific glyph is
12205 not available correctly.
12206 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12207 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12208 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12209 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12210 fontset. Don't call FS_LOAD_FONT.
12211
439d5cb4
KR
122122000-03-22 Ken Raeburn <raeburn@gnu.org>
12213
12214 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12215 (INT_LISPLIKE): New macro.
12216 (NULL_INTERVAL_P): Use it.
52283633
SM
12217 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12218 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12219 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12220
12221 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12222 explicit references to "parent" field of struct interval and
12223 associated unclean type conversions.
52283633
SM
12224 * intervals.c (create_root_interval, root_interval, rotate_right)
12225 (rotate_left, balance_possible_root_interval, split_interval_right)
12226 (split_interval_left, interval_start_pos, find_interval)
12227 (next_interval, previous_interval, update_interval)
12228 (adjust_intervals_for_insertion, delete_node, delete_interval)
12229 (adjust_intervals_for_deletion, merge_interval_right)
12230 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12231 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12232 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12233 Likewise.
12234 * syntax.c (update_syntax_table): Likewise.
12235
12236 * intervals.c (reproduce_tree_obj): New function, like
12237 reproduce_tree but takes a Lisp_Object for the parent. Declare
12238 with prototype.
12239 (graft_intervals_into_buffer): Use it when appropriate.
12240 (reproduce_tree): Declare with prototype.
12241 (balance_possible_root_interval): Check that the parent is a lisp
12242 object before trying to examine its type.
12243
ee1c5b21
GM
122442000-03-22 Gerd Moellmann <gerd@gnu.org>
12245
12246 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12247 as strings only if both are known to be strings.
12248
12249 * s/openbsd.h (LIBS_TERMCAP): Undef.
12250
1fb352e0
SM
122512000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12252
12253 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12254 definitions for non-Emacs compilation.
12255 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12256 outside of `#ifdef emacs'.
12257 (print_partial_compiled_pattern): Update.
12258 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12259 (re_compile_fastmap): Merge handling of charset and charset_not (for
12260 emacs and non-emacs compilation as well).
12261 Similarly for (not)categoryspec and (not)syntaxspec.
12262 Don't use the fastmap when reaching `anychar' since the added
12263 complexity is not justified.
12264 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12265 and (not)syntaxspec. Merge (not)categoryspec.
12266
fdaa1f77
KH
122672000-03-22 Kenichi Handa <handa@etl.go.jp>
12268
52283633
SM
12269 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12270 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12271 --without-x.
fdaa1f77 12272
d152fb46
DL
122732000-03-21 Dave Love <fx@gnu.org>
12274
12275 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12276 doc string.
12277
d2cafc8c
GM
122782000-03-21 Gerd Moellmann <gerd@gnu.org>
12279
12280 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12281 (lface_fully_specified_p): Don't check contents of
12282 LFACE_FONT_INDEX because that attribute is optional.
12283 (realize_x_face): Remove now unwarranted xassert.
12284
9111d4b5
KH
122852000-03-21 Kenichi HANDA <handa@etl.go.jp>
12286
12287 The following changes are to make font selection based on
12288 characters, not charset. In addition, they recover fontset
12289 facilities while utilizing the new font selection mechanism.
12290
6c4bfdc0
KH
12291 * Makefile.in (fontset.o): Depend on dispextern.h.
12292
12293 * alloc.c (mark_face_cache): Don't mark face->registry.
12294
9111d4b5
KH
12295 * dispextern.h (struct glyph): New member glyph_not_available_p.
12296 Use 22 bits for face_id.
12297 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12298 (struct face): Delete member registry, new member ascii_face.
12299 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12300 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12301 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12302 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12303
12304 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12305 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12306 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12307 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12308 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12309 (fs_free_face_fontset, fontset_font_pattern)
12310 (face_suitable_for_char_p, face_for_char)
12311 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12312 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12313 (FS_LOAD_FACE_FONT): New macro.
12314
12315 * fontset.c: All codes rewritten or adjusted for the change of
12316 fontset implementation. Now fontset is represented by char table.
52283633
SM
12317 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12318 Variables removed.
9111d4b5 12319 (my_strcasecmp): Function removed.
52283633 12320 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12321 (AREF, ASIZE): New macros.
52283633
SM
12322 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12323 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12324 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12325 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12326 (fontset_id_valid_p, font_family_registry, fontset_name)
12327 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12328 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12329 New functions.
12330 (fs_load_font): New arg FACE. Caller changed.
12331 (fs_query_fontset): Argument changed. Caller changed.
12332 (Fquery_fontset): call fs_query_fontset.
12333 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12334 Functions removed.
52283633
SM
12335 (clear_fontset_elements, check_registry_encoding)
12336 (check_fontset_name): New functions.
9111d4b5
KH
12337 (syms_of_fontset): Set char-table-extra-slots property of fontset
12338 to 3. Staticpro and initialize Vfontset_table and
12339 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12340
12341 * frame.h (struct frame): Member `fontset_data' removed.
12342 (FRAME_FONTSET_DATA): Macro removed.
12343
12344 * frame.c (make_frame): Don't allocate f->fontset_data.
12345 (Fdelete_frame): Don't free f->fontset_data.
12346
6c4bfdc0
KH
12347 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12348
9111d4b5
KH
12349 * xdisp.c (charset_at_position): Function removed.
12350 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12351 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12352 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12353 Likewise.
12354 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12355 FACE_FOR_CHARSET.
52283633
SM
12356 (get_next_display_element, append_space)
12357 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12358
12359 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12360 Variables removed.
12361 (clear_font_table, frame_update_line_height, load_face_font):
12362 Adjusted for the change of fontset implementation.
12363 (load_face_fontset_font): Function removed.
12364 (pixel_point_size): New function.
12365 (font_list): Argument type changed. Caller changed.
12366 (LFACE_FONT): New macro.
12367 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12368 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12369 Lisp_Object. Determine the font name by actually loading a font
12370 by the specified pattern. Set LFACE_FONT (lface) to the specified
12371 pattern. Even if a font is not found, don't try alternatives.
12372 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12373 (set_font_frame_param): If `font' is specified in lface, use it.
12374 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12375 (lface_same_font_attributes_p): Likewise.
12376 (make_realized_face): Arguent changed. Caller changed. Set
12377 face->ascii_face to face itself.
12378 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12379 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12380 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12381 (free_realized_multibyte_face): New function.
12382 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12383 changed. Caller changed.
12384 (try_font_list): Argument type changed.
12385 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12386 (choose_face_font): Argument changed. Handle fontset properly.
12387 (choose_face_fontset_font): Function removed.
12388 (realize_default_face, realize_named_face): Don't remove the
12389 former face here.
12390 (realize_face): Argument changed. Caller changed. Remove face
52283633 12391 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12392 (realize_x_face): Argument changed. Caller changed. For a
12393 multibyte character, share fontset with base_face. For a single
52283633 12394 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12395 (realize_tty_face): Argument changed. Caller changed.
12396 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12397 (face_at_buffer_position): Don't check multibyte_p for returning
12398 DEFAULT_FACE_ID.
12399 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12400 FACE_SUITABLE_FOR_CHARSET_P.
12401 (syms_of_xfaces): Remove code for Qx_charset_registry and
12402 Vface_default_registry.
12403
6c4bfdc0
KH
12404 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12405 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12406 (x_per_char_metric): Don't try FONT->default_char. Even if
12407 pcm->width is zero, glyph bits may exist.
12408 (x_encode_char): Always initialize char2b->byte1.
12409 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12410 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12411 (x_append_glyph): Set glyph->glyph_not_available_p.
12412 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12413 it->charset. Handle the case that per char metric is not
12414 available. If it->multibyte_p is zero and it->c is a multibyte
12415 character, convert it to a unibyte character.
12416 (struct glyph_string): Delete member `charset'.
12417 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12418 the case that per char metric is not available correctly.
12419 (x_fill_glyph_string): Handle the case that the specific glyph is
12420 not available correctly.
12421 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12422 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12423 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12424 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12425 fontset. Don't call FS_LOAD_FONT.
12426
12427 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12428 (x_create_tip_frame): Likewise.
12429 (Fx_close_connection): Free full_name of font_info.
12430
12431 * fns.c (optimize_sub_char_table): New function.
12432 (Foptimize_char_table): New function.
12433 (syms_of_fns): Defsubr Soptimize_char_table.
12434
b33dd3b0
GM
124352000-03-20 Gerd Moellmann <gerd@gnu.org>
12436
12437 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12438 only if buffer is displayed in some window.
12439
12440 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12441 (try_window_reusing_current_matrix): Don't call scroll run
12442 function if run's current and desired position are the same;
12443 this prevents cursor flickering.
12444
4e8a9132
SM
124452000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12446
12447 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12448
12449 * regex.c (RE_STRING_CHAR): New macro.
12450 (GET_CHAR_AFER_2): Remove.
12451 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12452 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12453 (print_partial_compiled_pattern, re_compile_fastmap)
12454 (re_match_2_internal): Remove on_failure_jump_exclusive.
12455 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12456 optimization only need to work for * (ie. can use of_keep_string_jump).
12457 Remove the special case for .*\n since it is now covered by the general
12458 optimization.
12459 (re_search_2): Don't bother with `room'.
12460 (skip_one_char): New function.
12461 (skip_noops): Simplify since `memory' is not needed any more.
12462 (mutually_exclusive_p): Restructure slightly to use `switch' and
12463 add handling for "all" remaining cases.
12464 (re_match_2_internal): Change on_failure_jump_smart to use
12465 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12466 rather than on_failure_jump_exclusive.
12467
2136fdd4
GM
124682000-03-19 Gerd Moellmann <gerd@gnu.org>
12469
12470 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12471 number of bits per RGB because it's everywhere used as the depth
12472 of the visual.
12473
12474 * term.c (calculate_costs): Remove code dealing with X frames.
12475
18e21ce8 124762000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12477
12478 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12479
d7b511c4
GM
124802000-03-18 Gerd Moellmann <gerd@gnu.org>
12481
12482 * lread.c (read_integer): Unread the last char not consumed.
12483
16b5d424
GM
124842000-03-17 Gerd Moellmann <gerd@gnu.org>
12485
12486 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12487 which are in the process of being deleted.
16b5d424 12488
1fa28578
GM
124892000-03-16 Gerd Moellmann <gerd@gnu.org>
12490
83488cce
GM
12491 * Makefile.in (mostlyclean): Add `*.core'.
12492 (clean): Add `bootstrap-emacs'.
12493
1fa28578
GM
12494 * lread.c (read_integer): New function.
12495 (read1): Support read syntax #o, #x, #b, #r.
12496
99633e97
SM
124972000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12498
1fa28578
GM
12499 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12500 make sure POINTER_TO_OFFSET gives the same value before and after
12501 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12502 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12503 (debug): Now only active if > 0 rather than if != 0.
12504 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12505 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12506 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12507 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12508 (store_op1, store_op2, insert_op1, insert_op2)
12509 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12510 (group_in_compile_stack): Move to after its arg's types are
12511 declared and add a prototype.
99633e97 12512 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12513 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12514 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12515 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12516 indentation of the greedy-op and shy-group code.
99633e97
SM
12517 (at_(beg|end)line_loc_p): Fix argument's types.
12518 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12519 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12520 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12521 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12522 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12523 QUIT unconditionally.
99633e97 12524
699238d9
GM
125252000-03-15 Gerd Moellmann <gerd@gnu.org>
12526
12527 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12528 a sole completion.
12529
12530 * process.c (send_process): Add a hint that the function
12531 can call Lisp code to its comment.
12532
12533 * lread.c (load_dangerous_libraries): New variable.
12534 (Vbytecomp_version_regexp): New variable.
12535 (safe_to_load_p): New function.
12536 (Fload): Handle files not compiled with Emacs specially.
12537 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12538
34e23e5a
GM
125392000-03-14 Gerd Moellmann <gerd@gnu.org>
12540
9c763cca
GM
12541 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12542
12543 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12544 support functions only if HAVE_X11R6_XIM is defined.
12545 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12546
12547 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12548
12549 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12550 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12551 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12552
12553 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12554 (HAVE_X11R6_XIM): Define.
12555
12556 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12557
34e23e5a
GM
12558 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12559 If set, call XSynchronize.
12560
66f0296e
SM
125612000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12562
34e23e5a
GM
12563 * regex.c: Declare a new type `re_char' used throughout the code
12564 for the string char type. It's `const unsigned char' to match the
12565 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12566 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12567 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12568 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12569 code duplication.
66f0296e
SM
12570
12571 * charset.h (GET_CHAR_AFTER_2): Remove.
12572 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12573
854a025c
KR
125742000-03-12 Ken Raeburn <raeburn@gnu.org>
12575
12576 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12577 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12578 of them try to use backquotes.
12579
b9d2c7e2
DL
125802000-03-12 Dave Love <fx@gnu.org>
12581
12582 * unexelf.c: Restore changes of 1999-10-19.
12583 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12584 fix its type and alignment; copy it from current process.
12585
5e5dff44
GM
125862000-03-12 Gerd Moellmann <gerd@gnu.org>
12587
9b2f3c38
GM
12588 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12589 has been found. Fix bug not computing timer's predecessor.
12590
427ec082 12591 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12592 file name.
12593
e1cff360
GM
12594 * window.c (Fsave_window_excursion): Doc fix.
12595
52283633 12596 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12597
e411ce4b
EZ
125982000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12599
12600 * msdos.c (vga_installed): New function, code moved from
12601 dos_set_window_size.
12602 (Qbar, Qcursor_type, outside_cursor): New variables.
12603 (syms_of_msdos): Intern and staticpro them.
12604 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12605 shape used outside Emacs when called for the first time.
12606 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12607 cursor shape used outside Emacs.
12608 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12609 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12610 type has changed.
12611 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12612 parameters specify the cursor. Make qreverse a global
12613 variable (renamed to Qreverse).
12614
80460654
GM
126152000-03-09 Gerd Moellmann <gerd@gnu.org>
12616
12617 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12618
95cd4c40
SM
126192000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12620
12621 This is a big redesign of failure-stack and register handling, prompted
12622 by bugs revealed when trying to add shy-groups. Overall, what happened
12623 is that loops are now structured a little differently, groups can be
12624 shy and the code is a little simpler.
12625
12626 * regex.h: Update the copyright.
12627 (RE_SHY_GROUPS): New value.
12628 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12629 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12630
80460654
GM
12631 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12632 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12633 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12634 for (start|stop)_memory since they now only take one argument (the
12635 second has becomes unnecessary).
52283633 12636 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12637 (print_compiled_pattern): Use %ld to printf long ints and flush to
12638 make debugging a little easier.
95cd4c40
SM
12639 (union fail_stack_elt): Make the integer unsigned.
12640 (struct fail_stack_type): Add a `frame' element.
12641 (INIT_FAIL_STACK): Init `frame' as well.
12642 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12643 (DEBUG_PUSH, DEBUG_POP): Remove.
12644 (NUM_REG_ITEMS): Remove.
12645 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12646 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12647 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12648 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12649 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12650 New macros.
80460654
GM
12651 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12652 address pushed is not the destination of the jump but the source
12653 of it instead.
95cd4c40
SM
12654 (NUM_FAILURE_ITEMS): Remove.
12655 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12656 registers before the actual failure point). Don't hardcode any
12657 meaning for str==NULL anymore.
95cd4c40 12658 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12659 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12660 Remove.
95cd4c40
SM
12661 (REG_UNSET_VALUE): Use NULL (why not?).
12662 (compile_range): Remove declaration since it doesn't exist.
12663 (struct compile_stack_elt_t): Remove inner_group_offset.
12664 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12665 (regex_grow_registers): Remove dead code.
12666 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12667 (regex_compile): Add shy-groups Change loops to use
12668 on_failure_jump_smart&jump instead of
12669 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12670 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12671 variable to me). Use `jump' instead of `jump_past_alt' and don't
12672 bother with push_dummy_failure in alternatives since it is now
12673 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12674 emacs' for (re)allocating the stack.
12675 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12676 from loop when bufp->can_be_null rather than jumping to `done'.
12677 Avoid jumping backwards so as to ensure termination. Use
12678 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12679 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12680 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12681 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12682 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12683 (lowest_active_reg, highest_active_reg)
12684 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12685 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12686 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12687 variables. Push register (in `start_memory') on the stack rather
12688 than storing it in old_reg(start|end). Remove the cycle detection
12689 from `stop_memory', replaced by the use of on_failure_jump_loop
12690 for greedy loops. Add code for the new on_failure_jump_<foo>.
12691 Remove ad-hoc code in `on_failure_jump' to push more registers in
12692 the case of a loop. Take out code from `maybe_pop_jump' into
12693 separate functions and adapt it to the semantics of
12694 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12695 and push_dummy_failure. Remove dummy_failure handling and
12696 handling of `failures to jump to on_failure_jump' (this last one
12697 was already dead code, it seems).
12698 (group_match_null_string_p, alt_match_null_string_p)
12699 (common_op_match_null_string_p): Remove.
95cd4c40 12700
7397acc4
DL
127012000-03-08 Dave Love <fx@gnu.org>
12702
12703 * config.in: Don't depend on __STDC__ for volatile.
12704 Add POINTER_TYPE, PTR, PROTOTYPES.
12705
12706 * hftctl.c, strftime.c: Use PROTOTYPES.
12707 * eval.c (find_handler_clause): Likewise.
12708
12709 * mem-limits.h: Use POINTER_TYPE.
12710
12711 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12712 (memory_warnings): Declare using POINTER_TYPE.
12713
5e91ff9e
GM
127142000-03-08 Gerd Moellmann <gerd@gnu.org>
12715
feab4fba
GM
12716 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12717
52283633 12718 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12719
5e91ff9e
GM
12720 * xfns.c: Remove obsolete code in #if 0.
12721 (Fx_focus_frame): New function.
12722
a735b7e1
KH
127232000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12724
12725 * coding.c (coding_category_name): Add coding-category-utf-8,
12726 coding-category-utf-16-be, coding-category-utf-16-le.
12727 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12728 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12729 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12730 (detect_coding_utf_8): New function.
12731 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12732 UTF_16_LOW_SURROGATE_P): New macros.
12733 (detect_coding_utf_16): New function
12734 (detect_coding_mask): When priorities are specified, skip any
12735 categories that have `nil' coding-system. Fix bug of returning
12736 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12737 returns a mask not set in PRIORITIES.
12738 (detect_eol_type_in_2_octet_form): New function.
12739 (detect_eol): selects detect_eol_type_XXX to call according to
12740 cooding->category_idx.
12741 (detect_coding_system): Remove `nil' coding-system in the result.
12742 (Fupdate_coding_systems_internal): Update all coding-categories.
12743
52283633
SM
12744 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12745 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12746 New macros.
12747 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12748 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12749 (CODING_CATEGORY_IDX_UTF_16_LE)
12750 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12751 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12752 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12753 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12754
9994cc69
GM
127552000-03-07 Gerd Moellmann <gerd@gnu.org>
12756
e9b4e5ff
GM
12757 * doc.c (Fdocumentation_property): If value is not a string,
12758 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12759
f7daf1e1
GM
12760 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12761 close the display with XtCloseDisplay. This caused a bus error
12762 on OpenWindows.
12763
9994cc69
GM
12764 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12765 complete but not unique.
12766
4336c705
GM
127672000-03-06 Gerd Moellmann <gerd@gnu.org>
12768
18bb0684
GM
12769 * process.c (send_process): Remove local variable `procname' that
12770 might become invalid when a GC happens. Instead, access the
12771 process name slot directly.
12772
4336c705
GM
12773 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12774 orig_height if set.
12775
12776 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12777 orig_height if set.
12778
515d0d0e
EZ
127792000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12780
12781 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12782 glyph matrices have been freed.
12783
100b3cbb
GM
127842000-03-05 Gerd Moellmann <gerd@gnu.org>
12785
50df5e5a 12786 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 12787 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
12788
12789 * xfns.c (QCdata): Moved to xdisp.c.
12790
12791 * xdisp.c (QCdata): Moved here from xfns.c.
12792 (syms_of_xdisp): Initialize QCdata.
12793
12794 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12795
12796 * window.c (coordinates_in_window): Use
12797 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12798 FRAME_INTERNAL_BORDER_WIDTH.
12799
100b3cbb 12800 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 12801 it is obviously invalid.
100b3cbb
GM
12802
12803 * xterm.c (x_term_init): Create a colormap if not using the
12804 default visual.
12805
12806 * xterm.h (select_visual): Change prototype.
12807
12808 * xfns.c (select_visual): Rewritten. Recognize user-specified
12809 visual classes.
12810 (visual_classes): New variable.
12811
64d739c4
GM
128122000-03-04 Gerd Moellmann <gerd@gnu.org>
12813
12814 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
12815 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
12816 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 12817 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
12818 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
12819 XtNcolormap resources.
12820 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
12821 (Fx_create_frame): Initialize color members of x_output structure.
12822 (xpm_load): Pass colormap to XPM lib.
12823
12824 * xfaces.c (x_free_colors): Access colormap of frame using
12825 FRAME_X_COLORMAP. Be paranoid about freeing black and white
12826 when default colormap is used.
12827
12828 * xterm.c (x_term_init): Set Colormap member of x_display_info
12829 structure. Copy colormap if resource `privateColormap' is
12830 specified (PseudoColor only).
12831 (x_setup_relief_color): Access colormap of frame using
12832 FRAME_X_COLORMAP.
12833
12834 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
12835 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
12836
c3cee013
JR
128372000-03-04 Jason Rumney <jasonr@gnu.org>
12838
12839 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
12840 other non-platform-specific equivalents.
64d739c4 12841 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
12842 specific functions and macros as their w32 equivalents where
12843 non-platform-specifics are not available.
12844 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
12845 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
12846 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12847 (frame_update_line_height): Use macros to access f->output_data.
12848 (defined_color): Remove FIXME comments; fixed.
12849 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12850 into #ifdef blocks. Add WINDOWSNT blocks.
12851 (Fx_list_fonts): Use macros for accessing font data.
12852 (set_lface_from_font_name): Different default fonts for X and
12853 WINDOWSNT.
12854 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12855 scalable for backward compatibility.
64d739c4 12856 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12857 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12858
64d739c4 12859 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12860 syms_of_w32faces.
12861
12862 * makefile.nt (w32faces.obj): Remove.
12863 (xfaces.obj): Add.
12864
807cc41c
JR
128652000-03-03 Jason Rumney <jasonr@gnu.org>
12866
12867 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12868 correct parameters.
12869
0007072a
KR
128702000-03-03 Ken Raeburn <raeburn@gnu.org>
12871
12872 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12873 standard ELF definitions here if the system header does not.
12874
71a6ba55
GM
128752000-03-03 Gerd Moellmann <gerd@gnu.org>
12876
12877 * xterm.c (PER_CHAR_METRIC): Removed.
12878 (x_per_char_metric_1, x_default_char): New functions.
12879 (x_per_char_metric): If font's default char is invalid, return
12880 metrics of a suitably chosen usable default char.
12881 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
12882 char, replace occurrences of unprintable chars with a suitably
12883 chosen usable default char.
71a6ba55 12884
900fa1f1
GM
128852000-03-02 Gerd Moellmann <gerd@gnu.org>
12886
42f55fe0
GM
12887 * xterm.c (note_mouse_highlight): Return quickly if frame's
12888 glyph matrices have been freed.
12889
12890 * dispnew.c (free_glyphs): Block input while freeing matrices.
12891
900fa1f1
GM
12892 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12893
52283633
SM
12894 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12895 Use x_free_colors.
900fa1f1
GM
12896
12897 * dispextern.h (x_free_colors): Add prototype.
12898
12899 * xfaces.c (x_free_colors): New function.
12900 (unload_color, free_face_colors): Use it.
12901
2f950292
EZ
129022000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12903
12904 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12905
12906 * window.c [MSDOS]: Include msdos.h.
12907
54d04320
DL
129082000-03-02 Dave Love <fx@gnu.org>
12909
12910 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12911
12912 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12913 set C_OPTIMIZE_SWITCH for gcc.
12914
0ba93ac4
KH
129152000-03-02 Kenichi Handa <handa@etl.go.jp>
12916
12917 * coding.c (coding_save_composition): Be sure to allocate
12918 composition data area in coding even if there's no composition in
12919 the current run.
12920
a2bc11d4
JR
129212000-03-01 Jason Rumney <jasonr@gnu.org>
12922
12923 * w32term.c: Equivalent changes to those made to xterm.c on
12924 2000-02-25 and 2000-02-24.
12925
12926 * w32fns.c: Equivalent changes to those made to xfns.c on
12927 2000-02-25 and 2000-02-21.
12928
12929 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12930 correct line-end convention is followed.
12931
12932 * w32menu.c [HAVE_BOXES]: Remove #undef.
12933 (single_keymap_panes): Remove code for simulating checkmarks.
12934 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12935 Remove code for drawing simulated checkmarks.
12936 (w32_menu_show): make unibyte help string correctly.
12937 (add_menu_item): draw standard Windows checkmarks. Draw radio
12938 buttons as radio buttons if possible.
12939
72d19d75
GM
129402000-03-01 Gerd Moellmann <gerd@gnu.org>
12941
2df636f4
GM
12942 * sysdep.c (start_of_text): Don't define this function for NetBSD
12943 with ELF.
12944
427ec082 12945 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
12946 Don't define.
12947 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12948 (LINKER): Don't undef if __NetBSD__ is defined.
12949
12950 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12951
12952 * fileio.c [__NetBSD__]: Define `unix'.
12953
72d19d75
GM
12954 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12955
ed4d0512
GM
129562000-02-29 Gerd Moellmann <gerd@gnu.org>
12957
50b1039f
GM
12958 * atimer.c (start_atimer): Don't abort when timers are stopped.
12959 (append_atimer_lists): New function.
12960 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12961 arbitrary lists of stopped and running atimers.
12962
ed4d0512
GM
12963 * atimer.c (cancel_atimer): Handle canceling an atimer when
12964 some timers are stopped.
12965
12966 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12967 after canceling it.
12968
12969 * fns.c (maybe_resize_hash_table): Handle case of new size
12970 coming out as being the same as old size.
12971
387023ee
JR
129722000-02-27 Jason Rumney <jasonr@gnu.org>
12973
12974 * makefile.nt: Add atimer.h to dependencies.
12975 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12976 * w32console.c: Only disable window system features for dispextern.h
12977 (initialize_w32_display): Build a display info for the console.
12978 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12979 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12980 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
12981 as 2 button mice.
12982 * w32gui.h (struct W32FontStruct): Revert last change after change
12983 to xdisp.c.
12984 * w32menu.c (single_submenu): Set up help string.
12985 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
12986 (w32_dialog_show): Set up help string.
12987 * w32term.c (w32_display_info_for_display): Remove unused function.
12988 (w32_draw_bitmap): Use pre-built bitmaps.
12989 (w32_initialize_display_info): New function to initialize parts of
12990 display info that are common to both GUI and console frames.
12991 (w32_term_init): Use w32_initialize_display_info. Do not set
12992 Vw32_num_mouse_buttons here, as it is not called for console
12993 frames. Build bitmaps for indicating truncated lines etc.
12994 (x_delete_display): Destroy pre-built bitmaps.
12995 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
12996 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
12997
4516715a
DL
129982000-02-27 Dave Love <fx@gnu.org>
12999
13000 * lisp.h: Add a bunch of prototypes.
13001
171ca836
KH
130022000-02-26 Kenichi Handa <handa@etl.go.jp>
13003
13004 * keyboard.c (read_char): Set `usec' correctly.
13005
4013921d
KH
130062000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13007
13008 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13009 `lambda', set reg[RRR] to the map index.
13010 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13011 reg[RRR] to 0. Otherwise, set it to -1.
13012
9244a058
GM
130132000-02-25 Gerd Moellmann <gerd@gnu.org>
13014
2df636f4 13015 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13016
18e21ce8 130172000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13018
f43d79c1
GM
13019 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13020 and contains a `:', prepend `/:'.
13021
13022 * window.c (select_window_1): If selected_window is nil,
13023 don't "swap out" the buffer's point.
13024 (Fset_window_configuration): Set selected_window to nil
13025 before calling Fselect_window.
13026 (unshow_buffer): Don't set point in buffer from window's point
13027 if another more recently selected window also shows the buffer.
13028
bed0c171
GM
130292000-02-25 Gerd Moellmann <gerd@gnu.org>
13030
449c3c52
GM
13031 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13032
f5b58615
GM
13033 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13034 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13035 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13036 New variables.
f5b58615
GM
13037 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13038 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13039 (hide_busy_cursor): New functions.
13040 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13041
13042 * minibuf.c (read_minibuf): Cancel busy-cursor.
13043
13044 * keyboard.c (command_loop_1): Call start_busy_cursor before
13045 Fcommand_execute and cancel_busy_cursor after it.
13046 (timer_check): Remove busy-cursor code.
13047 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13048 cursor timer.
13049
13050 * process.c (wait_reading_process_input): Remove busy-cursor code.
13051
13052 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13053 Fx_hide_busy_cursor.
13054
13055 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13056 Remove prototyoes.
13057 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13058
13059 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13060
13061 * xterm.c (XTread_socket): Remove busy-cursor code.
13062
4eb8436f
GM
13063 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13064 (build_frame_matrix_from_leaf_window): Put code handling
13065 glyph row's not being a slice of a frame row in #if 0.
13066 (sync_window_with_frame_matrix_rows): New function.
13067 (frame_row_to_window): New function.
13068 (mirror_line_dance): Handle copies between windows.
13069
3cb65b0e
GM
13070 * lread.c (Fload): Use `xfree' instead of `free'.
13071 (init_obarray): Use `xmalloc' instead of `malloc'.
13072
bed0c171
GM
13073 * window.c (Fset_window_buffer): Set WINDOW to the window
13074 after decoding.
2add4349
GM
13075 (coordinates_in_window): Take frame's internal border width
13076 into account.
bed0c171 13077
42088c12
GM
130782000-02-24 Gerd Moellmann <gerd@gnu.org>
13079
13080 * xterm.c (x_display_and_set_cursor): Display cursor of
13081 non-selected windows depending on the setting of
13082 cursor_in_non_selected_windows.
13083
13084 * xdisp.c (cursor_in_non_selected_windows): New variable.
13085 (syms_of_xdisp): DEFVAR_BOOL it.
13086
d1e103b2
GM
130872000-02-23 Gerd Moellmann <gerd@gnu.org>
13088
723e779c
GM
13089 * data.c (Fstring_to_number): If number is greater than what
13090 fits into an integer, return a float.
13091
d1e103b2
GM
13092 * eval.c (specbind): Remove references to
13093 keyword_symbols_constant_flag.
13094
13095 * data.c (keyword_symbols_constant_flag): Removed.
13096 (Fmakunbound, set_internal, syms_of_data): Remove references to
13097 keyword_symbols_constant_flag.
13098
13099 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13100
214f877f
KH
131012000-02-23 Kenichi Handa <handa@etl.go.jp>
13102
13103 * syntax.c (multibyte_syntax_as_symbol): New variable.
13104 (syms_of_syntax): Declare it as a Lisp variable.
13105 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13106 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13107 nonzero, treat all multibyte characters as symbol.
52283633 13108 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13109
130adcb7
EZ
131102000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13111
3cb65b0e 13112 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13113 a deleted frame.
130adcb7 13114
17cbbf95
GM
131152000-02-21 Gerd Moellmann <gerd@gnu.org>
13116
13117 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13118
13119 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13120 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13121
beb0bc36
DL
131222000-02-21 Dave Love <fx@gnu.org>
13123
13124 * frame.c (Vmouse_position_function): New variable.
13125 (Fmouse_position): Use it.
13126 (syms_of_frame): Install it.
13127
13128 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13129
1d92afcd
GM
131302000-02-20 Gerd Moellmann <gerd@gnu.org>
13131
13132 * fileio.c (Finsert_file_contents): Unbind the binding of
13133 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13134
13135 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13136 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13137 (specbind, unbind_to): Handle most common case of non-constant
13138 symbol with trivial value specially.
13139
13140 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13141
18e21ce8 131422000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13143
13144 * data.c (Fmake_variable_buffer_local): Doc fix.
13145 Init found_for_buffer to 0.
13146 (Fmake_variable_frame_local): If the variable has already
13147 been buffer-local, set the check_frame field.
13148
1d4311c3
EZ
131492000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13150
13151 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13152 produced for CODING_MODE_LAST_BLOCK requires.
13153
2dc95ddd
DL
131542000-02-18 Dave Love <fx@gnu.org>
13155
13156 * keyboard.c (echo_keystrokes): Remove declaration.
13157 (Vecho_keystrokes) New variable.
13158 (read_char, record_menu_key, read_key_sequence): Use it to allow
13159 use of float value.
13160 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13161
13162 * lread.c: Undef feature selection macros before defining.
13163
f0930f35
GM
131642000-02-18 Gerd Moellmann <gerd@gnu.org>
13165
13166 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13167 for symbols other than the symbol in question.
13168
e3d4de90
DL
131692000-02-17 Dave Love <fx@gnu.org>
13170
13171 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13172
0b378936
GM
131732000-02-17 Gerd Moellmann <gerd@gnu.org>
13174
d621caf7
GM
13175 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13176
0b378936
GM
13177 * alloc.c (enum mem_type): Compile unconditionally.
13178
3b451f74
EZ
131792000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13180
13181 * xfaces.c (tty_defined_color): Don't return faulire indication
13182 for unspecified-fg and unspecified-bg pseudo-colors.
13183
10689a01
GM
131842000-02-17 Gerd Moellmann <gerd@gnu.org>
13185
1216f5e4
GM
13186 * alloc.c (mark_object): Don't mark symbol names in pure space.
13187 (gc_sweep): Don't unmark symbol names in pure space.
13188
13189 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13190 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13191 [GC_MARK_STACK]: New defines.
427ec082 13192 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13193 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13194
13195 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13196
13197 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13198 allocate_buffer instead of xmalloc.
13199
13200 * alloc.c (toplevel): Include setjmp.h.
13201 (PURE_POINTER_P): New define.
13202 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13203 (Vdead) [GC_MARK_STACK]: New variable.
13204 (lisp_malloc): Add parameter TYPE, call mem_insert if
13205 GC_MARK_STACK is defined.
13206 (allocate_buffer): New function.
427ec082 13207 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13208 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13209 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13210 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13211 (MEM_NIL) [GC_MARK_STACK]: New define.
13212 (struct mem_node) [GC_MARK_STACK]: New structure.
13213 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13214 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13215 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13216 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13217 (mark_stack) [GC_MARK_STACK]: New functions.
13218 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13219 (clear_marks): Removed.
13220 (gc_sweep): Set free conses' car, free floats' type, free
13221 symbols' function to Vdead. Use lisp_free to free buffers.
13222 (init_alloc_once): Initialize Vdead.
13223 (survives_gc_p): Return non-zero for pure objects.
13224
13225 * alloc.c: Add comments throughout the file.
13226
2503c8b1
GM
13227 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13228 that unblocks alarms.
13229
8389e1e2
GM
13230 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13231 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13232 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13233
10689a01 13234 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13235
bfc17d18
KH
132362000-02-17 Kenichi Handa <handa@etl.go.jp>
13237
4a09dee0
KH
13238 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13239 avoid infinite error signaling. Allocate sufficient memory for
13240 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13241
2b927d02
SM
132422000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13243
13244 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13245 depends on the previous behavior.
13246
b49cb764
GM
132472000-02-16 Gerd Moellmann <gerd@gnu.org>
13248
13249 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13250
99e95407
GM
132512000-02-15 Gerd Moellmann <gerd@gnu.org>
13252
13253 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13254
13255 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13256 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13257 write(2).
13258
6ffd3cf7
RS
132592000-02-15 Richard M. Stallman <rms@gnu.org>
13260
13261 * data.c (set_internal): Don't make variable buffer-local
13262 if within a let-binding for the same buffer.
13263 (let_shadows_buffer_binding_p): New function.
13264
13265 * eval.c (specbind): For buffer-local value,
13266 record the current buffer also.
13267 (unbind_to): Cope with that change.
13268
cad53475
GM
132692000-02-15 Gerd Moellmann <gerd@gnu.org>
13270
13271 * window.c (Fsave_window_excursion): Doc fix.
13272
1aa963c8
SM
132732000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13274
13275 * syntax.c (back_comment): Make sure we only consider comment-starters
13276 of the relevant style and return -1 in case of a failure to find the
13277 beginning of the comment.
13278 (Fforward_comment): If back_comment fails, go back to the position just
13279 after the comment-end.
13280 (scan_lists): Add comment describing a very minor bug.
13281
b9b84fd3
SM
132822000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13283
13284 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13285 `completion-regexp-list' in the docstring.
13286
3a28db80
DL
132872000-02-14 Dave Love <fx@gnu.org>
13288
13289 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13290
fb4a568d
SM
132912000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13292
13293 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13294 to Emacs' syntax. Also fix the comment about set/not-set meanings
13295 since Emacs syntax is not the value 0 any more.
13296 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13297 since it's now part of RE_SYNTAX_EMACS.
13298
1063ebb5
DL
132992000-02-12 Dave Love <fx@gnu.org>
13300
52283633 13301 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13302
fb07a302
GM
133032000-02-12 Gerd Moellmann <gerd@gnu.org>
13304
13305 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13306
aaf2320c
DL
133072000-02-12 Dave Love <fx@gnu.org>
13308
13309 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13310
13311 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13312 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13313 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13314
13315 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13316
13317 * s/nextstep.h: Don't define HAVE_ALLOCA.
13318
13319 * config.in: Add vfork bits.
13320
eedf8bde
GM
133212000-02-12 Gerd Moellmann <gerd@gnu.org>
13322
13323 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13324 unwind function to undo the effect of stopping atimers.
13325
52283633 13326 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13327
13328 * atimer.c (stopped_atimers): New variable.
13329 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13330 New functions.
13331
13332 * atimer.h (stop_other_atimers, run_all_atimers)
13333 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13334
eedf8bde
GM
13335 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13336
8476c2f8
KR
133372000-02-11 Ken Raeburn <raeburn@gnu.org>
13338
13339 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13340 library may depend on jpeg.
13341 (atimer.o): Depends on atimer.c.
13342
0e85e4a3
KH
133432000-02-11 Kenichi Handa <handa@etl.go.jp>
13344
13345 * insdel.c (del_range_1): Call update_compositions.
13346 (del_range_both): Call update_compositions just once..
13347
97fa0cc8
DL
133482000-02-10 Dave Love <fx@gnu.org>
13349
13350 * xfns.c (create_frame_xic): Fix initialization of automatic
13351 aggregates for pcc.
13352
25566a3c
KH
133532000-02-09 Kenichi Handa <handa@etl.go.jp>
13354
13355 * ccl.c (CCL_MAKE_CHAR): New macro.
13356 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13357 registers by CCL_MAKE_CHAR before calling translate_char.
13358 <CCL_TranslateCharacterConstTbl> Likewise.
13359
69da54ba
DL
133602000-02-08 Dave Love <fx@gnu.org>
13361
13362 * lread.c (__EXTENSIONS__): Define.
13363
f7136ee8
GM
133642000-02-08 Gerd Moellmann <gerd@gnu.org>
13365
13366 * puresize.h (BASE_PURESIZE): Increase to 650000.
13367
7768790b
EZ
133682000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13369
13370 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13371 the help message.
13372
38fd211b
EZ
133732000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13374
13375 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13376 md, mh, mb, mr, and me to the fake termcap entry.
13377
66e4690f
KR
133782000-02-06 Ken Raeburn <raeburn@gnu.org>
13379
13380 * sound.c (sound_cleanup): Don't call device close routine if the
13381 function pointer is null.
13382
a75dfea0
AI
133832000-02-06 Andrew Innes <andrewi@gnu.org>
13384
13385 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13386 around image definitions and prototypes.
13387 (gamma_correct) [WINDOWSNT]: New prototype.
13388
13389 * w32term.c (x_make_frame_visible): Replace call to
13390 input_poll_signal with poll_for_input.
13391
13392 * window.c [WINDOWSNT]: Include w32term.h.
13393
13394 * xdisp.c [WINDOWSNT]: Include w32term.h.
13395
13396 * makefile.nt: Add dependencies on w32gui.h.
13397 (OBJ1): Include atimer.obj.
13398 ($(BLD)\atimer.obj): New dependency rule.
13399
13400 * w32.c (sigmask): New function (does nothing).
13401 (sigunblock): Ditto.
13402
13403 * frame.c [WINDOWSNT]: Include w32term.h.
13404
13405 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13406
13407 * lread.c (syms_of_lread): Fix literal newlines.
13408
13409 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13410 the string constant limit (2048 bytes) in MSVC.
13411 (main): Ditto.
13412
59ddecde
GM
134132000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13414
52283633 13415 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13416 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13417 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13418 dispatch the event.
13419
07590973
DL
134202000-02-04 Dave Love <fx@gnu.org>
13421
13422 * fileio.c: Remove some unused vars.
13423 (_GNU_SOURCE): Define (for euidaccess).
13424
13425 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13426
13427 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13428 gcpro1, gcpro2.
13429 (read_minibuf): Deal with allow_props correctly.
13430
649351f9
EZ
134312000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13432
13433 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13434
66e4690f 134352000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13436
13437 * search.c (compile_pattern): If a cache entry has a nil regexp,
13438 fill in that entry instead of clobbering a previously cached
13439 string regexp.
13440
66e4690f 134412000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13442
13443 * puresize.h (BASE_PURESIZE): Increase to 610000.
13444
d240a249
GM
134452000-02-02 Gerd Moellmann <gerd@gnu.org>
13446
13447 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13448 can GC.
13449
ca91fb26
KH
134502000-02-02 Kenichi Handa <handa@etl.go.jp>
13451
25660570
KH
13452 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13453 instead of incrementing ic directly.
13454 <CCL_WriteExprConst> Likewise.
13455 <ccl_set_expr>: Set ic to jump_address.
13456
ca91fb26
KH
13457 * fileio.c (e_write): Fix the handling of
13458 CODING_FINISH_INSUFFICIENT_SRC.
13459
2ede9689
DL
134602000-02-01 Dave Love <fx@gnu.org>
13461
13462 * editfns.c (Fpropertize): Doc fix.
13463
13464 * process.c (Fstart_process): Doc fix.
13465
13466 * eval.c: Fix various doc strings not to duplicate information
13467 from help-manyarg-func-alist.
13468
52283633 13469 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13470
13471 * doc.c (Vhelp_manyarg_func_alist): New variable.
13472 (Fdocumentation): Use it.
13473 (syms_of_doc): Define it.
13474
b6680a0e
GM
134752000-01-31 Gerd Moellmann <gerd@gnu.org>
13476
2cb750ba
GM
13477 * xterm.c (xim_open_dpy): Remove unused local variable.
13478
52283633 13479 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13480
13481 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13482 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13483
b6680a0e
GM
13484 * fns.c (sweep_weak_table): New function.
13485 (sweep_weak_hash_tables): Use it. Keep on marking until there
13486 is no more change.
13487
994c5afe
GM
134882000-01-30 Gerd Moellmann <gerd@gnu.org>
13489
13490 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13491 that XTread_socket does not crash by trying to call XNoOp on a
13492 closed display.
427ec082 13493
f00276e3
JR
134942000-01-30 Jason Rumney <jasonr@gnu.org>
13495
13496 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13497 Change selected_frame to SELECTED_FRAME ().
13498 (w32_console_mouse_position): Remove #ifndef MULE from around
13499 `insist' parameter.
13500
13501 * makefile.nt: Remove dosfns.obj.
13502
13503 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13504
13505 * w32fns.c (w32_defined_color): Check for valid frame before
13506 applying gamma correction. Eliminate dependency on frame elsewhere.
13507 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13508 (w32_to_x_font): Use resx and resy not height_in and width_in.
13509 (x_to_w32_font): Doc fix.
13510 (xlfd_strip_height): New function to strip and return font height.
13511 (w32_font_match): Compare height separately from rest of xlfd
13512 spec, using xlfd_strip_height.
13513
13514 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13515 width_in. Use w32_defined_color in place of defined_color.
13516
13517 * w32faces.c: Merge more of DOS and X specifics in preparation for
13518 merge with xfaces.c.
13519 (defined_color): Remove FIXME comment.
13520 (tty_color_name): Provide w32-specific function.
13521 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13522
13523 * w32console.c (turn_on_face, turn_off_face): Removed.
13524 (w32_face_attributes): New function.
13525 (Global_variables): Reduce scope where possible.
13526 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13527 fill attribute.
13528 (hl_mode): Don't modify text attributes.
13529 (write_glyphs): Don't do anything if len <= 0. Use
13530 w32_face_attributes to get attributes for drawing. Write
13531 terminating codes using char_attr_normal.
13532 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13533 (update_begin, update_end): Likewise.
13534 (vga_stdcolor_name): New function.
13535 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13536 (Fset_screen_color): Remove char_attr_reverse.
13537
b08e8bb2
GM
135382000-01-29 Gerd Moellmann <gerd@gnu.org>
13539
13540 * xfns.c (xic_set_preeditarea): Take window parameter and
13541 window-relative pixel-positions.
13542
13543 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13544 is its frame's selected window.
13545 (xim_instantiate_callback): Likewise.
13546
13547 * xfns.c (x_create_im): Removed.
13548 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13549 (supported_xim_styles): Renamed from supported_styles.
13550 (best_xim_style): Renamed from best_style.
13551 (create_frame_xic): Renamed from xic_create_frame.
13552 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13553
b08e8bb2
GM
135542000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13555
13556 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13557 our frames, call XFilterEvent with 2nd parameter `None'.
13558 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13559 returning XBufferOverflow.
52283633 13560 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13561 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13562 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13563 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13564 (xim_initialize, xim_close)
13565 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13566 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13567 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13568 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13569
13570 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13571 and `xim_styles'.
13572 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13573 `xic_style' and `xic_xfs'.
13574 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13575 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13576 (FRAME_XIM): Removed.
13577
13578 * xfns.c (supported_styles): New variable.
13579 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13580 (xic_create_xfontset, best_style, xic_create_frame)
13581 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13582 (xic_set_xfontset): New functions.
13583
142e109c
DL
135842000-01-28 Dave Love <fx@gnu.org>
13585
13586 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13587
13588 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13589
b02786f9
GM
135902000-01-28 Gerd Moellmann <gerd@gnu.org>
13591
d060bc9f
GM
13592 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13593 for *scratch* if it already existed.
13594
b02786f9
GM
13595 * emacs.c (USAGE): New macro.
13596 (main): Use it to display usage information.
13597
2c52d7e4
EZ
135982000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13599
13600 Support for the menu-help feature:
13601
52283633 13602 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13603
13604 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13605 part of the line to the termscript file.
13606 (IT_clear_to_end): Clear the entire line, not just its beginning.
13607 (menu_help_message, prev_menu_help_message): New variables.
13608 (IT_menu_make_room): Make room for the help_text member.
13609 (IT_menu_display): New argument disp_help; all callers changed.
13610 If disp_help is non-zero, store the help text of the active menu
13611 item in menu_help_message.
13612 (XMenuAddPane): Initialize the help_text member to NULL.
13613 (XMenuAddSelection): New argument help_text. Store it in the
13614 XMenu structure.
13615 (XMenuActivate): New argument help_callback. If the value of
13616 menu_help_message has changed since the last time, display the
13617 menu help message text while waiting for the mouse to move. Clear
13618 the echo area before exiting.
13619 (XMenuDestroy): Free the help_text member.
13620
ffe0bcd1
GM
136212000-01-27 Gerd Moellmann <gerd@gnu.org>
13622
13623 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13624 XMenuAddSelection. Pass help callback to XMenuActivate.
13625 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13626
50dbd23f
EZ
136272000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13628
13629 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13630 and EMACS_SET_USECS.
13631
f5941bf8
GM
136322000-01-26 Dave Love <fx@gnu.org>
13633
6c67ddee
DL
13634 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13635
f5941bf8
GM
13636 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13637 an error may be signalled.
13638
9e49c990
GM
136392000-01-26 Gerd Moellmann <gerd@gnu.org>
13640
fc3cb460
GM
13641 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13642 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13643
9e49c990
GM
13644 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13645
d0c037d8
GM
136462000-01-25 Gerd Moellmann <gerd@gnu.org>
13647
13648 * charset.c (Fstring): If there is a multibyte char among
13649 the args, always return a multibyte string.
13650
e12489f9
GM
136512000-01-25 Gerd Moellmann <gerd@gnu.org>
13652
13653 * sysdep.c (sys_select): Turn atimers off and on instead of
13654 recording and restoring old alarm handler
13655
13656 * process.c (toplevel): Include atimer.h.
13657 (create_process_1): Rewritten.
13658 (create_process): Use atimers instead of alarm.
13659 (wait_reading_process_input) [hpux]: Turn atimers off instead
13660 of turning off SIGALRM.
13661 (wait_reading_process_input): Turn off atimers instead off
13662 calling stop_polling.
13663
13664 * emacs.c (main): Call init_atimer.
13665
13666 * keyboard.c (toplevel): Include systime.h and atimer.h.
13667 (polling_for_input): Removed because unused.
13668 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13669 (poll_timer): New variable.
13670 (poll_for_input, poll_for_input_1): New functions.
13671 (start_polling, stop_polling): Rewritten.
13672
13673 * keyboard.h (polling_for_input): Removed.
427ec082 13674
e12489f9
GM
13675 * atimer.h, atimer.c: New files.
13676
13677 * Makefile.in (obj): Add atimer.o.
13678 (atimer.o): New target.
13679
13680 * blockinput.h (pending_atimers): Add extern declaration.
13681 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13682
13683 * lisp.h (popup_activated_flag): Add extern declaration.
13684
13685 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13686 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13687 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13688
13689 * xterm.c (toplevel): Include atimer.h.
13690 (toolkit_scroll_bar_interaction): New variable.
13691 (Fxt_process_timeouts): Removed.
13692 (x_process_timeouts): New function.
13693 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13694 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13695 (x_make_frame_visible): Call poll_for_input_1 instead of
13696 input_poll_signal. Don't call alarm.
13697 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13698
1e5279b9
DL
136992000-01-24 Dave Love <fx@gnu.org>
13700
6c67ddee 13701 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13702 Don't use -cckr -- apparently not now necessary.
13703
edf6aeb8
EZ
137042000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13705
13706 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13707 screen boundary.
13708
9badad41
JR
137092000-01-23 Jason Rumney <jasonr@gnu.org>
13710
13711 * w32fns.c (w32_defined_color): Apply gamma correction before
13712 trying to map to the palette.
13713 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13714 to w32_clear_rect.
13715
13716 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13717 here. Callers changed to always pass real device context.
13718 (w32_draw_bitmap): Likewise.
13719 (w32_get_glyph_overhangs): Likewise.
52283633 13720 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13721 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13722 pfnSetScrollInfo and SetScrollRange.
13723 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13724 back into MULE characters after decoding them.
13725 (x_get_glyph_face_and_encoding): Likewise.
13726 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13727 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13728 (x_produce_glyphs): Calculate per char metrics for a character
13729 that we know exists in default font when font_not_found_p is true.
13730
63bd786b
JR
137312000-01-22 Jason Rumney <jasonr@gnu.org>
13732
13733 * makefile.nt (intervals.obj, composite.obj): New modules.
13734 (composite.h): Added as dependency where appropriate.
13735
13736 * w32gui.h (XGCValue): New struct for emulating X GCs.
13737
13738 * w32term.h (XCharStruct): New struct for emulating X.
13739
13740 * w32console.c (turn_on_face, turn_off_face): New functions.
13741 (change_line_highlight): New prototype for new redisplay.
13742 (write_glyphs): Support multibyte text. Support faces.
13743
52283633 13744 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13745
13746 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13747 throughout. struct frame * in place of FRAME_PTR.
13748 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13749 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13750 (w32_get_arg): Renamed from x_get_arg.
13751 (Fx_file_dialog): New function.
13752 (w32_list_fonts): Check cache before asking system.
13753 (Vw32_enable_synthesized_fonts): New variable.
13754 (Vw32_enable_italics): Obsolete, removed.
13755
13756 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13757 Use SELECTED_FRAME macro.
13758
13759 * w32menu.c: Add skeleton support for help strings on menus.
13760 (add_menu_item): Native checkbox and radio support added, but not
13761 yet enabled due to bugs.
13762 (push_menu_item): Add parameters type, selection and help.
13763 Callers updated.
13764 Formatting changes to reduce unnecessary diffs with xmenu.c.
13765
13766 * w32select.c (Fw32_set_clipboard_data): Update call to
13767 find_charset_in_str.
13768
13769 * w32term.c: Complete rewrite for new redisplay based on new
13770 xterm.c with necessary sections merged back in from old w32term.c.
13771
6ffd3cf7 137722000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13773
13774 * data.c (set_internal): Further fix in same criterion.
13775
6ffd3cf7 137762000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13777
13778 * data.c (set_internal): Fix the criteria for whether
13779 to swap out the old cached binding.
13780
60af03f1
DL
137812000-01-19 Dave Love <fx@gnu.org>
13782
13783 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13784
f9be074f
KH
137852000-01-18 Kenichi Handa <handa@etl.go.jp>
13786
13787 * regex.c (re_compile_fastmap): While checking a range table for
13788 `charset', skip flag bits for a character class correctly.
13789
52b8dbf9
GM
137902000-01-17 Gerd Moellmann <gerd@gnu.org>
13791
d36100c9
GM
13792 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13793
52283633 13794 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
13795
13796 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 13797 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
13798
13799 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
13800 MENU_ITEMS_ITEM_.*.
13801 (MENU_ITEMS_ITEM_HELP): New enumerator.
13802 (push_menu_item): Add parameter HELP. Record help in menu_items.
13803 (single_menu_item, single_submenu, list_of_items): Call
13804 push_menu_item with new parameter.
13805 (single_submenu): Set help string in widget value.
13806 (menu_highlight_callback): New function.
13807 (set_frame_menubar): Call lw_create_widget with new
13808 parameter list.
13809 (xmenu_show, xdialog_show): Ditto.
13810
3139018f
GM
138112000-01-13 Gerd Moellmann <gerd@gnu.org>
13812
13813 * sound.c (Fplay_sound): Improve doc string.
13814
83c8f461
RS
138152000-01-11 Richard M. Stallman <rms@gnu.org>
13816
13817 * lisp.h (set_internal): Enter the new arg.
13818
13819 * eval.c (specbind): Record buffer-local variables specially,
13820 indicating which buffer's binding was saved.
13821 (unbind_to): Restore buffer-local variables specially
13822 in the proper buffer.
13823
13824 * data.c (set_internal): New arg BUF.
427ec082 13825
83c8f461
RS
13826 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
13827 * data.c (Fset): Pass new arg to set_internal.
13828 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 13829
1fab1775
GM
138302000-01-11 Gerd Moellmann <gerd@gnu.org>
13831
52283633 13832 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 13833
83c8f461 138342000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
13835
13836 * minibuf.c (Ftry_completion): Doc fix.
13837
7a85e4df
GM
138382000-01-11 Gerd Moellmann <gerd@gnu.org>
13839
13840 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
13841 vector, too.
13842
a970dae4
AS
138432000-01-11 Andreas Schwab <schwab@suse.de>
13844
13845 * coding.c (code_convert_region): Initialize total_skip.
13846
c65d14ee
DL
138472000-01-08 Dave Love <fx@gnu.org>
13848
13849 * eval.c (Fuser_variable_p): Check customizability too.
13850
834938d2
GM
138512000-01-07 Gerd Moellmann <gerd@gnu.org>
13852
13853 * minibuf.c (Fcompleting_read): Doc fix.
13854
e0303cd6
GM
138552000-01-05 Gerd Moellmann <gerd@gnu.org>
13856
8a26744b
GM
13857 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13858 -L /usr/local/lib.
13859
e0303cd6
GM
13860 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13861 Check that input style is supported before trying to create an
13862 IC for it.
13863 (x_window): Call x_create_im.
427ec082 13864
2e471eb5
GM
138652000-01-04 Gerd Moellmann <gerd@gnu.org>
13866
560a7bd2
GM
13867 * xfns.c (current_gif_memory_src): New variable.
13868 (gif_load): Record the address of the current memory source
13869 in current_gif_memory_src.
13870 (gif_read_from_memory): Use current_gif_memory_src.
13871
f9ee84a3
GM
13872 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13873 macros statement form.
13874
d1299cde
GM
13875 * sound.c (struct sound): Renamed from struct sound_file.
13876 (struct sound): Add members `data' and `header_size'.
13877 (enum sound_attr): Add SOUND_DATA.
13878 (current_sound, current_sound_device): Variables renamed from
13879 sound_file and sound_device.
13880 (parse_sound): Parse :data.
13881 (parse_sound): Handle sound data in strings.
13882 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 13883 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
13884 needed header size.
13885 (wav_play, au_play): Play sounds from string data.
13886
2e471eb5
GM
13887 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13888
13889 * lisp.h: Add prototype for allocate_string_data.
13890
52283633 13891 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
13892
13893 * alloc.c (mark_buffer): Remove code in #if 0.
13894 (gc_sweep): Ditto.
13895 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13896 (strings_consed): New variable.
13897 (allocate_string): Set it.
13898 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13899 (Fmemory_use_counts): Return strings_consed. Use Flist.
13900
13901 * alloc.c: General cleanup in comments etc. Remove conditional
13902 compilation for `standalone'.
13903
13904 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13905
13906 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13907 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13908 (DONT_COPY_FLAG): Removed.
13909 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13910 (struct sdata, struct sblock): New
13911 (struct string_block): Rewritten.
13912 (STRINGS_IN_STRING_BLOCK): New macro.
13913 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13914 (large_sblocks, string_blocks, string_free_list): New variables.
13915 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13916 (init_strings): Rewritten.
13917 (allocate_string, allocate_string_data, compact_small_strings)
13918 (free_large_strings, sweep_strings): New functions.
13919 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13920 (struct string_block_head, current_string_block)
13921 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13922 (STRING_PAD): Removed.
13923 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13924 (Fgarbage_collect): Don't set mark bit in large strings.
13925 (mark_object): Mark strings differently. Mark symbol names
13926 differently.
13927 (survives_gc_p): Test marked strings differently.
427ec082 13928 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13929 symbol names.
13930 (compact_strings): Removed.
13931
42608ba8
EZ
139322000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13933
13934 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13935 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13936
e0a09e1a
KH
139372000-01-04 Kenichi Handa <handa@etl.go.jp>
13938
dd9f0750 13939 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 13940 in a non-empty buffer.
dd9f0750 13941
3c0f3b15 13942 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 13943
44cd3ae5
GM
139442000-01-03 Gerd Moellmann <gerd@gnu.org>
13945
13946 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13947 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13948
13949 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13950
c182a70f
EZ
139512000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13952
13953 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13954 need to test for MSDOS frames.
13955
24480d5b
EZ
139562000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13957
13958 * dosfns.c (unspecified_colors): Remove.
13959 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13960 unspecified_bg.
13961 (msdos_stdcolor_name): Return strings for unspecified fore- and
13962 back-ground colors.
13963
13964 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 13965 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
13966 (tty_color_name): Return Lisp strings for unspecified fore- and
13967 back-ground colors.
13968 (Finternal_set_lisp_face_attribute): Remove the special treatment
13969 for Qunspecified_{f,b}g.
52283633 13970 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 13971
047f434a
GM
139722000-01-03 Gerd Moellmann <gerd@gnu.org>
13973
13974 * xdisp.c (reseat_at_next_visible_line_start): Position before
13975 newline only if ending up on a newline.
13976 (next_element_from_ellipsis): Return success. Handle case of
52283633 13977 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
13978 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13979 returns 0.
13980
d684c676
EZ
139812000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13982
13983 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
13984 (Fcolor_supported_p): Renamed from face-color-supported-p.
13985
5fe1d139
EZ
139862000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13987
13988 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
13989 list of colors renamed to tty-defined-color-alist.
13990 (tty_color_name): Pass the frame to tty-color-by-index.
13991 (realize_tty_face): tty-color-alist is now a function which
13992 accepts the frame as argument.
13993
52283633 13994 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 13995
816be8b8
EZ
139962000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13997
13998 * term.c (insert_glyphs): Pass glyph, not &glyph, to
13999 encode_terminal_code.
14000
b635321e
EZ
140012000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14002
14003 * dispnew.c (mode_line_string): Support termcap frames as well.
14004
9b784e96
GM
140052000-01-01 Gerd Moellmann <gerd@gnu.org>
14006
27189709
GM
14007 * syntax.c (Fforward_word): Undo previous change.
14008
14009 * editfns.c (Fconstrain_to_field): Don't constrain if
14010 inhibit-field-text-motion is non-nil.
14011 (Fline_beginning_position): Undo previous change.
14012 (Fline_end_position): Ditto.
14013
14014 * syntax.c (Fforward_word): Notice field boundaries only if
14015 inhibit-field-text-motion is nil.
14016
14017 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14018
14019 * editfns.c (Vinhibit_field_text_motion): New variable.
14020 (inhibit-field-text-motion): New DEFVAR_LISP.
14021 (Fline_beginning_position, Fline_end_position): Notice field
14022 boundaries only if inhibit-field-text-motion is nil.
14023
45158a91
GM
14024 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14025 All calls adjusted.
14026 (x_build_heuristic_mask): Likewise.
14027 (xbm_load_image_from_file): Change error output.
14028 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14029 (gif_load, gs_load, x_kill_gs_process): Ditto.
14030
9b784e96
GM
14031 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14032 color indices when accessing raster pixels.
63cec32f
GM
14033 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14034 one of :file or :data.
14035 (enum pbm_keyword_index): Add PBM_DATA.
14036 (pbm_format): Add :data.
14037 (pbm_image_p): Allow either :file or :data.
14038 (pbm_read_file): New function.
14039 (pbm_scan_number): Rewritten to read from string.
14040 (pbm_load): Support :data.
9b784e96 14041
2cb085db 14042See ChangeLog.8 for earlier changes.
6922b018
KH
14043
14044;; Local Variables:
49b3bd82 14045;; coding: iso-2022-7bit
6922b018 14046;; End:
2a34a036
GM
14047
14048 Copyright (C) 2001 Free Software Foundation, Inc.
14049 Copying and distribution of this file, with or without modification,
14050 are permitted provided the copyright notice and this notice are preserved.