(Fif): Reindent.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
eae936e2
PJ
12001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2
b8de5714
PJ
3 * eval.c (Fif): Reindent.
4 (Fand): Likewise.
5
deb8e082
PJ
6 * editfns.c (Fuser_real_login_name): Reindent.
7 (Finsert_buffer_substring): Likewise.
8 (Fcompare_buffer_substrings): Likewise.
9 (Fsubst_char_in_region): Likewise.
10
bacf09b4
PJ
11 * dispnew.c (Fsit_for): Reindent.
12 (Fframe_or_buffer_changed_p): Likewise.
13 (Finternal_show_cursor_p): Likewise.
14 (syms_of_display): Likewise.
15
eae936e2
PJ
16 * alloc.c (Flist): Reindent.
17 (Fvector): Likewise.
18
1c1d3d69
RS
192001-11-12 Richard M. Stallman <rms@gnu.org>
20
21 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
22 LeaveNotify events. Only FocusIn and FocusOut do that now.
23 (x_display_and_set_cursor): Do display hollow cursors in active
24 minibuffer windows when they are not selected.
25
b6f4c7ba
JR
262001-11-12 Jason Rumney <jasonr@gnu.org>
27
28 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
29 * w32term.c: Change doc-string comments to `new style'.
30 [w/`doc:' keyword]. Doc fixes.
31
32 * w32fns.c: Don't define max.
33 (Fx_open_connection): Only execute once.
34
a89f435d
PJ
352001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
36
37 * ccl.c: Change macros to use do-while block instead of if-else.
38 Use braces to follow GNU Coding Standards.
39
a4cd0cd7
RS
402001-11-11 Richard M. Stallman <rms@gnu.org>
41
eafb659a
RS
42 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
43
44 * lread.c (read_escape): Use end_of_file_error for reporting eof.
45
a4cd0cd7
RS
46 * insdel.c (replace_range): Use adjust_markers_for_replace
47 instead of adjust_markers_for_delete and adjust_markers_for_insert.
48
49 * intervals.h: Declare set_text_properties and set_text_properties_1.
50
51 * textprop.c (set_text_properties_1): New subroutine
52 broken out of set_text_properties.
53 (set_text_properties): Use set_text_properties_1.
54
55 * intervals.c (graft_intervals_into_buffer):
56 Use set_text_properties_1 to clear out properties.
57
58 * search.c (Freplace_match): Use replace_range to insert
59 and delete. Don't request property inheritance from
60 surrounding text.
61
91823618
JR
622001-11-10 Jason Rumney <jasonr@gnu.org>
63
64 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
65 vertical fonts. Allow them if face name is explicitly specified.
66 Do not give up if we find a font that cannot be converted to an
67 xlfd.
68
86928dfb
GM
692001-11-10 Gerd Moellmann <gerd@gnu.org>
70
71 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
72 instead of malloc/free.
73
40ef1eda
PJ
742001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
75
ab8469eb
PJ
76 * xfaces.c (merge_face_vectors): Use braces to follow GNU
77 Coding Standards.
78 (Finternal_set_lisp_face_attribute): Likewise.
79
a78e0303
PJ
80 * buffer.c (Fbury_buffer): Likewise.
81
40ef1eda
PJ
82 * indent.c (current_column_1): Remove unused variable `prev_col'.
83
fabf4a91
PJ
84 * coding.c (encode_coding): Use precomputed value of `src'.
85 (encode_coding): Remove unused variable `src_end'.
86 (code_convert_region): Remove unused variables `count'.
87
0c99b139
JR
882001-11-07 Jason Rumney <jasonr@gnu.org>
89
90 * w32term.c (x_display_and_set_cursor): Do not move system caret
91 if cursor_glyph is NULL.
92
830ddd77
PJ
932001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
94
95 * keymap.c (access_keymap): Fix compilation error.
96
55c6d645
MB
972001-11-07 Miles Bader <miles@gnu.org>
98
99 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
100
5de38842
PJ
1012001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
102
7a4564a4
PJ
103 * intervals.c (graft_intervals_into_buffer):
104 Remove #ifdef'd-out code.
105 (graft_intervals_into_buffer): Remove unused variable `middle'.
106
5de38842
PJ
107 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
108 code (eval-current-buffer).
109 Change doc-string comments to `new style' [w/`doc:' keyword].
110
4fa23df5
RS
1112001-11-06 Richard M. Stallman <rms@gnu.org>
112
113 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
114
7a6a97d7
SM
1152001-11-06 Stefan Monnier <monnier@cs.yale.edu>
116
c191d13c
SM
117 * lread.c (read1): Fix behavior with nested backquoting.
118
7a6a97d7
SM
119 * keyboard.c (make_lispy_event): Check integerness and fix
120 Lisp_Object/int mixup.
121
44dc78e0
PJ
1222001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
123
124 * fns.c (copy_hash_table): Remove unused variable `v'.
125
17893c65
PJ
126 * fontset.c (fontset_font_pattern): Remove unused variable
127 `family_registry'.
128
4d994a79
PJ
129 * indent.c (current_column_1): Remove unused variable `prev_col'.
130
d5360cc7
RS
1312001-11-05 Richard M. Stallman <rms@gnu.org>
132
133 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
134
135 * buffer.c (Fkill_buffer): Don't delete auto save file
136 if buffer is modified.
137
96238a5a
AI
1382001-11-05 Andrew Innes <andrewi@gnu.org>
139
140 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
141 CHECK_NUMBER_CDR.
142
d9d54213
RS
1432001-11-05 Richard M. Stallman <rms@gnu.org>
144
145 * unexelf.c (unexec): Minor changes; clean up comments.
146
b116830b
SS
1472001-11-05 Sam Steingold <sds@gnu.org>
148
149 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
150
3297e2a1
AS
1512001-11-05 Andreas Schwab <schwab@suse.de>
152
153 * sound.c (sound_perror): Save errno from being clobbered.
154
9212319f 1552001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
156
157 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
158 the program image directly.
159
7dd73b78
PJ
1602001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
161
162 * buffer.h (Fbuffer_local_value): Add prototype.
163
982f6c7e
RS
1642001-11-04 Richard M. Stallman <rms@gnu.org>
165
d31053f9
RS
166 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
167 and CHECK_BUFFER.
168
169 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
170 (record_char): Likewise.
171
172 * keyboard.c (make_lispy_event): Don't insist a drag event must
173 move to a different buffer position. Instead, check for moving at
174 least double_click_fuzz.
175
176 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
177
178 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
179
982f6c7e
RS
180 * indent.c (current_column_1, Fmove_to_column): Separate the code
181 for display-table glyphs from the code buffer text, to fix
182 bugs in the former.
183
830047fd
RS
1842001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
185
186 * buffer.c (Fbuffer_local_value): New function.
c191d13c 187 (syms_of_buffer): Defsubr it.
b116830b 188
830047fd
RS
189 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
190 value of `cursor-in-non-selected-windows'.
191
192 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
193 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
194 (syms_of_xdisp): Initialize it.
b116830b 195
2df5238c
PJ
1962001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
197
4e397688
PJ
198 * xfns.c (Fx_create_frame): Doc fix.
199
48b0f3ae
PJ
200 * coding.c: Change doc-string comments to `new style' [w/`doc:'
201 keyword].
202
2df5238c
PJ
203 * eval.c (top_level_value, top_level_set): Remove commented and
204 #ifdef'd-out code.
205 (Fdefvar): Fix usage in doc-string.
206
3ecaf7e5
RS
2072001-11-03 Richard M. Stallman <rms@gnu.org>
208
209 * xfns.c: Include unistd.h, if it exists.
210
211 * editfns.c: Move the include of ctype.h after unistd.h.
212
213 * gmalloc.c: Test BROKEN_PROTOTYPES.
214
8db2e33b
KR
2152001-11-03 Ken Raeburn <raeburn@gnu.org>
216
217 * lisp.h (CHECK_STRING_CAR): New macro.
218 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
219 treating XCAR and XCDR as lvalues.
220 (openp): Use CHECK_STRING_CAR.
221 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
222
aed29b97
EZ
2232001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
224
225 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 226 (SIGMASKTYPE): Define.
aed29b97
EZ
227
228 * syssignal.h (sigunblock): Don't define if already defined.
229
6cb16f95
PJ
2302001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
231
16b45be4
EZ
232 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
233 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
234 Fix typos in comments.
235
020f9b38
PJ
236 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
237 and #ifdef'd-out code.
238 Fix and reindent comments.
239
c191d13c 240 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 241
6cb16f95
PJ
242 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
243 argument `i' in macros.
244
245 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
246 `i' in macros.
247
16b45be4
EZ
248 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
249 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
250 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
251 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
252 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
253 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
254 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
255 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
256 in macros.
257
258 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
259 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
260 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
261 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
262 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
263 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
264 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
265 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
266 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
267 (remove unused second argument).
268
7e9d3c2f
SM
2692001-11-02 Stefan Monnier <monnier@cs.yale.edu>
270
271 * syntax.c (describe_syntax): New wrapper.
272 (Finternal_describe_syntax_value): Rename from describe_syntax.
273 Don't insert space at front and \n at the end.
274 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
275
276 * regex.c (re_wctype): Try to fix some warnings.
277 (regcomp, regexec): Don't forget the __restrict.
278
e6bff182
RS
2792001-11-02 Richard M. Stallman <rms@gnu.org>
280
281 * textprop.c (Fget_char_property): Doc fix.
282
9ba48103
PJ
2832001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
284
285 * process.c (Fstart_process): Add usage to doc-string.
286
287 * data.c (Fsetq_default): Ditto.
288
289 * callint.c (Finteractive): Ditto.
290
c22e59e1
SM
2912001-11-01 Stefan Monnier <monnier@cs.yale.edu>
292
293 * macros.c: Don't include keymap.h any more.
294
9271ed2c
RS
2952001-11-01 Richard M. Stallman <rms@gnu.org>
296
e6bff182
RS
297 * data.c (Fmake_local_variable): Doc fix.
298
299 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
300 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
301
9271ed2c
RS
302 * keymap.c (Fdescribe_buffer_bindings): Print character property
303 bindings along with or instead of the buffer local map.
304 Make the overriding maps override what they should.
305
8b8bd9c6
PJ
3062001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
307
308 * window.c (grow_mini_window): Fix typo in comment.
309
27188d11
GM
3102001-11-01 Gerd Moellmann <gerd@gnu.org>
311
7b49b9d2
GM
312 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
313 (XTset_vertical_scroll_bar): Likewise.
314
43f7c3ea
GM
315 * xfns.c (x_build_heuristic_mask): Use four_corners_best
316 instead of IMAGE_BACKGROUND.
c22e59e1 317
b350c2e5
GM
318 * xfns.c (four_corners_best): Reindent.
319
c22e59e1 320 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
321 Handle :box so that it is possible to specify sexprs.
322
d576358b
PJ
3232001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
324
325 * xfaces.c (Finternal_merge_in_global_face): Reindent.
326 (Fface_font): Ditto.
327 (Finternal_set_alternative_font_registry_alist): Ditto.
328 (Ftty_suppress_bold_inverse_default_colors): Ditto.
329
330 * xfns.c (x-get-resource): Reindent.
331
bf00d461
EZ
3322001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
333
334 * s/hpux11.h: New file.
335
4e10df59
PJ
3362001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
337
2b209b97
PJ
338 * emacs.c (USAGE1): Show command line option --no-window-system
339 instead of --no-windows in usage.
340 (standard_args): Rename --no-windows to --no-window-system.
341 (bug_reporting_address): Follow Emacs coding conventions.
342
9dbc9081
PJ
343 * eval.c (Fcommandp): Doc fix.
344 Change doc-string comments to `new style' [w/`doc:' keyword].
345
4e10df59
PJ
346 * frame.c (Fframe_live_p): Doc fix.
347
348 * buffer.c (selective-display-ellipses): Doc fix.
349
dd387b25
GM
3502001-10-31 Gerd Moellmann <gerd@gnu.org>
351
fe957e65
GM
352 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
353
dd387b25
GM
354 * xfaces.c (realize_x_face): If C is not a single-byte character,
355 set the face's colors_copied_bitwise_p instead of the defaulted_p
356 members which have a different meaning.
357 (free_face_colors): Do nothing for a face whose colors have been
358 copied bitwise.
359
c22e59e1 360 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 361
2e1280f8
PJ
3622001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
363
687784e8
PJ
364 * marker.c, mocklisp.c: Change doc-string comments to `new style'
365 [w/`doc:' keyword].
2e1280f8 366
b9d9a9b9
GM
3672001-10-31 Gerd Moellmann <gerd@gnu.org>
368
369 * fns.c (require_unwind): Return Lisp_Object.
370
48400103
PJ
3712001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
372
fa1361cb
PJ
373 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
374 (last-input-char): Revert doc-string to be the same as the
375 doc-string of `last-input-event'.
376
48400103
PJ
377 * xdisp.c: Fix typos in comments.
378
eafa3196
GM
3792001-10-31 Gerd Moellmann <gerd@gnu.org>
380
381 * window.c (grow_mini_window): Handle case that the root
382 window is already smaller than the nominal mininum height.
383
747d3f2a
SM
3842001-10-30 Stefan Monnier <monnier@cs.yale.edu>
385
bf9bb76f
SM
386 * emacs.c (main): Don't call keys_of_macros any more.
387
388 * lisp.h (keys_of_macros): Remove.
389
390 * macros.c (keys_of_macros): Remove.
391
747d3f2a
SM
392 * xfaces.c (Fface_attribute_relative_p): Declare args.
393
5e905a57
JR
3942001-10-30 Jason Rumney <jasonr@gnu.org>
395
396 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
397 (enum_font_cb2): Ignore fonts with vertical orientation.
398
3a426197
RS
3992001-10-30 Richard M. Stallman <rms@gnu.org>
400
401 * keyboard.c (Finput_pending_p): Doc fix.
402
a742d646
GM
4032001-10-30 Gerd Moellmann <gerd@gnu.org>
404
259cf6bc
GM
405 * xterm.c (x_after_update_window_line): Don't run the code
406 clearing in borders for rows whose visible height is 0.
407
3f99f948
GM
408 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
409 resized_p flag is set. If not set, use the much less flickering
410 method previously used.
411
412 * dispnew.c (change_frame_size_1): Set frame's resized_p.
413
414 * frame.h (struct frame) <resized_p>: New member.
415
b4a3be43
GM
416 * lread.c (to_multibyte): Ensure read_buffer is at least twice
417 as large as the number of bytes to convert.
747d3f2a 418
a742d646
GM
419 * lread.c (to_multibyte): New function.
420 (read1): Use it.
421
cacbb9e9
EZ
4222001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
423
424 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
425
99cb6b2f
GM
4262001-10-30 Gerd Moellmann <gerd@gnu.org>
427
327f42ee 428 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
429 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
430 if the row's fill_line_p is set and drawing the last glyph with
431 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 432
99cb6b2f
GM
433 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
434
8e8223e2
SM
4352001-10-29 Stefan Monnier <monnier@cs.yale.edu>
436
437 * xmenu.c: Include coding.h and charset.h.
438 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
439 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
440 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
441 Explicitly set wv->help. Use `TRUE' rather than `True'.
442 (menu_help_callback): Use empty_string.
443
444 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
445 (Fx_popup_dialog): Explicitly init f.
446 (w32_menu_display_help): Use empty_string.
447
4d083a8f
RS
4482001-10-29 Richard M. Stallman <rms@gnu.org>
449
b2304472
RS
450 * fns.c (Frequire): Detect recursive try to require the same
451 feature 3 or more levels deep, and get error.
452 (require_unwind): New subroutine.
453 (require_nesting_list): New variable.
454 (syms_of_fns): Init and staticpro it.
455
4d083a8f
RS
456 * print.c (print_object): Clarify indication of insertion type.
457
2fe41216
EZ
4582001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
459
90480000
EZ
460 * coding.c (syms_of_coding): Document that locale-coding-system is
461 used for decoding input on X.
462
2fe41216
EZ
463 * window.c (Fscroll_left, Fscroll_right): Doc fix.
464
74e79967
PJ
4652001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
466
467 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
468 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
469
60ebcfe8
GM
4702001-10-29 Gerd Moellmann <gerd@gnu.org>
471
9a7bdceb
GM
472 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
473 use NO_CURSOR if cursor_in_non_selected_windows is false.
474
3f08fcd2
GM
475 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
476 the slant attribute if FRAME is t.
477
0ccfdad2
GM
478 * xfns.c (x_set_internal_border_width): Set frame garbaged
479 when X window doesn't exist yet.
480
ef253080
GM
481 * xterm.c (x_after_update_window_line): Clear internal border
482 in different circumstances.
b116830b 483
60ebcfe8
GM
484 * xterm.c (XTread_socket) <KeyPress>: Don't use
485 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
486 <handa@etl.go.jp>.
487
73d25f9c
EZ
4882001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
489
490 * m/ibms390.h: New file. From Adam Thornton
491 <athornton@sinenomine.net>.
492
cac1daf0
GM
4932001-10-28 Gerd Moellmann <gerd@gnu.org>
494
053b3256 495 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 496
cac1daf0
GM
497 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
498 a loop counter.
499
13b1a09c
PJ
5002001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
501
186486eb
PJ
502 * emacs.c: Use argv[0] instead of emacs when -t was specified.
503
4707d2d0
PJ
504 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
505 keyword].
506 Fix typos in comments.
b116830b 507
d883731c
PJ
508 * emacs.c (bug_reporting_address): New function.
509 Use it when displaying usage message.
510
04012254
PJ
511 * minibuf.c (read_minibuf): Remove unused external declaration of
512 variable `Qread_only'.
513
13b1a09c
PJ
514 * keymap.c (access_keymap): Remove unused variable `charset'.
515
5bbf4378
MB
5162001-10-28 Miles Bader <miles@gnu.org>
517
518 * xfaces.c (merge_face_heights): Handle TO being relative as well.
519 Remove #ifdef'd-out code.
520 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
521 (syms_of_xfaces): Initialize them.
522
1ce1e4ee
JR
5232001-10-27 Jason Rumney <jasonr@gnu.org>
524
525 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
526 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
527 position using the system caret.
528
529 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
530 (w32_system_caret_height, w32_system_caret_x)
531 (w32_system_caret_y): New variables for tracking system caret.
532 (w32_initialize): Initialize them.
c2d53558 533 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 534
c2d53558
SM
535 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
536 New messages types.
1ce1e4ee
JR
537
538 * w32term.c (note_mouse_highlight): Clear old help_echo.
539
4e30ce42
PJ
5402001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
541
bb4600a4
PJ
542 * xterm.c: Fix typo in a comment.
543
7db35a48
PJ
544 * emacs.c: Fix typos in comments.
545 Remove unnecessary spaces.
546 Change doc-string comments to `new style' [w/`doc:' keyword].
547 (USAGE2): Fix typos in usage string.
548
a7248e4f
PJ
549 * xterm.c: Fix typo in a comment.
550
4e30ce42
PJ
551 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
552 emacs.c.
553
62725a92
GM
5542001-10-27 Gerd Moellmann <gerd@gnu.org>
555
798dbe1f 556 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 557 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
558 farther backward when target_y was not reached.
559
62725a92
GM
560 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
561 Display errno only if non-zero.
562 (sound_warning): New function.
563 (vox_configure): Don't treat failing to set sample rate as error.
564 (various places): Improve error messages.
565
d4e34d24
EZ
5662001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
567
944e6f60
EZ
568 * fileio.c (Faccess_file): Run the argument filename through
569 Fexpand_file_name, before using it.
570
d4e34d24
EZ
571 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
572 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
573
38d2af0c
GM
5742001-10-26 Gerd Moellmann <gerd@gnu.org>
575
da80a8d5
GM
576 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
577
38d2af0c
GM
578 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
579 Fix clearing in the case of scroll bars on the right.
c2d53558 580
56f508dd
EZ
5812001-10-26 Juanma Barranquero <lektu@terra.es>
582
583 * w32gui.h (XImage): Add a dummy typedef.
584
fbd5ceb2
GM
5852001-10-26 Gerd Moellmann <gerd@gnu.org>
586
c2d53558 587 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 588
b23236fb
EZ
5892001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
590
591 * frame.c (Fframe_parameter): Fix last change.
592
5d991fc4
EZ
593 * fileio.c: Revert last change (which removed old commented-out
594 version of expand-file-name). Add a comment that explains why
595 this old version should not be removed.
596
879eadc3
GM
5972001-10-25 Gerd Moellmann <gerd@gnu.org>
598
75700ff2
GM
599 * frame.c (Fframe_parameter): Fix a bug whereby some
600 ``artificial'' frame parameters, like `minibuffer' were not
601 obtained by calling Fframe_parameters.
602
dfe92a6a
GM
603 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
604 cursor differently.
605
879eadc3
GM
606 * xdisp.c (move_it_vertically_backward): Compute line height
607 differently. Add heuristic to try to be more compatible to 20.x.
608
e1010ebe
SM
6092001-10-25 Stefan Monnier <monnier@cs.yale.edu>
610
d73a471b
SM
611 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
612
d6da5a06
GM
613 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
614 boolean.
e1010ebe 615
f66bd220
MB
6162001-10-25 Miles Bader <miles@gnu.org>
617
618 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
619 BG is a pointer to a structure, not a structure.
620 (gif_format, png_format): Add missing commas.
621
d436d538
RS
6222001-10-24 Richard M. Stallman <rms@gnu.org>
623
624 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 625 (syms_of_xfaces): Defsubr it.
d436d538 626
075c507b
PJ
6272001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
628
629 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
630 variable `area'.
631
d492b584
PJ
6322001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
633
c2d53558 634 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 635
e2a57b34
MB
6362001-10-25 Miles Bader <miles@gnu.org>
637
638 * dispextern.h (struct image): Add `background',
639 `background_valid', and `background_transparent' fields.
640 (image_background, image_background_transparent): New declarations.
641 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
642 * xfns.c (image_background, image_background_transparent)
643 (four_corners_best): New functions.
c2d53558 644 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
645 (gs_format): Add `:background' entry.
646 (lookup_image): Set IMG's background color if specified.
647 (pbm_load, xbm_load_image, png_load): Set IMG's background field
648 when appropriate.
649 (x_clear_image_1): Reset `background_valid' and
650 `background_transparent_valid' fields.
651 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
652 calculating it here. Set IMG's background_transparent field.
653 (enum xpm_keyword_index): Add XPM_BACKGROUND.
654 (enum png_keyword_index): Add PNG_BACKGROUND.
655 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
656 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
657 (enum gif_keyword_index): Add GIF_BACKGROUND.
658 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 659 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
660 Pre-calculate image background color where necessary.
661 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
662 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
663 color to use for image glyph reliefs.
664
b547b6e8
GM
6652001-10-24 Gerd Moellmann <gerd@gnu.org>
666
d9e3b8c6
GM
667 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
668 in full-width rows.
c2d53558 669
b547b6e8
GM
670 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
671 Fix clearing of area not covered by scroll bar.
672
2beb36f9
PJ
6732001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
674
675 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
676 and `real_start'.
c2d53558 677 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
678 (glyph_rect): Remove unused variable `area'.
679
76cb5e06
GM
6802001-10-24 Gerd Moellmann <gerd@gnu.org>
681
bdbdebff 682 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
683
684 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
685 (row_containing_pos): Take additional argument DY.
686 Treat rows ending in middle of char differently.
62e33982
GM
687 (display_line): Handle tabs on window systems differently.
688
689 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
690 with additional argument.
691
692 * dispextern.h (row_containing_pos): Adjust prototype.
693
76cb5e06
GM
694 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
695 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
696 (try_window_id, try_window_reusing_current_matrix)
697 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
698 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
699
996fee11
PJ
7002001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
701
c9e60620
PJ
702 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
703 gnuemacs).
704 (HAVE_BOXES): Fix typo in comment.
705 (push_menu_pane): Fix typo in comment.
706
3b552d56
PJ
707 * xdisp.c: (display_prop_string_p): Remove unused local declaration
708 of `Qwhen'.
709 (single_display_prop_string_p): Remove unused local declarations
710 of `Qwhen' and `Qmargin'.
711 (string_buffer_position): Remove unused variable `around'.
712 (store_frame_title): Remove unused variable `width'.
713
15c565ac
PJ
714 * window.c: Don't define max.
715 (coordinates_in_window): Remove unused variable `uy'.
716
a8818eb9
PJ
717 * widget.c: Don't define max.
718
996fee11
PJ
719 * process.c: Don't define max.
720 (create_process): Remove unused variable `buffer'.
721
496e1a5b
GM
7222001-10-23 Gerd Moellmann <gerd@gnu.org>
723
c2d53558 724 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 725
5905ae8b
EZ
7262001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
727
728 * xfaces.c (Finternal_set_lisp_face_attribute)
729 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
730 frame is on a windowed display.
731
24db49fb
GM
7322001-10-23 Gerd Moellmann <gerd@gnu.org>
733
c2d53558
SM
734 * dispnew.c (sync_window_with_frame_matrix_rows):
735 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
736 of marginal areas.
737
c2d53558 738 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 739
f0487f05
EZ
7402001-10-23 Andreas Schwab <schwab@suse.de>
741
742 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
743 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
744
f0a48a01
GM
7452001-10-23 Gerd Moellmann <gerd@gnu.org>
746
c2d53558 747 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
748 REAL_END. Notice if cursor gets overwritten.
749 (notice_overwritten_cursor): Take X positions as parameters.
750 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
751 around call to x_draw_glyphs.
752
a50a10a0
PJ
7532001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
754
fc11dff0
PJ
755 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
756 instead of C) and usage.
a50a10a0 757
fc11dff0
PJ
758 * editfns.c (char-to-string): Fix argument names (use CHAR instead
759 of C) and usage.
a50a10a0
PJ
760
761 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
762 `left', `max_width' and `max_height'.
763
8738febd
GM
7642001-10-23 Gerd Moellmann <gerd@gnu.org>
765
766 * xdisp.c (display_line): For a tab continued to the next line,
767 set row's ends_in_middle_of_char_p.
768
653c329b
GM
7692001-10-22 Gerd Moellmann <gerd@gnu.org>
770
771 * xdisp.c (display_line): Fix computation of continuation lines
772 width for TABs.
773
f958c5ac
PJ
7742001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
775
7ba51063
PJ
776 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
777 `Qlaplace'.
778
f958c5ac
PJ
779 * fileio.c: Remove unused code.
780
eb360291
MB
7812001-10-22 Miles Bader <miles@gnu.org>
782
783 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
784 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
785 Remove `DOC_STRINGS_IN_COMMENTS' cases.
786
98515cf0
JR
7872001-10-21 Jason Rumney <jasonr@gnu.org>
788
789 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
790
93026d88
EZ
7912001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
792
793 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
794 (Finsert_string): Avoid the multi-line string literals warning.
795
c9a95b79
MB
7962001-10-22 Miles Bader <miles@gnu.org>
797
798 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
799 (Fdocumentation): Don't use it.
800 (syms_of_doc): Don't initialize it.
801
802 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
803 * print.c (Fwith_output_to_temp_buffer): Likewise.
804 * window.c (Fsave_window_excursion): Likewise.
c2d53558 805 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 806 (Fsave_restriction): Likewise.
c2d53558
SM
807 * eval.c (Frun_hooks, Frun_hook_with_args)
808 (Frun_hook_with_args_until_failure)
809 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
810 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
811 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
812 (Funwind_protect, Fcondition_case): Likewise.
813 * coding.c (Ffind_operation_coding_system): Likewise.
814 * keyboard.c (Ftrack_mouse): Likewise.
815
a3b10252
MB
8162001-10-21 Miles Bader <miles@gnu.org>
817
c2d53558 818 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
819 (Fmake_hash_table): Add usage: string to doc string.
820 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 821 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
822 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
823 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
824 (Fml_prefix_argument_loop): Likewise.
825
c6f73eec
PJ
8262001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
827
c2d53558 828 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 829
c6f73eec
PJ
830 * sysdep.c (init_sys_modes): Change doc-string comments to `new
831 style' [w/`doc:' keyword].
832
833 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
834 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
835 comments to `new style' [w/`doc:' keyword].
836
3cf3436e
JR
8372001-10-21 Jason Rumney <jasonr@gnu.org>
838
839 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
840
c169b8f1
JR
841 * w32term.c (remember_mouse_glyph): New function.
842 (w32_mouse_position): Use it.
843 (note_mouse_movement): If the mouse moved off the glyph, remember
844 its new position.
c2d53558 845
4fdd691b
JR
846 * w32term.h (struct w32_output): Correct spelling of x_compatible.
847 (w32_display_info): Add mouse_face_overlay.
848
c169b8f1
JR
849 * w32term.c (notice_overwritten_cursor): Renamed from
850 note_overwritten_text_cursor. Rewritten to take glyph widths into
851 account.
852 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
853 (fast_find_string_pos): New function.
854 (fast_find_position): Return the correct vpos. Add parameter
855 STOP. In the final row, stop before glyphs having STOP as object.
856 Don't consider glyphs that are not from a buffer.
857 (fast_find_position) [0]: Add a presumably more correct version
858 for after 21.1.
859 (expose_window_tree, expose_frame): Don't compute intersections here.
860 (expose_window): Do it here instead.
861 (expose_window_tree, expose_window, expose_line): Return 1 when
862 overwriting mouse-face.
863 (expose_window): If W is the window currently being updated, mark
864 the frame garbaged.
865 (expose_frame): If mouse-face was overwritten, redo it.
866 (x_use_underline_position_properties): New variable.
867 (syms_of_xterm): DEFVAR_BOOL it.
868 (x_draw_glyph_string): Add comment to use it in future.
869 (x_draw_glyph_string): Restore clipping after drawing box.
870 Fix a computation of the underline position.
871 (w32_get_glyph_string_clip_rect): Minor cleanup.
872 (x_fill_stretch_glyph_string): Remove an assertion.
873 (x_produce_glyphs): Don't convert multibyte characters
874 to unibyte characters in unibyte buffers.
875 (cursor_in_mouse_face_p): New function.
876 (x_draw_stretch_glyph_string): Use it to choose a different GC
877 when drawing a cursor within highlighted text. Don't draw
878 background again if it has already been drawn.
879 (x_draw_glyph_string_box): Don't draw a full-width
880 box just because the glyph row's full_width_p flag is set.
881 (x_draw_glyphs): Fix computation of rightmost x for
882 full-width rows.
883 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
884 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
885 change bottom shadow accordingly. Some cleanup.
886 (x_update_window_end): Handle overwritten mouse face
887 also for tool bar windows.
888 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
889 DRAW is DRAW_IMAGE_RAISED.
890 (clear_mouse_face): Return 1 if text with mouse face was
891 actually redrawn. Make the function static. Reset
892 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
893 optimize away highlighting if we pass over that same overlay again.
894 (note_mouse_highlight): Call mouse_face_overlay_overlaps
895 to detect a case where we have to highlight a different region
896 despite not having left the currently highlighted region.
897 Set mouse_face_overlay in the x_display_info. Avoid changing the
898 mouse pointer shape when show_mouse_face has already done it, or
899 there is no need. Handle mouse-face and help-echo in strings.
900 (glyph_rect): New function.
901 (w32_mouse_position): Use it to raise the threshold for mouse
902 movement event generation.
903 (w32_initialize_display_info): Initialize the x_display_info's
904 mouse_face_overlay.
905 (w32_set_vertical_scroll_bar): Don't clear a zero height
906 or width area.
907 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
908 a widget to zero height.
909
3cf3436e 910 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 911 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
912 equivalents in menu_items.
913 (w32_menu_show): Don't overwrite an item's name with its key
914 description in case the description is a multibyte string.
915 (single_submenu): Some cleanup.
916
917 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
918 (postprocess_image): New function.
919 (lookup_image): Call it for all image types except PostScript.
920 (x_kill_gs_process): Call postprocess_image.
921 (tiff_error_handler, tiff_warning_handler): New functions.
922 (tiff_load): Install them as handlers.
923 (x_kill_gs_process): Recognize if someone has cleared the image
924 cache under us.
925 (valid_image_p): Protect better against invalid image
926 specifications. Previous code could signal an error.
927 (Fx_hide_tip, Fshow_tip): Doc fix.
928 (Fv_max_tooltip_size): New variable.
929 (syns_of_xfns): DEFVAR_LISP it.
930 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
931 window buffer to *tip* right after creating the frame. Set frame's
932 window_width. Use a maximum tooltip size specified by
933 Vx_max_tooltip_size, if that has valid contents.
934 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
935 Make sure the tooltip is completely visible.
936 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
937 (Fx_create_frame): Adjust the frame's height for presence
938 of the tool bar before calling x_figure_window_size.
939 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
940 when the window gets smaller.
941 (x_set_foreground_color): Set frame's cursor_pixel.
942 (x_set_foreground_color, x_set_background_color): Cleaned up.
943 (x_set_font): Handle case of x_new_fontset returning the same name
944 as before, although there was a change in fontsets.
945
386ca361
MB
9462001-10-21 Miles Bader <miles@gnu.org>
947
c2d53558 948 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
949 (Flogxor): Add usage: string to doc string.
950 * charset.c (Fstring): Likewise.
951 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
952 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
953
14ff1ee0
PJ
9542001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
955
03be2694
PJ
956 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
957
958 * alloc.c: Reindent DEFUNs with doc: keywords.
959
960 * abbrev.c (Finsert_abbrev_table_description): Reindent.
961
14ff1ee0
PJ
962 * frame.c: Change doc-string comments to `new style' [w/`doc:'
963 keyword].
964
71431a0e
GM
9652001-10-20 Gerd Moellmann <gerd@gnu.org>
966
6aa97356 967 * (Version 21.1 released.)
71431a0e 968
39f624fa
PJ
9692001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
970
c2d53558 971 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
972
973 * xdisp.c (invisible_text_between_p): Put prototype inside #if
974 0 because unused.
975
976 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
977 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
978 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 979
abcce93a
MB
9802001-10-20 Miles Bader <miles@gnu.org>
981
982 The following changes remove the glyph_row `inverse_p' field,
983 which is never set anymore, due to other changes:
984
985 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
986 (reassert_line_highlight, change_line_highlight): Declarations removed.
987 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
988 (line_hash_code, row_equal_p, fake_current_matrices)
989 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
990 (update_frame_line, update_frame_line, update_frame_line):
991 Don't use `inverse_p' field.
992 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
993 change_line_highlight_hook.
994 (XTreassert_line_highlight, x_change_line_highlight):
995 Functions removed.
c2d53558 996 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
997 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
998 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
999 `inverse_p' field.
c2d53558 1000 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1001 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1002 (w32_reassert_line_highlight, x_change_line_highlight):
1003 Functions removed.
1004 * w32console.c (reassert_line_highlight, change_line_highlight):
1005 Functions removed.
1006 (initialize_w32_display): Don't set reassert_line_highlight_hook
1007 or change_line_highlight_hook.
1008 (hl_mode): Function removed.
c2d53558
SM
1009 (reset_terminal_modes, set_terminal_modes, update_begin)
1010 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1011 (clear_frame, ins_del_lines): Don't call it.
1012 * termhooks.h (reassert_line_highlight_hook)
1013 (change_line_highlight_hook): Declarations removed.
1014 * term.c (reassert_line_highlight_hook)
1015 (change_line_highlight_hook): Variables removed.
1016 (reassert_line_highlight, change_line_highlight): Functions removed.
1017 * msdos.c (IT_reassert_line_highlight)
1018 (IT_change_line_highlight): Functions removed.
1019 (internal_terminal_init): Don't set reassert_line_highlight_hook
1020 or change_line_highlight_hook.
1021 (highlight): Variable removed.
c2d53558 1022 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1023 (IT_set_terminal_modes): Don't set or use it.
1024
1025 The following changes remove inverse-video support for terminals
1026 that use a `magic cookie' standout mode. Due to changes in the
1027 way mode-lines are displayed, such support no longer works
1028 anyway, and it's probable that almost no one uses such terminals
1029 anymore:
1030
1031 * term.c (standout_requested): Variable removed.
1032 (update_end, highlight_if_desired): Don't use it.
1033 (chars_wasted, copybuf): Variables removed.
1034 (write_standout_marker): Function removed.
c2d53558 1035 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1036 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1037 Don't use `chars_wasted' or `copybuf'.
1038 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1039 Set `costs_set' to true.
1040 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1041 `chars_wasted'.
1042 (clear_end_of_line): Function removed.
1043 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1044 (clear_to_end): Call `clear_end_of_line' instead of
1045 `clear_end_of_line_raw'.
54800acb
MB
1046 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1047 (term_init): Don't set them.
1048 Turn off any standout/underline modes that require magic cookies.
c2d53558 1049 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1050 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1051 Remove special processing for magic-cookie standout modes.
1052 (turn_off_face, turn_on_face): Remove special processing for
1053 underline magic-cookie glitch.
abcce93a 1054
0b5f679f
RS
10552001-10-19 Richard M. Stallman <rms@gnu.org>
1056
1057 * eval.c (syms_of_eval): Doc fixes.
1058
5a4a5bd4
GM
10592001-10-19 Gerd Moellmann <gerd@gnu.org>
1060
1061 * xdisp.c (redisplay_internal): Don't clear echo area if the
1062 mini-window is selected.
1063
79f1f96c
MB
10642001-10-19 Miles Bader <miles@gnu.org>
1065
b57c2708
MB
1066 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1067 doesn't take precedence if the affected property's value is nil.
1068
1069 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1070
79f1f96c
MB
1071 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1072 with fields and suggest using `forward-line' to avoid them.
1073 * editfns.c (Fline_beginning_position, Fline_end_position):
1074 Clarify documentation.
1075
ef879104
SM
10762001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1077
1078 * keymap.c (current_minor_maps): `override' only shadows its
1079 correspondent in minor-mode-map-alist, not the whole tail.
1080
97f4db8c
AI
10812001-10-18 Andrew Innes <andrewi@gnu.org>
1082
1083 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1084 optimization. The fontp->encoding array was not being initialized
1085 correctly when compiled with optimizations by MSVC.
1086
e6b70fd8
GM
10872001-10-18 Gerd Moellmann <gerd@gnu.org>
1088
30903479 1089 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1090
0e804d38
AI
10912001-10-17 Andrew Innes <andrewi@gnu.org>
1092
1093 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1094
1095 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1096 font_info.charset field.
1097
1098 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1099 rather than working it out by calling w32_codepage_for_font for
1100 every glyph.
1101
66e5868a
AI
11022001-10-17 Andrew Innes <andrewi@gnu.org>
1103
1104 * w32term.c (w32_read_socket): Determine clipping rectangle for
1105 the entire frame, including areas covered by scrollbars and the
1106 menubar. This avoids internal arguments about whether a frame is
1107 fully obscured or not.
1108
15b00083
GM
11092001-10-17 Gerd Moellmann <gerd@gnu.org>
1110
23e8bd86
GM
1111 * xdisp.c (try_window_id): Undo last change. Give up if
1112 window ends in strings.
30903479 1113
9c6ba6d1 1114 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1115 end if the rest of the window after the window end was already blank.
23e8bd86 1116
30903479 1117 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1118 for the release of 21.1.
1119
30903479 1120 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1121
945220bd
MB
11222001-10-17 Miles Bader <miles@gnu.org>
1123
1124 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1125 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1126 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1127 Change doc-string comments to `new style' [w/`doc:' keyword].
1128 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1129 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1130 out make-docfile.
1131
14242528
MB
11322001-10-16 Miles Bader <miles@gnu.org>
1133
1134 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1135
3ddf952f
GM
11362001-10-16 Gerd Moellmann <gerd@gnu.org>
1137
1138 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1139 *scratch*.
1140
f3fbd155
KR
11412001-10-16 Ken Raeburn <raeburn@gnu.org>
1142
1143 Avoid the assumption that car and cdr slots of cons cells are
1144 addressable lvalues; this allows for easier experimentation with
1145 other lisp implementations that may not permit such accesses for
1146 various reasons. Not quite complete -- buffer.c still needs some
1147 work, and w32/mac files need rechecking -- so compile-time
1148 enforcement is left disabled for now.
1149
1150 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1151 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1152 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1153 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1154 (XSETCAR, XSETCDR): New macros.
1155 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1156 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1157 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1158 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1159 XSETCDR.
1160 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1161 * buffer.c (record_buffer, Fbury_buffer)
1162 (swap_out_buffer_local_variables, recenter_overlay_lists)
1163 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1164 fields of a cons cell respectively.
1165 * callint.c (quotify_args, Fcall_interactively): Likewise.
1166 * ccl.c (Fregister_code_conversion_map): Likewise.
1167 * coding.c (detect_coding_system): Likewise.
1168 * composite.c (get_composition_id, make_composition_value_copy):
1169 Likewise.
30903479
SM
1170 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1171 (swap_in_symval_forwarding, set_internal, Fset_default)
1172 (Fmake_variable_buffer_local, Fmake_local_variable)
1173 (Fmake_variable_frame_local): Likewise.
f3fbd155 1174 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1175 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1176 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1177 * minibuf.c (get_minibuffer): Likewise.
1178 * search.c (Fmatch_data): Likewise.
1179 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1180 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1181 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1182 Likewise.
1183 * w32term.c (x_delete_display): Likewise.
1184 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1185 Likewise.
c2d53558 1186 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1187 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1188 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1189 (Fread_file_name): Use XSETCAR.
1190 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1191 CHECK_NUMBER_CDR.
1192 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1193 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1194 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1195 CHECK_NUMBER_CDR.
1196 * keyboard.c (read_char): Alter list traversal to avoid taking the
1197 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1198 (parse_menu_item): Use XSETCAR and XSETCDR.
1199 (reach_char_x_menu_prompt): Use XSETCAR.
1200 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1201 (Fcommand_execute): Use XSETCDR.
1202 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1203 (openp): Change list traversal to avoid using XCAR as lvalue.
1204 (read_list): Use XSETCDR.
1205 * process.c (wait_reading_process_input): Change wait_for_cell
1206 handling to avoid taking addresses of cons cell slots.
30903479
SM
1207 * xselect.c (x_own_selection, x_handle_selection_clear)
1208 (x_clear_frame_selections): Use XSETCDR.
1209 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1210 (x_handle_property_notify, x_get_foreign_selection)
1211 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1212
502150e5
PJ
12132001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1214
018ba359
PJ
1215 * buffer.c: Put doc strings in comments.
1216
30903479 1217 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1218
b56ba8de
SS
12192001-10-15 Sam Steingold <sds@gnu.org>
1220
1221 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1222
6a0b793a
PJ
12232001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1224
30903479
SM
1225 * process.c (process-inherit-coding-system-flag)
1226 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1227 in comment.
1228
a1f17501 1229 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1230 arguments. Put doc strings in comments.
a65da641
PJ
1231
1232 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1233
aa601ad0
GM
12342001-10-15 Gerd Moellmann <gerd@gnu.org>
1235
30903479 1236 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1237
aa601ad0
GM
1238 * window.c (select_window_1): Unfreeze window start. Remove a
1239 doubled test for WINDOW being live.
1240
288148a1
PJ
12412001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1242
dd8d1e71
PJ
1243 * fns.c (Fmapconcat): Fix typo in a doc string.
1244
288148a1
PJ
1245 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1246
9f5eb4a3
GM
12472001-10-15 Gerd Moellmann <gerd@gnu.org>
1248
1249 * xterm.c (x_draw_glyph_string): Restore clipping after
1250 drawing box.
1251
dbae44c8
PJ
12522001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1253
30903479 1254 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1255
0c88c937
SM
12562001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1257
56378db4
GM
1258 * indent.c (skip_invisible): Use new retval of
1259 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1260
845e4cf4
SM
1261 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1262 If a parent is reached and noinherit is set, exit immediately.
1263 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1264
0c88c937
SM
1265 * s/ms-w32.h (EXEC_SUFFIXES):
1266 * s/msdos.h (EXEC_SUFFIXES):
1267 * process.h (EXEC_SUFFIXES): Remove.
1268
1269 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1270 (decode_suffixes): Remove.
1271
1272 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1273 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1274 (invisible_ellipsis_p): Remove.
0c88c937
SM
1275
1276 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1277 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1278 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1279 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1280 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1281
d19be8a9
PJ
12822001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1283
04d7d066
PJ
1284 * lisp.h (Ftop_level): Add prototype.
1285
d624284c
PJ
1286 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1287 (XTread_socket): Improve style of comments to follow other
1288 comments.
1289
a87414f9
PJ
1290 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1291 is already prototyped in included lisp.h).
1292
d19be8a9
PJ
1293 * frame.c (Fset_mouse_position): Improve style of comment to
1294 follow other comments.
1295 (Fset_mouse_pixel_position): Improve style of comment to follow
1296 other comments.
1297 (Fmake_frame_visible): Doc fix and typo in comment.
1298 (Fmake_frame_invisible): Doc fix and typo in comment.
1299 (Ficonify_frame): Fix typo in comment.
1300
c061c855
GM
13012001-10-14 Gerd Moellmann <gerd@gnu.org>
1302
37f6b5b6 1303 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1304 * term.c, alloc.c: Put doc strings in comments.
c061c855 1305
e641b454
GM
13062001-10-13 Gerd Moellmann <gerd@gnu.org>
1307
1308 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1309 Provide definitions for doc strings in comments.
1310
1311 * fns.c: Put doc strings in comments.
1312
51724e26
EZ
13132001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1314
1315 * dired.c (file_name_completion): Ignore a candidate directory if
1316 it matches an element in completion-ignored-extensions that ends
1317 in a slash.
1318 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1319 feature in the doc string.
1320 (Ffile_name_completion): Ditto.
1321
be5fc59b
SM
13222001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1323
5a1373f3
SM
1324 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1325
1326 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1327
1328 * lisp.h (Fprovide): Update prototype.
1329 (Ffeaturep, invisible_p): Remove.
1330
bbc4a3d3 1331 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1332 (DOLIST, LOOP_PROPVAL): New macros.
1333 (invisible_p, invisible_ellipsis_p): Use them.
1334 (invisible_noellipsis_p): New function.
1335 (syms_of_xdisp): Use empty_string.
1336
1337 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1338
1339 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1340 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1341
1342 * print.c (Fwith_output_to_temp_buffer): Align with
1343 internal_with_output_to_temp_buffer.
1344 (print_preprocess): Use traverse_intervals_noorder.
1345 (print_object): Update call to traverse_intervals.
1346
1347 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1348 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1349
1350 * intervals.c (traverse_intervals_noorder): New function.
1351 (search_for_interval, count_intervals): Use it.
1352 (traverse_intervals): Use less stack space and drop `depth' arg.
1353
1354 * fns.c (Ffeaturep): Add new `subfeature' arg.
1355 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1356 (Qsubfeatures): New var.
1357 (syms_of_fns): Initialize it.
1358
026f408d
SM
1359 * keymap.c (Fkey_description): Use empty_string.
1360 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1361 (syms_of_keymap): Setup inheritance between maps.
1362 Don't export Sdescribe_bindings_internal any more.
1363
be5fc59b
SM
1364 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1365
3365175e
GM
13662001-10-12 Gerd Moellmann <gerd@gnu.org>
1367
1368 * xterm.c (notice_overwritten_cursor): Renamed from
1369 note_overwritten_text_cursor. Rewritten to take glyph widths into
1370 account.
1371
2ab7765c
EZ
13722001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1373
1374 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1375 multi-line strings without a trailing "\n\".
1376
311346bb
PJ
13772001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1378
1379 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1380 defined.
1381
2168e04d
SM
13822001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1383
026f408d
SM
1384 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1385
c0ec53ad
SM
1386 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1387 * w32proc.c (sys_spawnve):
1388 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1389 * w32.c (check_windows_init_file):
1390 * sound.c (Fplay_sound):
026f408d 1391 * emacs.c (init_cmdargs):
c0ec53ad
SM
1392 * process.c (Fstart_process): Update calls to openp.
1393
1394 * callproc.c (Vexec_suffixes): New var.
1395 (Fcall_process): Update call to openp.
1396 (decode_suffixes): New function.
1397 (syms_of_callproc): Init exec-suffixes.
1398
1399 * lread.c (Vload_suffixes, default_suffixes): New vars.
1400 (openp): Take a lisp list of suffixes.
1401 Check for file-name-handlers even if the file was absolute already.
1402 (syms_of_lread): Declare load-suffixes.
1403 (Fload): Fix up call to openp.
1404 Don't bother checking for file-name-handler at the very beginning.
1405
f6333468
SM
1406 * keymap.h (Fcopy_keymap): Don't export.
1407
1408 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1409 (Vload_suffixes, Vexec_suffixes): Declare.
1410 (openp): Update prototype.
f6333468
SM
1411
1412 * emacs.c (empty_string): New var.
1413 (syms_of_emacs): Initialize it.
1414
1415 * search.c (wordify): Use it.
1416
1417 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1418 selected window if it's not displayed there. Handle the case
1419 when the window is dedicated.
1420 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1421
1422 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1423
2168e04d
SM
1424 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1425 Remove left_ok and right_ok.
1426 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1427 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1428 new meaning of b_property.
1429
1430 * syntax.c (update_syntax_table): Simplify.
1431 (Fforward_comment): Don't skip quoted chars when going backward.
1432
13d95cc0
GM
14332001-10-11 Gerd Moellmann <gerd@gnu.org>
1434
beb0990f
GM
1435 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1436 in case I is of some unsigned type, in which case
1437 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1438 comparison becomes bogus.
1439
cb938d46
GM
1440 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1441 (Fuser_full_name): Fix bug treating a float as a fixnum.
1442
1443 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1444
1445 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1446
13d95cc0
GM
1447 * lisp.h (circular_list_error): Add prototype.
1448
1449 * data.c (Qcircular_list): New variable.
1450 (circular_list_error): New function.
1451 (syms_of_data): Initialize it Qcircular_list.
1452
e35f6ff7
SM
14532001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1454
1455 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1456 casefiddle.c, buffer.c: Include keymap.h.
1457
619632ac
GM
14582001-10-10 Gerd Moellmann <gerd@gnu.org>
1459
1460 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1461 options. From Dave Love <d.love@dl.ac.uk>.
1462
5e5388f6
GM
14632001-10-09 Gerd Moellmann <gerd@gnu.org>
1464
1465 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1466 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1467
14a3dff7
GM
1468 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1469 unsigned char.
1470 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1471
76ba8daf
AI
14722001-10-08 Andrew Innes <andrewi@gnu.org>
1473
1474 * lisp.h [max]: Undef min and max before redefining them.
1475
1476 * w32gui.h: Do not undef min and max.
1477
1478 * w32heap.h: Do not undef min and max.
1479
1480 * s/ms-w32.h: Do not undef min and max.
1481
166253cb
SM
14822001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1483
1484 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1485
0c4d9527
SS
14862001-10-08 Sam Steingold <sds@gnu.org>
1487
1488 * keymap.c (current-active-maps): Quote newlines (compilation error).
1489
14bfa771
EZ
14902001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1491
1492 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1493 bindings.elc, since otherwise doc strings in bindings.el get wrong
1494 offsets in etc/DOC.
1495
bdb7aa47
SM
14962001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1497
9985827f
SM
1498 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1499
1500 * keyboard.h (map_prompt): Remove.
1501
1502 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1503 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1504
bdb7aa47
SM
1505 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1506
1507 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1508
1509 * keyboard.c (map_prompt): Remove.
1510 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1511 Use Fkeymap_prompt.
1512
1513 * keymap.h: New file. Extracted from lisp.h.
1514
9985827f
SM
1515 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1516 (accessible_keymaps_1): New function.
1517 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1518 (Fwhere_is_internal): Use Fcurrent_active_maps.
1519 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1520 Insert in current buffer rather than standard-output.
1521 Don't call `help-mode'. Export to elisp.
1522 (describe_buffer_bindings): New wrapper.
1523 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1524 and Sdescribe_buffer_bindings.
1525
402c9a51
GM
15262001-10-08 Gerd Moellmann <gerd@gnu.org>
1527
9985827f 1528 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1529 Remove code setting signal handler.
1530
9985827f 1531 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1532 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1533
3fe81fdf
PJ
15342001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1535
1536 * keyboard.c: Don't define min/max.
1537
55fa7820
GM
15382001-10-08 Gerd Moellmann <gerd@gnu.org>
1539
9985827f 1540 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1541 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1542 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1543 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1544 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1545 Don't define min/max.
1546
1547 * lisp.h (min, max): New macros.
1548
55fa7820
GM
1549 * puresize.h (BASE_PURESIZE): Increase to 725000.
1550
1aad31e4
PJ
15512001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1552
9180dc8c
PJ
1553 * xfaces.c (free_frame_menubar): Add prototype.
1554
01f67d2c
PJ
1555 * lisp.h (init_window): Add prototype.
1556
1557 * editfns.c: Include ctype.h.
1558
1559 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1560 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1561 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1562 variable `sb'.
1563
5f351ff1
PJ
1564 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1565 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1566 `popup_activated_flag' and `title'.
1567
479dfe87
PJ
1568 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1569
dff49fc8
PJ
1570 * emacs.c (main): Remove extra `;'.
1571
248ac615
PJ
1572 * atimer.h (struct atimer): Fix typos in a comment.
1573
1574 * atimer.c: Fix typo.
1575
af232c7d
PJ
1576 * Makefile.in: Fix typo.
1577
1578 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1579
d876f455
MB
15802001-10-07 Miles Bader <miles@gnu.org>
1581
1582 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1583
0037e2f2
KR
15842001-10-07 Ken Raeburn <raeburn@gnu.org>
1585
b056f36d
KR
1586 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1587 Lisp_Object.
1588
0037e2f2
KR
1589 * lisp.h (Ffield_end): Declare.
1590
1a4372ef
GM
15912001-10-07 Gerd Moellmann <gerd@gnu.org>
1592
a4a74e8c
GM
1593 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1594
1595 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1596
1597 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1598
1599 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1600
1a4372ef
GM
1601 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1602 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1603
1604 * alloc.c (inhibit_garbage_collection): Simplify.
1605 (Fmemory_use_counts): Ditto.
1606
9985827f 1607 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1608 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1609 most-negative-fixnum.
1610
9985827f 1611 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1612 (FIXNUM_OVERFLOW_P): New macros.
1613
4650e362
MB
16142001-10-06 Miles Bader <miles@gnu.org>
1615
1616 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1617 scroll_bar_bottom_shadow_pixel fields.
1618 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1619 for the shadows, and tell the toolkit about them if we succeed.
1620 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1621 Free scroll-bar shadow colors.
1622 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1623 Free scroll-bar shadow colors when the background color changes.
1624 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1625 Initialize scroll-bar shadow-color fields.
1626
ace64e0a
GM
16272001-10-05 Gerd Moellmann <gerd@gnu.org>
1628
1629 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1630
ec66bdc7
MB
16312001-10-05 Miles Bader <miles@gnu.org>
1632
9985827f
SM
1633 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1634 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1635 New functions (were in simple.el).
9985827f 1636 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1637 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1638 (syms_of_minibuf): Initialize them.
1639
a0fb4492
GM
16402001-10-05 Gerd Moellmann <gerd@gnu.org>
1641
1642 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1643 (tiff_load): Install them as error and warning handler.
1644
0bcf87c1
AI
16452001-10-04 Andrew Innes <andrewi@gnu.org>
1646
1647 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1648 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1649 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1650 (x_to_w32_charset): Handle private format for unknown charsets.
1651 Handle wildcards in charset spec, by ignoring them.
1652 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1653 "*-" prefix from charset.
1654 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1655 handle the truncated font spec form constructed by font_list_1, so
1656 that we correctly identify the charset fields. Don't remove "*-"
1657 prefix from charset.
1658 (w32_list_synthesized_fonts): Fix argument to alloca.
1659
c89e4bc5
GM
16602001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1661
1662 * window.h (MINI_WINDOW_P): Use NILP.
1663
1664 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1665
1666 * termhooks.h (struct input_event): Use proper type for `kind'.
1667
16682001-10-04 Gerd Moellmann <gerd@gnu.org>
1669
1670 This handles unknown keysyms better than before. For example,
1671 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1672 Emacs formerly completely ignored F5. With the change, it derives
1673 a key symbol from the name of the X keysym, `ccaron' in this case.
1674 Reported by Martin Buchholz.
1675
1676 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1677 unknown keysyms.
1678
1679 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1680 that EVENT->code isn't a function key, use the keysym's name.
1681
16822001-10-04 Gerd Moellmann <gerd@gnu.org>
1683
1684 FOREACH is a macro that should make it easier to loop over Lisp
1685 lists with checks for cycles and proper lists.
1686
1687 * lisp.h (LIST_END_P, FOREACH): New macros.
1688
16892001-10-04 Gerd Moellmann <gerd@gnu.org>
1690
1691 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1692 called for a lost connection. Prevent dumping core in this case.
1693 Instead print the X error, and exit. On user request.
1694
1695 * xterm.c (error_msg): New variable.
1696 (x_fatal_error_signal): New function.
1697 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1698 as fatal_error_signal_hook around the call to XtCloseDisplay.
1699
1700 * emacs.c (fatal_error_signal_hook): New variable.
1701 (fatal_error_signal): Call that function.
1702
17032001-10-04 Gerd Moellmann <gerd@gnu.org>
1704
1705 With this, Emacs prints how much pure storage it will
1706 approximately need in case pure storage overflows while dumping.
1707
1708 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1709 New variables.
1710 (init_alloc_once): Initialize new variables.
1711 (PURE_POINTER_P): Use new variables.
1712 (pure_alloc): If pure storage overflows, allocate from the heap.
1713 (check_pure_size): New function.
1714 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1715
1716 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1717 (check_pure_size): Add prototype.
1718
1719 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1720
17212001-10-04 Gerd Moellmann <gerd@gnu.org>
1722
1723 This adds a post-gc-hook that's run with GC inhibited.
1724 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1725
1726 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1727 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1728 (Fgarbage_collect): Run post-gc-hook.
1729
17302001-10-04 Gerd Moellmann <gerd@gnu.org>
1731
1732 This adds `defvaralias' and `indirect-variable'. Changes not
1733 directly related to this feature are there to gain the same
1734 performance again as before variable aliases.
1735
1736 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1737 code to get and set symbol values, to take defvaralias into account.
1738
1739 (Note: the new `constant' bit-flag in symbols would make it
1740 possible to define arbitrary read-only variables, e.g. with
1741 `defconst'.)
1742
1743 Documentation is in lispref/variables.texi. Added to NEWS.
1744
1745 * lisp.h (enum symbol_interned): New enumeration.
1746 (struct Lisp_Symbol): Remove member `obarray', add
1747 `indirect_variable', `constant', and `interned'.
1748 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1749 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1750 (indirect_variable): Add prototype.
1751
1752 * print.c (print_preprocess, print_object): Test internedness of
1753 symbols differently.
1754
1755 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1756 bit-fields.
1757 (init_obarray): Likewise for t and nil.
1758
1759 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1760 (Fdefvaralias): New function.
1761 (specbind): Simplify the test if symbol is a constant.
1762 (syms_of_eval): Defsubr Fdefvaralias.
1763
1764 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1765 (Qcyclic_variable_indirection): New variable.
1766 (Fkeywordp): Check for internedness differently.
1767 (Fmakunbound): Simplify the test if symbol is a constant.
1768 (indirect_variable, Findirect_variable): New functions.
1769 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1770 aliased symbol.
1771 (let_shadows_buffer_binding_p): Check for variable aliases.
1772 (set_internal): Simplify the test if SYMBOL is a constant.
1773 If SYMBOL has a buffer-local value and is an alias, use the aliased
1774 symbol instead.
1775 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1776 Sindirect_variable.
1777
1778 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1779 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1780 set directly.
1781
1782 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1783
1784 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1785 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1786 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1787
ab952a4f
GM
17882001-10-04 Gerd Moellmann <gerd@gnu.org>
1789
1790 * Branch for 21.1.
b56ba8de 1791
ba88ff28
MB
17922001-10-03 Miles Bader <miles@gnu.org>
1793
1794 * callproc.c (syms_of_callproc): Explicitly state in the
1795 documentation for `process-environment' that earlier entries take
1796 precedence over later ones.
1797
ae1a9581
MB
17982001-10-02 Miles Bader <miles@gnu.org>
1799
1800 * textprop.c (Fnext_char_property_change)
1801 (Fprevious_char_property_change): Remove reference to non-existant
1802 argument OBJECT from doc-string.
1803
257e3f57
GM
18042001-10-01 Gerd Moellmann <gerd@gnu.org>
1805
1806 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1807 (try_window_id): Skip back over lines ending in a newline from a
1808 string.
1809
1810 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1811 New bit flag
1812
c1f29759
RS
18132001-10-01 Richard M. Stallman <rms@gnu.org>
1814
1815 * search.c (Freplace_match): Doc fix.
1816
c30dce3d
AI
18172001-09-28 Andrew Innes <andrewi@gnu.org>
1818
1819 * w32menu.c (set_frame_menubar): Take into account that
1820 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1821 <raeburn@gnu.org>.
1822
03be5931
EZ
18232001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1824
1825 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1826
75bec752
PJ
18272001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1828
1829 * s/gnu-linux.h: Fix a typo in comment.
1830
83100e0a
AS
18312001-09-28 Andreas Schwab <schwab@suse.de>
1832
1833 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1834 nocombreloc, in case -z combreloc is the default.
1835
a74b48cf
GM
18362001-09-28 Gerd Moellmann <gerd@gnu.org>
1837
1838 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1839 really going on here.
1840
09c4719e
SM
18412001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1842
1843 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1844
f7d5d963
EZ
18452001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1846
1847 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1848 utf-8, menu-bar, and latin-N.
1849 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1850 unconditionally now.
1851 (lisp): Add latin-N, since they are preloaded.
1852
9240e746
GM
18532001-09-27 Gerd Moellmann <gerd@gnu.org>
1854
14531065
GM
1855 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1856 to the left. Some cleanup.
1857
9240e746
GM
1858 * xdisp.c (display_mode_element): One more case where a string's
1859 multibyteness should be used for display.
1860
edd1e654
GM
18612001-09-26 Gerd Moellmann <gerd@gnu.org>
1862
b02439c8
GM
1863 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1864 reading at EOF.
1865
032906b1 1866 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1867 of the only temporarily set echoing flag for deciding when
032906b1
GM
1868 the cancel echoing.
1869
1870 * keyboard.c (echo_kboard): Make externally visible.
1871
1872 * lisp.h (echo_kboard): Declare extern.
1873
cb617e7c 1874 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1875 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1876 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1877 this round of redisplay if make_cursor_line_fully_visible fails.
1878 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1879 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1880
1881 * dispextern.h (required_matrix_width, required_matrix_height):
1882 Add prototypes.
1883
09c4719e
SM
1884 * dispnew.c (required_matrix_width, required_matrix_height):
1885 New functions.
cb617e7c 1886 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1887 (allocate_matrices_for_frame_redisplay: Use them.
1888 Remove parameters CH_DIM.
cb617e7c 1889
edd1e654
GM
1890 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1891 and selected_window to the frame of the window whose mode-lines
1892 are displayed, and to the window itself.
1893 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1894 here.
edd1e654 1895
924b604c
GM
18962001-09-25 Gerd Moellmann <gerd@gnu.org>
1897
daba7643
GM
1898 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1899 the image cache under us.
1900
b7a22712 1901 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1902 with a string value, use that string's multibyteness for displaying.
b7a22712 1903
ad648212
GM
1904 * keyboard.c (read_char): Don't clear a message for a switch-frame
1905 event. From Stefan Monnier <monnier@cs.yale.edu>.
1906
9f8531e5
GM
1907 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1908 version for after 21.1.
1909
1910 * xdisp.c (row_containing_pos): Make externally visible.
1911
1912 * dispextern.h (row_containing_pos): Add prototype.
1913
924b604c
GM
1914 * process.c (send_process): Disable composition if from_byte < 0.
1915 From Kenichi Handa <handa@etl.go.jp>.
1916
6f3f0db4
GM
19172001-09-24 Gerd Moellmann <gerd@gnu.org>
1918
c69c0ebc
GM
1919 * xterm.c (refreshicon): Function removed.
1920
d1182bc4
GM
1921 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1922
1923 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1924
1925 * xterm.c (toplevel): Remove includes in #if 0.
1926
6f3f0db4
GM
1927 * process.c (sigchld_handler) [LINUX]: Don't return from
1928 the signal handler at the end of the loop.
1929
59957f85
GM
19302001-09-21 Gerd Moellmann <gerd@gnu.org>
1931
09c4719e
SM
1932 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1933 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1934
a0528984
EZ
19352001-09-21 Markus Rost <rost@math.ohio-state.edu>
1936
1937 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1938
db92b288
GM
19392001-09-20 Gerd Moellmann <gerd@gnu.org>
1940
3fed8ad5
GM
1941 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1942 since this function can be called during GC.
1943
db92b288
GM
1944 * callproc.c (Fcall_process): Handle errors from pipe(2).
1945 (child_setup): Delete code in #ifdef vipc.
1946
7121b85a
GM
19472001-09-19 Gerd Moellmann <gerd@gnu.org>
1948
72f62cb5
GM
1949 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1950 (display_mode_element): Display the string from decode_mode_spec
1951 depending on its multibyteness.
1952
a2697022
GM
1953 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1954
7121b85a
GM
1955 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1956
bfc97351
GM
19572001-09-18 Gerd Moellmann <gerd@gnu.org>
1958
c9063433
GM
1959 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1960 recursive_edit_unwind.
1961 (recursive_edit_unwind): Set kboard state according to
1962 SINGLE-KBOARD.
1963
3fbdba3e
GM
1964 * buffer.c (modify_overlay): Don't do nothing if START == END;
1965 This can still be a modification, for example when an overlay has
1966 a before-string or after-string.
1967 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1968 an overlay with before-string or after-string.
1969
1270031d
GM
1970 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1971 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1972
bfc97351
GM
1973 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1974 first_unchanged_at_end_row is in front of
1975 last_unchanged_at_beg_row. This code should be removed after the
1976 release of 21.1.
1977
d8a973aa
GM
19782001-09-17 Gerd Moellmann <gerd@gnu.org>
1979
e18c8b8d
GM
1980 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1981 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1982
d8a973aa
GM
1983 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1984 versions >= 2.95.
1985
ed7d6ba4
EZ
19862001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1987
1988 * dired.c (Ffile_attributes): Doc fix.
1989
551629f9
GM
19902001-09-14 Gerd Moellmann <gerd@gnu.org>
1991
1992 * fileio.c (Ffile_symlink_p): Fix last change.
1993
1994 * filelock.c (current_lock_owner): Fix last change.
1995
4c8c7926
GM
19962001-09-13 Gerd Moellmann <gerd@gnu.org>
1997
620c4704
GM
1998 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1999 take that to mean that the buffer is too small.
2000
81c3310d
GM
2001 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2002 that to mean that the buffer is too small.
2003
06fd3792
GM
2004 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2005 current buffer's multibyteness when discarding the iterator's
2006 stack.
2007
4c8c7926
GM
2008 * xfns.c (Fx_window_property): Handle case that property gets
2009 deleted between the two calls to XGetWindowProperty.
2010
9a72e4c1
GM
20112001-09-11 Gerd Moellmann <gerd@gnu.org>
2012
bd819d14 2013 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2014
a41edd99
GM
2015 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2016 in addition to read-only.
2017
2018 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2019 to t in addition to read-only.
2020
2021 * lisp.h (Qinhibit_modification_hooks): Declare.
2022
2023 * insdel.c (Qinhibit_modification_hooks): New variable.
2024 (syms_of_insdel): Initialize and staticpro it.
2025
d4881c6a
GM
2026 * textprop.c (verify_interval_modification): Don't run
2027 modification-hooks if inhibit_modification_hooks.
2028
2029 * dispnew.c (set_window_cursor_after_update): Fix code
2030 finding glyph row containing cursor when cursor_in_echo_area
2031 is >= 0.
2032
9a72e4c1
GM
2033 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2034 (add_to_log): Use bcopy instead of strcpy.
2035 (init_from_display_pos): Use an explicit loop over bytes in
2036 overlay strings instead of calling index.
2037
f4a374a1
GM
20382001-09-10 Gerd Moellmann <gerd@gnu.org>
2039
300e57bd
GM
2040 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2041
2042 * dispnew.c (direct_output_for_insert): Don't change IT's
2043 stop_charpos to something in front of its current position.
2044
f4a374a1
GM
2045 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2046 `format'.
2047
7e4cbc91
RS
20482001-09-10 Richard M. Stallman <rms@gnu.org>
2049
2050 * frame.c (Fmouse_position): Doc fix.
2051
6afad91e
GM
20522001-09-07 Gerd Moellmann <gerd@gnu.org>
2053
2054 * xdisp.c (init_from_display_pos): Don't compare the result
2055 of calling index with NULL.
2056
f76e0368
GM
20572001-09-06 Gerd Moellmann <gerd@gnu.org>
2058
2059 * xfns.c (x_set_background_color): Don't change the colors
2060 of the X window of scroll bar widgets.
2061
9ead1b60
AI
20622001-09-05 Andrew Innes <andrewi@gnu.org>
2063
2064 * w32fns.c (w32_createwindow): Undo last change.
2065
c3b497b3
GM
20662001-09-05 Gerd Moellmann <gerd@gnu.org>
2067
08e1d6df
GM
2068 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2069
c3b497b3
GM
2070 * xdisp.c (string_buffer_position): Use *single_char_property*
2071 functions instead of the *single_property* functions.
b56ba8de 2072
8f860180
AI
20732001-09-04 Andrew Innes <andrewi@gnu.org>
2074
9a72e4c1
GM
2075 * w32term.c (w32_read_socket): Add more information to debugging
2076 output.
8f860180
AI
2077
2078 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2079 from Emacs frames, so that calls to GetClipBox in w32term.c
2080 correctly report when part of a frame is visible (including
2081 scrollbars, etc). This prevents repeated redrawing of frames when
2082 only a scrollbar is visible.
2083 (w32_wnd_proc): Add more frame information to debugging output.
2084
2ee1aa00
SM
20852001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2086
2087 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2088
e3b22517
GM
20892001-09-03 Gerd Moellmann <gerd@gnu.org>
2090
7e376260
GM
2091 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2092 help-echo for a string which doesn't have help-echo itself, use
2093 get-char-property to obtain the help-echo from the string's buffer
2094 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2095 have mouse-face, look ``under'' the string for mouse-face from an
2096 overlay.
2097 (fast_find_position): Add parameter STOP. In the final row, stop
2098 before glyphs having STOP as object. Don't consider glyphs that
2099 are not from a buffer.
2100
e3b22517
GM
2101 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2102
9a249bba
EZ
21032001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2104
2105 * fns.c (Fmd5): Doc fix.
2106
c9979669
GM
21072001-08-31 Gerd Moellmann <gerd@gnu.org>
2108
2109 * composite.c (update_compositions): Do nothing if
2110 inhibit-modification-hooks is set.
2111
9584e63a
GM
21122001-08-30 Gerd Moellmann <gerd@gnu.org>
2113
986ec8f2 2114 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2115 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2116 glyph matrices etc. in a core dump.
2117
92a25631
GM
2118 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2119 (syms_of_xdisp): Initialize them.
2120 (handle_single_display_prop): Don't change point, bind `object',
2121 `position', and `buffer-position' instead to the object having the
2ee1aa00 2122 `display' property, position in the object and position in the buffer.
92a25631 2123
9584e63a
GM
2124 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2125 of the buffer if REPLACE is non-nil.
2126
d38633a3
GM
21272001-08-29 Gerd Moellmann <gerd@gnu.org>
2128
2129 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2130
f4fccc1e
EZ
21312001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2132
2133 * w32term.c (x_set_glyph_string_background_width)
2134 (show_mouse_face): Track the last changes in xterm.c.
2135
eaaa65b0
GM
21362001-08-28 Gerd Moellmann <gerd@gnu.org>
2137
7b0870b2
GM
2138 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2139 string's background width so that multi-line mouse-face is drawn
2140 to the right edge of the window.
2141 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2142 glyphs.
2143
6b6e2422 2144 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2145 before inserting/writing glyphs.
6b6e2422 2146
eaaa65b0
GM
2147 * xdisp.c (display_mode_element): Use string_byte_to_char to
2148 determine character positions in strings, use chars_in_text
2149 instead of strwidth.
2150 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2151 a matrix as parameter; this is easier to use from GDB.
2152
9ad62cf8
MB
21532001-08-28 Miles Bader <miles@gnu.org>
2154
2ee1aa00
SM
2155 * textprop.c (Fprevious_single_char_property_change)
2156 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2157
32171635
GM
21582001-08-27 Gerd Moellmann <gerd@gnu.org>
2159
47d57b22
GM
2160 * fileio.c (Finsert_file_contents): Allocate, restore, and
2161 free composition data in the case of REPLACE not being nil.
2162
2163 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2164 there exist overlay strings with newlines at POS.
2165 (text_outside_line_unchanged_p): Return 0 if changes start at
2166 START and overlays exist at START. Likewise for END.
2167 (try_window_id): Give up if init_to_row_end returns 0.
2168
32171635
GM
2169 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2170 unconditionally.
2171
e1249666
GM
21722001-08-24 Gerd Moellmann <gerd@gnu.org>
2173
33954c45
GM
2174 * keymap.c (access_keymap): Return the cdr of the binding of
2175 a generic character instead of its definition (KEY . BINDING).
2176
e1249666
GM
2177 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2178 to 0 also in the REPLACE case.
2179
fb4c6c96
AC
21802001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2181
2182 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2183 open to determine whether file is readable (as for DOS_NT).
2184
59ecf80b
GM
21852001-08-23 Gerd Moellmann <gerd@gnu.org>
2186
2187 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2188 coding.type is coding_type_no_conversion or coding_type_raw_text,
2189 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2190 non-nil instead of just setting enable_multibyte_characters in the
2191 buffer to nil.
2192
40e33037
GM
21932001-08-22 Gerd Moellmann <gerd@gnu.org>
2194
374388c3
GM
2195 * dispextern.h (struct face_cache): Add member
2196 menu_face_changed_p.
2197
2198 * xfaces.c (menu_face_changed_default): New variable.
2199 (menu_face_changed_count): Variable removed.
2200 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2201 the menu_face_changed_default flag, otherwise set the FRAME's
2202 menu_face_changed_p flag if the `menu' face has been changed.
2203 Prevent calling set_font_frame_param if FRAME is t.
2204 (make_face_cache): Initialize cache's menu_face_changed_p
2205 from menu_face_changed_default.
2206 (realize_basic_faces): Look into the frame's face cache to
2207 determine if the menu appearance needs updating.
2208
40e33037
GM
2209 * keymap.c (access_keymap): Fix last change to not consider
2210 IDX when it has modifiers.
2211
859ea4b8
GM
22122001-08-21 Gerd Moellmann <gerd@gnu.org>
2213
2214 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2215 . BINDING) exists, where GENERIC-CHAR is the generic character of
2216 the charset of IDX, return BINDING unless there exists a binding
2217 for IDX itself.
2218
e8660d73
GM
22192001-08-16 Gerd Moellmann <gerd@gnu.org>
2220
cca1b1d7
GM
2221 * xrdb.c (SYSV): Don't define on Solaris 2.
2222 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2223
e8660d73 2224 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2225 of the screen line, not text line, containing IT's current position.
e8660d73 2226
93aba6fc
GM
22272001-08-15 Gerd Moellmann <gerd@gnu.org>
2228
288d4e06
GM
2229 * window.c (window_scroll_pixel_based): Don't recenter if
2230 PT is partially visible in the window.
2231
3452efc2
SM
2232 * xterm.c (expose_window_tree, expose_window, expose_line):
2233 Return 1 when overwriting mouse-face.
82f053ab
GM
2234 (expose_frame): If mouse-face was overwritten, redo it.
2235
93aba6fc
GM
2236 * xfaces.c (x_update_menu_appearance): Don't call
2237 set_frame_menubar, let the next redisplay do it.
2238
858a55c1
AI
22392001-08-14 Andrew Innes <andrewi@gnu.org>
2240
2241 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2242 drawing glyph string.
2243
3a990b67
EZ
22442001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2245
2246 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2247 running HI-UX/MPP.
2248
04386463
GM
22492001-08-14 Gerd Moellmann <gerd@gnu.org>
2250
2251 * xfaces.c (x_update_menu_appearance): Save and restore value of
2252 interrupt_input_blocked.
2253
3e6385a4
GM
22542001-08-13 Gerd Moellmann <gerd@gnu.org>
2255
b0e619b4
GM
2256 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2257 a line start, move back to the line start.
3452efc2 2258
0de73d5a
GM
2259 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2260 exactly when a mini-buffer is active.
2261
3e6385a4
GM
2262 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2263 in units of 1/8 character on non window-system frames.
2264 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2265
d1b5f629
EZ
22662001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2267
2268 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2269 a doc string.
2270
eaa2319f
GM
22712001-08-09 Gerd Moellmann <gerd@gnu.org>
2272
8e3189f0
GM
2273 * keyboard.c (Vpre_help_message): New variable.
2274 (syms_of_keyboard): Initialize and staticpro it.
2275 (show_help_echo): Record current message before displaying a
2276 help-echo, and restore that message when clearing the help.
2277
eaa2319f
GM
2278 * xfns.c (x_create_im): Remove prototype.
2279
2280 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2281
2282 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2283
eaa2319f
GM
22842001-08-08 Gerd Moellmann <gerd@gnu.org>
2285
2286 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2287 windows whose height has changed, disable partially visible lines.
eaa2319f 2288
17fdcfc8
GM
22892001-08-07 Gerd Moellmann <gerd@gnu.org>
2290
22d01aed 2291 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2292 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2293
17fdcfc8
GM
2294 * xdisp.c (start_display): Don't try to determine the continuation
2295 lines width if lines are truncated. It's superfluous and leads to
2296 incorrect results if POS is not visible in the window after
2297 reseating the iterator at the previous line start.
2298
8e3fe78e
GM
22992001-08-06 Gerd Moellmann <gerd@gnu.org>
2300
2301 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2302
98a8938c
GM
23032001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2304
2305 * alloc.c (init_stack): Remove declaration.
2306
18f9986a
GM
23072001-08-03 Gerd Moellmann <gerd@gnu.org>
2308
5e1f85e0
GM
2309 * keyboard.c (read_key_sequence): Check that key is an integer
2310 before comparing it with quit_char.
2311 (add_command_key): Use larger_vector.
2312 (read_char_x_menu_prompt): Instead of converting symbol and
2313 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2314 which cannot be confused with valid events.
5e1f85e0
GM
2315 (read_char): When reading from Vunread_command_events, check for
2316 events of the form (EVENT . disabled) instead of
2317 (EVENT . nil).
2318
18f9986a
GM
2319 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2320 a float, determine the max height from the frame's height.
2321
fbc7f2a6
GM
23222001-08-02 Gerd Moellmann <gerd@gnu.org>
2323
2324 * xdisp.c (redisplay_internal): Take message_cleared_p into
2325 account only if minibuf_level == 0.
2326
81b1a79d
GM
23272001-08-01 Gerd Moellmann <gerd@gnu.org>
2328
e5c60873
GM
2329 * xdisp.c (redisplay_internal): Add a check for the last
2330 displayed message.
3452efc2 2331
6e019995
GM
2332 * xdisp.c (message_cleared_p): New variable.
2333 (clear_message): Set message_cleared_p when clearing the current
2334 message.
2335 (redisplay_internal): Look at message_cleared_p to capture
2336 the case that the echo area should be cleared.
2337
308a74d8
GM
2338 * keyboard.c (command_loop_1): Fix spelling of
2339 resize_echo_area_exactly.
2340
3452efc2 2341 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2342
2343 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2344
81b1a79d
GM
2345 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2346 current matrix when the window gets smaller.
2347
ada329e6
EZ
23482001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2349
2350 * print.c (strout): Cast the character passed to insert_char to
2351 unsigned char, to avoid sign extension when it is promoted to int.
2352
ed86208c
GM
23532001-07-31 Gerd Moellmann <gerd@gnu.org>
2354
2355 * fileio.c (Finsert_file_contents): Don't treat a return value
2356 of 0 from emacs_read as an IO error.
2357
6594ac22
GM
23582001-07-30 Gerd Moellmann <gerd@gnu.org>
2359
cef68af5
GM
2360 * keyboard.c (abs): New macro.
2361 (double_click_fuzz): New variable.
2362 (make_lispy_event): Use it to determine what makes a double-click.
2363 (syms_of_keyboard): DEFVAR_INT it.
2364
6594ac22
GM
2365 * xmenu.c (set_frame_menubar): Take into account that
2366 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2367 <raeburn@gnu.org>.
2368
75c5350a
GM
23692001-07-27 Gerd Moellmann <gerd@gnu.org>
2370
2371 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2372
2373 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2374 of row's visible height.
2375
2376 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2377 deal with the first overlay string having an image `display' property.
2378 (try_window_reusing_current_matrix, compute_line_metrics):
2379 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2380 row is invisible above and part of the row is at the same time
2381 invisible below the window.
2382
ac49effe
GM
23832001-07-26 Gerd Moellmann <gerd@gnu.org>
2384
2385 * xfns.c (x-show-tip): Doc fix.
3452efc2 2386
ac49effe
GM
2387 * xfns.c (Vx_max_tooltip_size): New variable.
2388 (syms_of_xfns): DEFVAR_LISP it.
2389 (Fx_show_tip): Set frame's window_width to the width of the
2390 window. Use a maximum tooltip size specified by
2391 Vx_max_tooltip_size, if that has valid contents.
2392 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2393
8c3b00cb
AI
23942001-07-26 Andrew Innes <andrewi@gnu.org>
2395
2396 * w32term.c (x_display_list): New variable.
2397 (w32_term_init): Set it.
2398
2399 * w32term.h (x_display_list): New extern.
2400
16098288
GM
24012001-07-26 Gerd Moellmann <gerd@gnu.org>
2402
2403 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2404 is non-nil, instead of when redisplaying_p is non-zero.
2405 See comment there.
16098288
GM
2406 (mark_window_display_accurate_1): Add an assertion.
2407
64c5be50
GM
24082001-07-25 Gerd Moellmann <gerd@gnu.org>
2409
e743f599
GM
2410 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2411
563b384d
GM
2412 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2413 events so that we get a chance of processing expose events.
2414
64c5be50
GM
2415 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2416
296808a5
GM
24172001-07-24 Gerd Moellmann <gerd@gnu.org>
2418
2419 * xfns.c (valid_image_p): Protect better against invalid image
2420 specifications. Previous code could signal an error.
2421
5247262a
GM
24222001-07-23 Gerd Moellmann <gerd@gnu.org>
2423
3452efc2 2424 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2425 presence of display table entries.
2426 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2427
dd42b31a
GM
2428 * dispnew.c (adjust_glyph_matrix): In the optimization for
2429 windows whose height has changed, use the new window height
2430 to compute which rows to invalidate.
2431
9e5a7f2a
GM
2432 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2433 (MAX_10_EXP): New macro.
2434 (Fformat): Use it.
2435
5247262a
GM
2436 * coding.c (code_convert_region): Handle the multibyte case if
2437 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2438
177ab8ce
GM
24392001-07-20 Gerd Moellmann <gerd@gnu.org>
2440
6e07c0a5
GM
2441 * dispextern.h (struct face): Change type of `stipple' to
2442 int; it's an ID.
2443
177ab8ce
GM
2444 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2445
b5b80599
GM
24462001-07-19 Gerd Moellmann <gerd@gnu.org>
2447
4e2a256b
GM
2448 * dispnew.c (update_window): Don't set the cursor at the end
2449 of the update if display update has been paused.
2450
3452efc2 2451 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2452
c1fd9232
KR
24532001-07-18 Ken Raeburn <raeburn@gnu.org>
2454
2455 * fns.c (Fset_char_table_default): Check that a charset is defined
2456 before checking its dimension.
2457
928a85c1
KR
24582001-07-17 Ken Raeburn <raeburn@gnu.org>
2459
2460 * coding.c (setup_coding_system): Don't do any designation based
2461 on reg_bits if charset is not yet defined.
2462
fb4c6c96 2463 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2464 pointer, using eassert.
2465
de11c1ea
GM
24662001-07-17 Gerd Moellmann <gerd@gnu.org>
2467
3452efc2
SM
2468 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2469 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2470
467f1209
GM
24712001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2472
2473 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2474
c3d6be34
GM
24752001-07-16 Gerd Moellmann <gerd@gnu.org>
2476
c1d61a7d
GM
2477 * fileio.c (unwind_read): Function removed.
2478 (read_non_regular, read_non_regular_quit): New functions.
2479 (Finsert_file_contents): When reading from non-regular files,
2480 arrange to catch a `quit' and terminate the loop. Rearrange
2481 code so that a `quit' when reading from a regular file doesn't
2482 insert text in the buffer.
2483
c3d6be34
GM
2484 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2485 Clear faces afterwards.
2486 (clear_font_table): Take a x_display_info parameter. Don't free
2487 fonts being the default font of any frame on the given display.
2488
e06aa1f9
GM
24892001-07-13 Gerd Moellmann <gerd@gnu.org>
2490
2491 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2492 instead of CHAR_STRING which can signal an error.
2493
2494 * charset.c (char_to_string_1): Extracted from char_to_string.
2495 Return -1 instead of signaling an error.
2496 (char_to_string): Use it.
2497
2498 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2499
176c92e6
SM
25002001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2501
2502 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2503 is t, don't try to append anything to it.
2504
1c56232f
EZ
25052001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2506
2507 * dired.c (file_name_completion): Pass dp->d_name to
2508 Fstring_match, not elt, which is always nil here.
2509
1d2b2268
GM
25102001-07-12 Gerd Moellmann <gerd@gnu.org>
2511
2512 * xselect.c (x_decline_selection_request): Handle errors
2513 caused by receivers that have vanished.
2514
2515 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2516 ignoring events on foreign windows in #if 0. Always dispatch
2517 the event after checking it with x_handle_property_notify.
2518
2519 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2520 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2521 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2522 (toplevel): Add prototypes for file-local functions.
2523 (x_atom_to_symbol): Remove DPYINFO parameter.
2524
fe5a0162
SM
25252001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2526
2527 * w32menu.c (menubar_selection_callback, w32_menu_show):
2528 Initialize `entry' to nil.
2529 (w32_dialog_show): Remove unused `save_wv' variable.
2530 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2531
a777242c
GM
25322001-07-11 Gerd Moellmann <gerd@gnu.org>
2533
8ee5b6a3
GM
2534 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2535
d0e2444e
GM
2536 * fileio.c (unwind_read): Print a message when discarding inserted
2537 text or switching the buffer to unibyte. Change parameter.
2538 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2539
a777242c
GM
2540 * fileio.c (unwind_read): New function.
2541 (Finsert_file_contents): Record it as unwind-function for
2542 the case that reading is interrupted by C-g.
2543
ae794295
GM
25442001-07-10 Gerd Moellmann <gerd@gnu.org>
2545
fe5a0162 2546 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2547 update when scrolling_window returns 0.
2548
6b05fae3
GM
2549 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2550
2551 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2552 for the case that x_decode_color signals an error.
6b05fae3 2553
ae794295
GM
2554 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2555
bb6e8cee
GM
25562001-07-09 Gerd Moellmann <gerd@gnu.org>
2557
2558 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2559 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2560 around ioctls.
2561
36b40a8a
EZ
25622001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2563
24b97d4b
EZ
2564 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2565 doc string line for dos-timezone-offset.
2566
36b40a8a
EZ
2567 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2568 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2569 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2570 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2571
2572 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2573
0967b4b0
GM
25742001-07-05 Gerd Moellmann <gerd@gnu.org>
2575
f25cfe53
GM
2576 * sound.c: Include Emacs' header files with #include "...".
2577
0967b4b0
GM
2578 * eval.c (specbind): Additionally record the buffer that was
2579 current when a buffer-local or frame-local variable was bound.
2580
c347a1c3
GM
25812001-07-04 Gerd Moellmann <gerd@gnu.org>
2582
2583 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2584 to unibyte characters in unibyte buffers.
2585
6332ca8a
GM
25862001-07-03 Gerd Moellmann <gerd@gnu.org>
2587
38472d44
GM
2588 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2589 the frame on the binding stack. Change format of entries for
2590 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2591 (unbind_to): Handle unbinding a frame-local variable.
2592
6332ca8a 2593 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2594 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2595 (dump_glyph_row): Print row's continuation_lines_width.
2596 (try_window_id): Take the shortcut if ZV is visible in the
2597 window, but there are actually no changes at ZV.
2598
63d1b174
GM
25992001-07-02 Gerd Moellmann <gerd@gnu.org>
2600
4c175203
GM
2601 * xterm.h (x_free_dpy_colors): Add prototype.
2602
2603 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2604 right number of arguments.
2605
0b54ce28
GM
2606 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2607 ($(lwlibdir)TAGS): New target.
4c175203 2608 (TAGS): Fix dependency list.
0b54ce28 2609
63d1b174
GM
2610 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2611 with input blocked.
2612
d827466c
GM
26132001-06-30 Gerd Moellmann <gerd@gnu.org>
2614
2615 * emacs.c (main): Remove extern declaration for sys_nerr, which
2616 isn't used and causes a compilation error with GCC 3.0 on
2617 FreeBSD 4.3.
2618
b5cb1ada
GM
26192001-06-27 Gerd Moellmann <gerd@gnu.org>
2620
a5d3ec3f 2621 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2622 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2623 (toplevel): Include <signal.h> and syssignal.h.
2624
b5cb1ada
GM
2625 * sound.c (vox_configure, vox_close): Turn off atimers
2626 around ioctls.
2627
d9bad487
GM
26282001-06-26 Gerd Moellmann <gerd@gnu.org>
2629
fdbb67fe
GM
2630 * keyboard.c (read_char) <non_reread>: Record the previous idle
2631 start time before calling timer_stop_idle.
2632 (read_char) <reread_first>: After processing a help-echo event,
2633 restore the previous idle start time.
2634
d9bad487
GM
2635 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2636 the start of invisible text.
2637 (setup_for_ellipsis): New function.
2638 (next_overlay_string): After all overlay strings have been
2639 processed, display an ellipsis if necessary.
2640 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2641 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2642
2643 * dispextern.h (struct iterator_stack_entry): Add member
2644 display_ellipsis_p.
2645
2b9c25e0
GM
26462001-06-25 Gerd Moellmann <gerd@gnu.org>
2647
80de57df
GM
2648 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2649 on the value of the wait-for-wm frame parameter.
2650
2651 * xterm.h (struct x_output): Add member wait_for_wm.
2652
2653 * xfns.c (Qwait_for_wm): New variable.
2654 (x_frame_parms): Add entry for `wait-for-wm".
2655 (x_set_wait_for_wm): New function.
2656 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2657 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2658
2b9c25e0
GM
2659 * xdisp.c (try_window_id) <all changes below window end>: Don't
2660 take this shortcut if ZV is visible in the window.
2661 (try_window_id): When checking for window start being in changed
2662 text, don't check that the buffer's size has changed.
2663
f772775c
RS
26642001-06-23 Richard M. Stallman <rms@gnu.org>
2665
2666 * minibuf.c (Fcompleting_read): Doc fix.
2667
fa9090b8
GM
26682001-06-19 Gerd Moellmann <gerd@gnu.org>
2669
2670 * composite.c (Ffind_composition_internal): Accept ZV
2671 and a string's end position as POS.
2672
f6f1beba
GM
26732001-06-18 Gerd Moellmann <gerd@gnu.org>
2674
2675 * composite.c (Ffind_composition_internal): Check POS
2676 for validity.
2677
0ae83348
EZ
26782001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2679
2680 * editfns.c (Fmessage_box): If the frame is not under a window
2681 system, output the message in the echo area.
2682
e4cdc335
RS
26832001-06-14 Richard M. Stallman <rms@gnu.org>
2684
2685 * xdisp.c (try_window_id): When EOB is visible, don't treat
2686 insertion at EOB as if it were "off the bottom of the screen."
2687
a55a5f3c
AI
26882001-06-11 Andrew Innes <andrewi@gnu.org>
2689
2690 * w32proc.c (create_child): Add new parameter is_gui_app.
2691 (w32_executable_type): Add new parameter is_gui_app.
2692 (sys_spawnve): Use it.
2693 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2694 SIGQUIT. This matches better how the signals are interpreted by
2695 MSVC compiled programs.
2696 (syms_of_ntproc): Update docstring.
2697
1b85dc1c
SM
26982001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2699
2700 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2701 well otherwise note_mouse_highlight might optimize away highlighting
2702 if we pass over that same overlay again.
2703
b75f8eab
EZ
27042001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2705
2706 * lread.c (Fload): Document that the argument is run via
2707 substitute-in-file-name.
2708
94843cc1
GM
27092001-05-31 Gerd Moellmann <gerd@gnu.org>
2710
b14659e6
GM
2711 * Makefile.in (bootstrap-doc): New target.
2712 (bootstrap-emacs): Depend on it.
2713
0894672f
GM
2714 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2715 auto-save-list-file-name when shutting down Emacs, because
2716 creating the directory might signal an error, and leaves
2717 Emacs in a strange state.
2718
94843cc1
GM
2719 * term.c: (tty_cursor_hidden): New variable.
2720 (update_begin): Don't call tty_hide_cursor. Clean up.
2721 (update_end, set_terminal_window, set_scroll_region): Clean up.
2722 (ring_bell, reset_terminal_modes): Clean up.
2723 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2724 on tty_cursor_hidden.
2725 (write_glyphs): Call tty_hide_cursor.
2726
db3a49a6
SM
27272001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2728
2729 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2730
8bd189fb
GM
27312001-05-30 Gerd Moellmann <gerd@gnu.org>
2732
6f1be3b9
GM
2733 * xfns.c (enum image_value_type): New enumerator
2734 IMAGE_STRING_OR_NIL_VALUE.
2735 (parse_image_spec): Handle it.
2736 (xbm_format, pbm_format): Use it for :foreground and :background.
2737 (xbm_load, pbm_load): Check for nil color names.
2738
8bd189fb
GM
2739 * xterm.c (note_mouse_highlight): If an overlapping overlay
2740 exists, but we find that we highlight the same overlay as before,
2741 don't do the highlighting again.
2742
7bdba03c
GM
27432001-05-29 Gerd Moellmann <gerd@gnu.org>
2744
4c329aa8
GM
2745 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2746 Protect unibyte strings created by replacing their multibyte
2747 equivalents in menu_items.
2748
e15e2828
GM
2749 * keymap.c (Fsingle_key_description): NUL-terminate the string
2750 buffer before calling build_string.
2751
7bdba03c
GM
2752 * callproc.c (Fcall_process): Deal with decode_coding returning
2753 CODING_FINISH_INCONSISTENT_EOL.
2754
89c8dc6c
GM
27552001-05-28 Gerd Moellmann <gerd@gnu.org>
2756
db3a49a6 2757 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2758 an item's name with its key description in case the description
2759 is a multibyte string.
2760
2761 * keymap.c (Fsingle_key_description): Create a multibyte string
2762 only if necessary.
2763
eb04d6cd
GM
2764 * macros.c (Fstart_kbd_macro): Doc fix.
2765
8bd6307f
GM
2766 * xterm.c (cursor_in_mouse_face_p): New function.
2767 (x_draw_stretch_glyph_string): Use it to choose a different GC
2768 when drawing a cursor within highlighted text.
2769
e26c4089
GM
2770 * editfns.c (char_property_eq): Put in #if 0.
2771
2772 * indent.c (string_display_width): Put in #if 0.
2773
2774 * lread.c (Fload): Remove unused label.
2775
89c8dc6c
GM
2776 * termcap.c (speeds): Put in #if 0.
2777
9a1211f2
GM
27782001-05-18 Gerd Moellmann <gerd@gnu.org>
2779
29148a3f
GM
2780 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2781
9a1211f2
GM
2782 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2783 transformation matrix by 10.
2784
09393d07
GM
27852001-05-16 Gerd Moellmann <gerd@gnu.org>
2786
2787 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2788 only if it's equal to the former foreground pixel color.
db3a49a6 2789 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2790 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2791
460e6bae
GM
27922001-05-16 Dave Love <fx@gnu.org>
2793
2794 * insdel.c (signal_before_change, signal_after_change): Consider a
2795 local change hook which changes the buffer.
99c78ce8
GM
2796
2797 * process.c (read_process_output): Don't call signal_after_change
2798 and update_compositions after insert_from_string_before_markers.
2799
dbcf3c03
GM
28002001-05-16 Gerd Moellmann <gerd@gnu.org>
2801
a90b3d3c
GM
2802 * xfaces.c (split_font_name): Use the right field when
2803 checking for `[...]' syntax.
2804
1b7818b4
GM
2805 * buffer.c (copy_overlays): New function.
2806 (clone_per_buffer_values): Use it.
2807
2808 * buffer.h (OVERLAY_PLIST): New macro.
2809
9bae8781
GM
2810 * keymap.c (Fsingle_key_description): Replace a build_string with
2811 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2812
dbcf3c03
GM
2813 * fontset.c (Ffontset_info): Check that face is non-null
2814 before accessing its fields.
2815
8a1ae4dd
GM
28162001-05-15 Gerd Moellmann <gerd@gnu.org>
2817
18a0a39e
GM
2818 * keyboard.c (read_key_sequence): Prevent generating a fake
2819 prefix key twice.
2820
e335b66a
GM
2821 * xfaces.c (split_font_name): Handle `[...]' for the right
2822 font name fields.
2823
8a1ae4dd
GM
2824 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2825 of CCL_STAT_INVALID_CMD.
2826
3cf80731
SM
28272001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2828
33568849
SM
2829 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2830 in <var> has no default value yet.
2831
3cf80731
SM
2832 * xfaces.c (try_alternative_families): First try the FAMILY.
2833 And if nothing is found in the end, try again with scalable fonts.
2834 (try_font_list): Let try_alternative_families do a bit more of
2835 the work. Only use FAMILY if it is not nil.
2836 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2837
933b0249
GM
28382001-05-14 Gerd Moellmann <gerd@gnu.org>
2839
58e5af83
GM
2840 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2841 pointer shape when show_mouse_face has already done it.
33568849 2842
58e5af83 2843 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2844 full-width rows.
2845
7b16a6bf
GM
2846 * xfaces.c (split_font_name): Make sure to leave the loop
2847 with the right value of `i'.
3cf80731 2848
933b0249
GM
2849 * xfaces.c (split_font_name): Handle matrix transformations
2850 in the pixel and point size fields of XLFD font names.
2851 (xlfd_point_size): Likewise.
2852
dddcbf00
EZ
28532001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2854
3cf80731 2855 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2856 (x_to_w32_font): Add prototype.
2857
7689ef0b
EZ
2858 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2859 redefining, to avoid compiler warnings.
2860
e7c15bba
EZ
2861 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2862
dddcbf00
EZ
2863 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2864 (w32_get_bdf_glyph): Cast between unsigned char and char when
2865 passing arguments to subroutines, to shut up compiler warnings.
2866 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2867 GET_HEX_VAL.
2868
2869 * xfaces.c: Include keyboard.h before frame.h, not after it.
2870
2871 * widget.c: Include keyboard.h before frame.h.
2872
2873 * w32term.h (struct image, struct face): Forward declaration, to
2874 avoid compiler warnings.
2875
7bd2d083
GM
28762001-05-11 Gerd Moellmann <gerd@gnu.org>
2877
47e72862
GM
2878 * keyboard.c (read_key_sequence): Don't modify events when
2879 generating fake prefix keys (mode-line, scroll-bar, ...) since
2880 this prevents proper processing of such events when pushed back
2881 into unread-command-events.
2882
dd5f324b
GM
2883 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2884 actually redrawn. Make the function static.
2885 (note_mouse_highlight): Fix a case where the mouse cursor
2886 was changed back to the text cursor.
2887
2888 * xterm.h (clear_mouse_face): Remove prototype.
2889
d88a79d4
GM
2890 * xdisp.c (try_window_id): Fix the fix and set the right
2891 window_end_vpos.
2892
2893 * xdisp.c (try_window_id): Fix computation of window end in the
2894 case that lines were deleted at the end of the window. Add some
2895 more debug_method_adds.
0416532f 2896
7bd2d083
GM
2897 * xfaces.c (try_alternative_families): New function.
2898 (try_font_list): Use it. If ATTRS specifies a family, check
2899 fonts from that family first.
2900 (choose_face_font): Remove code setting the family part of
2901 the pattern to nil.
2902
23fca891
GM
29032001-05-10 Gerd Moellmann <gerd@gnu.org>
2904
ff9aa2ca
GM
2905 * xdisp.c (try_window_id): Fix case of all changes before
2906 the window start.
7b2654b5 2907
23fca891
GM
2908 * xdisp.c (try_window_id): Add some xasserts.
2909
e9726794
GM
29102001-05-09 Gerd Moellmann <gerd@gnu.org>
2911
2912 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2913
9e53a675
GM
29142001-05-09 Dave Love <fx@gnu.org>
2915
2916 * xdisp.c (GIVE_UP): Fix for K&R C.
2917
0d487c52
GM
29182001-05-09 Gerd Moellmann <gerd@gnu.org>
2919
fe88d421
GM
2920 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2921
0d487c52
GM
2922 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2923 back to the text cursor shape without need.
2924
1e9fc92e
GM
29252001-05-07 Gerd Moellmann <gerd@gnu.org>
2926
a2a6232e
GM
2927 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2928
2929 * dispextern.h (inverse_video): Declare extern.
2930
1e9fc92e
GM
2931 * keyboard.c (delete_kboard): Handle the case that selected_frame
2932 has been deleted in the course of x_connection_closed.
2933
12949a7f
EZ
29342001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2935
7b2654b5
SM
2936 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2937 Fix the change from 2001-04-30.
12949a7f 2938
2fa2f461
GM
29392001-05-03 Gerd Moellmann <gerd@gnu.org>
2940
a779d213
GM
2941 * xfns.c (file_dialog_unmap_cb): New function.
2942 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2943 where a dialog is closed via the window manager.
2944
7b2654b5 2945 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2946 the window start or all below the window end mostly rewritten.
2947 (redisplay_window): Move the tests if try_window_id is
2948 applicable to try_window_id.
2949 (GIVE_UP): New macro.
2950
3356df63
GM
29512001-05-02 Gerd Moellmann <gerd@gnu.org>
2952
a39202f6 2953 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2954 currently being updated, mark the frame garbaged.
2955 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2956 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2957
3356df63
GM
2958 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2959 again if it has already been drawn.
2960
a9d2fd1d
SM
29612001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2962
2963 * syntax.c (update_syntax_table): Check that oldi has the same
2964 properties as old_prop before deciding not to invalidate.
2965
c95fc5f1
GM
29662001-04-30 Gerd Moellmann <gerd@gnu.org>
2967
a9793e45
GM
2968 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2969 read-only text that is so because of text properties.
2970
c95fc5f1 2971 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2972 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2973 windows that are components of a Lucid menu bar.
2974
5a5d9185
GM
29752001-04-27 Gerd Moellmann <gerd@gnu.org>
2976
2977 * term.c (turn_on_face): Fix reverse video handling on terminals
2978 that don't support colors.
2979
ba973f7a
GM
29802001-04-26 Gerd Moellmann <gerd@gnu.org>
2981
2982 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2983 a non-buffer.
2984
8c56a983
GM
29852001-04-25 Gerd Moellmann <gerd@gnu.org>
2986
a728644c
GM
2987 * term.c (toggle_highlight): New function.
2988 (turn_on_face): Change handling of reverse video.
2989
7b2654b5
SM
2990 * process.c (wait_reading_process_input):
2991 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2992
bfd8410f
GM
2993 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2994 of the number of overlays to check.
2995
be2488ca
GM
2996 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2997
8c56a983
GM
2998 * xdisp.c (try_window_id): Fix a case where window_end_pos
2999 and window_end_bytepos were not adjusted.
3000
522d42f7
GM
30012001-04-23 Gerd Moellmann <gerd@gnu.org>
3002
3003 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3004 zero instead of -1.
3005
78c1afb6
EZ
30062001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3007
a9d2fd1d
SM
3008 * process.c (wait_reading_process_input) [!subprocesses]:
3009 Don't reference waiting_for_user_input_p, it's not defined in the
3010 branch without async subprocesses support.
78c1afb6 3011
a2fab450
GM
30122001-04-19 Gerd Moellmann <gerd@gnu.org>
3013
a122a38e
GM
3014 * keyboard.c (delete_kboard): Prevent a dangling reference
3015 from current_kboard to KB, which is freed.
3016
a9d2fd1d
SM
3017 * process.c (wait_reading_process_input):
3018 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3019 read_key_sequence aware of buffer changes from under it.
3020
0f8d6dc7
GM
30212001-04-18 Gerd Moellmann <gerd@gnu.org>
3022
eeffb293
GM
3023 * xfaces.c (Qscalable_fonts_allowed): New variable.
3024 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3025 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3026 removed.
eeffb293 3027 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3028 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3029 for scalable-fonts-allowed to t.
eeffb293 3030
0f8d6dc7
GM
3031 * fileio.c (Finsert_file_contents): If the file size returned from
3032 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3033 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3034
eec2d1de
EZ
30352001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3036
3037 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3038 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3039 (__memalign_hook): Make the two prototypes consistent.
3040
f4f480bd
GM
30412001-04-17 Gerd Moellmann <gerd@gnu.org>
3042
3043 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3044 matrix of mini-windows.
3045
52283633
SM
30462001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3047
3048 * intervals.c (find_interval): Don't rebalance during signal handling.
3049
ec2423c9
GM
30502001-04-11 Gerd Moellmann <gerd@gnu.org>
3051
30cb0001 3052 * fns.c: Include blockinput.h.
52283633 3053
ec2423c9
GM
3054 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3055
719d83ad
GM
30562001-04-10 Gerd Moellmann <gerd@gnu.org>
3057
60f8d735
GM
3058 * fns.c (Fcompare_strings): Fix return values.
3059
afffeb57
GM
3060 * window.c (window_scroll): Change the meaning of N to mean
3061 N screen-fulls or N lines.
3062 (window_scroll_pixel_based, window_scroll_line_based)
3063 (scroll_command, Fscroll_other_window): Change accordingly.
3064
52283633
SM
3065 * window.c (window_scroll_pixel_based, Frecenter):
3066 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3067 height of the window.
3068
3069 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3070 instead of using it.last_visible_y for the height of the window.
52283633 3071
719d83ad 3072 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3073 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3074
3075 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3076 able to write to hidden and system files. From Dan Holmsand
3077 <dan@eyebee.com>.
719d83ad 3078
8ddf3ee1
GM
3079 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3080 Holmsand <dan@eyebee.com>.
719d83ad 3081
522ed7fb
GM
30822001-04-09 Gerd Moellmann <gerd@gnu.org>
3083
9170e5d4
GM
3084 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3085
522ed7fb
GM
3086 * window.c (window_internal_height): Return 1 less if the
3087 window has a header line.
3088
3089 * xdisp.c (try_window_id): When scrolling on a terminal, take
3090 the change of window_internal_height into account.
3091
ceeb3d7d
EZ
30922001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3093
3094 * gmalloc.c (align): If the argument SIZE would overflow
3095 __malloc_ptrdiff_t, fail right away.
3096
63685b9d
GM
30972001-04-06 Gerd Moellmann <gerd@gnu.org>
3098
3099 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3100 Make sure the tooltip is completely visible.
3101 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3102
3103 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3104
3105 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3106
3ffb33bb
DL
31072001-04-06 Dave Love <fx@gnu.org>
3108
52283633
SM
3109 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3110 Fix test of `from'.
3ffb33bb 3111
869fb12c
GM
31122001-04-06 Gerd Moellmann <gerd@gnu.org>
3113
52283633 3114 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3115
869fb12c
GM
3116 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3117
441bf856
GM
31182001-04-05 Gerd Moellmann <gerd@gnu.org>
3119
4d664b04
GM
3120 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3121
52283633 3122 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3123
30ca89f5
GM
3124 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3125 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3126
3127 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3128 shell widget's position only if it is non-null.
3129
52283633
SM
3130 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3131 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3132
81a81c0f
GM
3133 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3134 FILENAME to bring it in synch with the documentation.
3135
441bf856
GM
3136 * xfaces.c (realizing_basic_faces_p): Renamed from
3137 realize_default_face_p.
3138 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3139 (realize_default_face): Don't set the flag.
3140
702a1e8e
GM
31412001-04-04 Gerd Moellmann <gerd@gnu.org>
3142
1013f4e3
GM
3143 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3144
52283633
SM
3145 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3146
1013f4e3
GM
3147 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3148 the buffer that was used for echoing.
3149
702a1e8e
GM
3150 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3151 (first_font_matching): Removed unused function.
3152 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3153 (may_use_scalable_font_p): Remove parameter FONT; rename
3154 parameter NAME to FONT.
3155 (x_face_list_fonts): Fix missing bounds check.
3156 (realizing_default_face_p): New variable.
3157 (realize_default_face): Set and clear that flag.
3158 (x_face_list_fonts): When called during the realization of the
3159 default face, and no matching fonts are found when ignoring
3160 scalable fonts and fonts matching a regexp from
3161 face-ignored-fonts, try without ignoring fonts.
3162
f9dbcda4
GM
31632001-04-03 Gerd Moellmann <gerd@gnu.org>
3164
ad18ffb1
GM
3165 * xfns.c (postprocess_image): New function.
3166 (lookup_image): Call it for all image types except PostScript.
3167 (x_kill_gs_process): Call postprocess_image.
3168
f9dbcda4
GM
3169 * xterm.c (x_use_underline_position_properties): New variable.
3170 (x_draw_glyph_string): Use it.
3171 (syms_of_xterm): DEFVAR_BOOL it.
3172
651f03b6
GM
31732001-04-02 Gerd Moellmann <gerd@gnu.org>
3174
3175 * xterm.c (x_alloc_nearest_color_1): New function.
3176 (x_alloc_nearest_color): Use it.
3177 (x_color_cells): Take a Display as argument, instead of a frame.
3178 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3179 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3180 (x_initialize): Register cvt_string_to_pixel as resource converter
3181 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3182
73d75a62
GM
31832001-03-30 Gerd Moellmann <gerd@gnu.org>
3184
b2046df8
GM
3185 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3186 (set_iterator_to_next): If a string from a display property ends,
3187 consider the case that this might also be the end of an
3188 overlay string having the display property.
3189
52283633 3190 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3191
87d8eba4
GM
3192 * xdisp.c (reseat_to_string): Undo last change.
3193
73d75a62
GM
3194 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3195 matrix of a window when the header line changes, when
3196 new rows are allocated, or when the width changes.
3197
911a2406
EZ
31982001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3199
52283633 3200 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3201
aea51abe
EZ
32022001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3203
3204 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3205 deprecated.
3206
176bc847
GM
32072001-03-29 Gerd Moellmann <gerd@gnu.org>
3208
ed31fabf
GM
3209 * data.c (Fsubr_interactive_form): New function.
3210 (syms_of_data): Defsubr it.
3211
176bc847
GM
3212 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3213 (live_float_p, live_misc_p): Return 1 only if the offset of the
3214 pointer in its block is >= 0.
3215
e59d0e9d
GM
32162001-03-28 Paul Eggert <eggert@twinsun.com>
3217
3218 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3219 microseconds calcuation. Avoid double-rounding problem.
3220 In doc string, warn that the result is approximate.
3221
f827b862
GM
32222001-03-28 Gerd Moellmann <gerd@gnu.org>
3223
30a3f61c
GM
3224 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3225 bind `inhibit-eval-during-redisplay' to t.
3226
3227 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3228
3229 * xdisp.c (inhibit_eval_during_redisplay)
3230 (Qinhibit_eval_during_redisplay): New variables.
3231 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3232 don't eval, return nil instead.
3233 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3234 Initialize Qinhibit_eval_during_redisplay.
3235
e719f5ae
GM
3236 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3237 the iterator's multibyte_p flag.
3238
deb2613a
GM
3239 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3240 instead of setting it to zero; it's incremented for each frame
3241 where the menu face is changed.
3242
52283633
SM
3243 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3244 change bottom shadow accordingly.
3245
3246 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3247 intersections here.
3248 (expose_window): Do it here instead.
52283633 3249 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3250
f827b862
GM
3251 * bytecode.c (BYTE_CODE_QUIT): New macro.
3252 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3253
4bde0ebb
GM
32542001-03-27 Gerd Moellmann <gerd@gnu.org>
3255
607ec83c
GM
3256 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3257 Give up if matrix starts in an ellipsis.
3258 (init_from_display_pos): Do nothing if POS doesn't specify
3259 a dpvec_index but the iterator has such a position.
3260
0245398f
GM
3261 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3262
aba25348
GM
3263 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3264 x/y position is (0, 0) after destroying the menu bar, restore
3265 its original position.
3266
4bde0ebb
GM
3267 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3268 (init_from_display_pos): Use it.
3269 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3270
8cdb267e
GM
32712001-03-26 Gerd Moellmann <gerd@gnu.org>
3272
3273 * xdisp.c (try_window_id): Undo last change.
3274
9948db79
EZ
32752001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3276
3277 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3278
3279 * buffer.c (syms_of_buffer): Doc fix.
3280
2eddf899
GM
32812001-03-26 Gerd Moellmann <gerd@gnu.org>
3282
3283 * xfaces.c (x_update_menu_appearance): Use local variable
3284 popup_path for setting font resources.
3285
6c145d35
EZ
32862001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3287
6a65b1b5
EZ
3288 * frame.c (Fframe_list): Don't reference tip_frame if
3289 HAVE_WINDOW_SYSTEM is not defined.
3290
6c145d35
EZ
3291 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3292 <wl@gnu.org>.
3293
d74c1900
GM
32942001-03-25 Gerd Moellmann <gerd@gnu.org>
3295
20fbd925
GM
3296 * xdisp.c (init_from_display_pos): Test invisible property
3297 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3298
927c5b3b
GM
3299 * xdisp.c (redisplay_internal) <update one window>: Make sure
3300 last_arrow_position and last_arrow_string are set.
3301
d74c1900
GM
3302 * frame.c (Fframe_list): Don't return a tooltip frame.
3303
091f8878
GM
33042001-03-23 Gerd Moellmann <gerd@gnu.org>
3305
52283633
SM
3306 * xdisp.c (mark_window_display_accurate_1): New function,
3307 extracted from mark_window_display_accurate.
3308 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3309 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3310 (mark_window_display_accurate): Use it.
3311 (redisplay_internal): Use it for the selected window.
3312 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3313 for the selected frame.
3314
ac90c44f
GM
3315 * xdisp.c Use make_number, for readability.
3316 (try_window_id): Disable rows below the window end.
3317 (try_window_reusing_current_matrix): Use cursor_row_p.
3318 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3319 of rows.
3320 (init_from_display_pos): If POS specifies a position in a display
3321 vector, maybe get the iterator set up for that ellipsis.
43c09969 3322
091f8878
GM
3323 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3324
991786dd
EZ
33252001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3326
3327 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3328
6c29b43c
GM
33292001-03-23 Gerd Moellmann <gerd@gnu.org>
3330
3331 * xfaces.c (x_update_menu_appearance): Use a different path
3332 for Lucid popup menus.
3333
d8731202
SM
33342001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3335
3336 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3337
3338 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3339 (string_buffer_position): Use `make_number'.
3340
f61a541b
GM
33412001-03-22 Gerd Moellmann <gerd@gnu.org>
3342
3c9e997b
GM
3343 * xfaces.c (x_update_menu_appearance): Renamed from
3344 x_set_menu_face_resources. Use different resources for popups.
3345
3346 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3347 (GC_CHECK_STRING_BYTES): Don't define.
3348
364cd450
GM
3349 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3350 Removed, together with subroutines.
3351 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3352 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3353
d8731202
SM
3354 * dispextern.h (x_set_menu_resources_from_menu_face):
3355 Remove prototype.
364cd450 3356
d8731202 3357 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3358 Remove calls to x_set_menu_resources_from_menu_face.
3359
d8731202
SM
3360 * xfaces.c (xm_set_menu_resources_from_menu_face):
3361 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3362
3363 * xmenu.c: Include widget.h.
3364 (single_submenu): Return int. Some cleanup.
3365 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3366
140330de
GM
33672001-03-21 Gerd Moellmann <gerd@gnu.org>
3368
3369 * xterm.c (x_update_window_end): Handle overwritten mouse face
3370 also for tool bar windows.
3371 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3372 DRAW is DRAW_IMAGE_RAISED.
3373
1741905c
GM
33742001-03-20 Gerd Moellmann <gerd@gnu.org>
3375
fa88947e
GM
3376 * print.c (syms_of_print): Doc fixes.
3377
1741905c
GM
3378 * fns.c (Fmd5): Doc fix.
3379
ade0bee1
GM
33802001-03-19 Gerd Moellmann <gerd@gnu.org>
3381
357e7376
GM
3382 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3383 Clear area of the frame not occupied by the scroll bar.
3384
c2c097cc
GM
3385 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3386 tip frame's root window buffer to *tip* right after creating
3387 the frame.
3388
ade0bee1
GM
3389 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3390 is an integer don't have to be for space characters.
3391
88c6e37e
GM
33922001-03-16 Gerd Moellmann <gerd@gnu.org>
3393
52283633
SM
3394 * indent.c (current_column, current_column_1, Fmove_to_column)
3395 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3396
c62eed76
KH
33972001-03-15 Kenichi Handa <handa@etl.go.jp>
3398
3399 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3400 drawing glyph string.
3401
c899e7e6
GM
34022001-03-15 Gerd Moellmann <gerd@gnu.org>
3403
d0bbfc99
GM
3404 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3405 (command_loop_1): Undo last change.
3406
03d1a189
GM
3407 * xterm.c (fast_find_position): Return the correct vpos.
3408
c899e7e6 3409 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3410 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3411 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3412 Call store_symval_forwarding with BUF null.
3413 (set_internal): Call store_symval_forwarding with the BUF
3414 parameter passed to set_internal. Formerly, the value was always
3415 set in the current buffer; the buffer recorded in specbind for
3416 this case wasn't used.
3417 (arith_driver): Reindent.
3418
52283633
SM
3419 * buffer.c (swap_out_buffer_local_variables):
3420 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3421
3422 * lisp.h (store_symval_forwarding): Change prototype.
3423
3424 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3425
57ac7c81
GM
34262001-03-14 Gerd Moellmann <gerd@gnu.org>
3427
697617d9
GM
3428 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3429 FOR_DELETION. Avoid resizing the mini-window of the selected
3430 frame if FOR_DELETION is set.
3431 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3432 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3433 signature.
3434
3435 * window.c (Fset_window_configuration): Change call to
3436 do_switch_frame to new format.
3437
3438 * keyboard.c (quit_throw_to_read_char): Change call to
3439 do_switch_frame to new format.
3440
3441 * lisp.h (do_switch_frame): Change prototype.
3442
819dce0f
GM
3443 * frame.c (Fframe_parameters): In the `buffer-list' frame
3444 parameter, store the buffer list of FRAME, not the list of the
3445 selected frame.
3446
57ac7c81
GM
3447 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3448 box just because the glyph row's full_width_p flag is set.
3449
65008712
GM
34502001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3451
3452 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3453 skip the padding blanks inserted in extend_face_to_end_of_line,
3454 before checking for trailing whitespace.
3455
159cf431
GM
34562001-03-13 Gerd Moellmann <gerd@gnu.org>
3457
52283633 3458 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3459 Remove special handling for LessTif/Motif.
3460 (toplevel): Don't include Xm/Xm.h.
3461
52283633
SM
3462 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3463 Remove workaround code for LessTif; it doesn't work anymore.
3464
2564ea1b 3465 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3466 Xm/ScrollBarP.h.
afcdc0a1 3467
52283633
SM
3468 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3469 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3470 contemporary LessTif.
3471
52283633
SM
3472 * xfaces.c (xm_set_menu_resources_from_menu_face):
3473 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3474
159cf431
GM
3475 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3476 removing button grabs.
3477
c6f7429a
KH
34782001-03-13 Kenichi Handa <handa@etl.go.jp>
3479
cb82d767
KH
3480 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3481 and clip-large-size-font as obsolete.
3482
c6f7429a
KH
3483 * lread.c (read_multibyte): Check the validity of multibyte
3484 sequence. If invalid, return the first byte.
3485
760cefb5
GM
34862001-03-12 Gerd Moellmann <gerd@gnu.org>
3487
3488 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3489 before running the command; timer functions or process
3490 filters may have set it.
3491
5141f9d0
EZ
34922001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3493
3494 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3495 Doc fix.
3496
b6a15240
GM
34972001-03-12 Gerd Moellmann <gerd@gnu.org>
3498
3499 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3500 to sprintf.
3501
95522746
GM
35022001-03-09 Gerd Moellmann <gerd@gnu.org>
3503
db14cfc5
GM
3504 * dispextern.h (string_buffer_position): Add prototype.
3505
52283633 3506 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3507 (single_display_prop_string_p): New functions.
3508
3509 * xterm.c (note_mouse_highlight): If there's no help-echo on
3510 a string, look at the buffer text ``under'' it.
3511
3512 * keyboard.c (make_lispy_event): Add string info to the event,
3513 analogous to what's done on mode lines.
3514 (read_key_sequence): For a click on a string, consider `local-map'
3515 and `keymap' of that string.
3516
52283633
SM
3517 * keyboard.c (make_lispy_event, make_lispy_movement):
3518 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3519
3520 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3521
3522 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3523 POS; return void.
3524
95522746
GM
3525 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3526 flags argument to emacs_open; it seems to conflict with O_EXCL.
3527
898a399d
KH
35282001-03-09 Kenichi Handa <handa@etl.go.jp>
3529
28cd4910
KH
3530 * composite.h (struct composition): Change types of members;
3531 glyph_len to unsigned, width to unsigned short.
898a399d 3532
4cdf6a6c
AI
35332001-03-08 Andrew Innes <andrewi@gnu.org>
3534
3535 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3536 menu titles.
3537
129004d3
GM
35382001-03-08 Gerd Moellmann <gerd@gnu.org>
3539
221dd3e7
GM
3540 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3541 instead of nil.
3542
52283633 3543 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3544 help-echo in strings.
3545 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3546 (fast_find_string_pos): New function.
3547
52283633
SM
3548 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3549 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3550
3551 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3552 Handle `mouse-face'.
3553
3554 * dispextern.h (face_at_string_position): Change prototype.
3555
52283633 3556 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3557
129004d3
GM
3558 * keyboard.c (make_lispy_event): Avoid generating drag events
3559 if the mouse hasn't actually moved to another buffer position.
52283633 3560
80c8ab8c
DL
35612001-03-08 Dave Love <fx@gnu.org>
3562
129004d3 3563 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3564
989521fd
GM
35652001-03-08 Gerd Moellmann <gerd@gnu.org>
3566
3567 * process.c (Fset_process_window_size): Fix a typo.
3568
bb5c338d
KH
35692001-03-08 Kenichi Handa <handa@etl.go.jp>
3570
3571 * coding.c (detect_coding_sjis): Do more rigid check.
3572 (detect_coding_big5): Likewise.
3573 (decode_coding_sjis_big5): Likewise.
3574 (Fdetect_coding_region): Call detect_coding_system with tailing
3575 anchor byte `\0' for more rigid detection.
52283633 3576 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3577 (Fdetect_coding_string): Likewise.
3578
8b8f9197
SM
35792001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3580
3581 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3582 a string before extracting its data.
3583
3bdf2660
GM
35842001-03-07 Gerd Moellmann <gerd@gnu.org>
3585
3586 * window.c (Frecenter): Rewrite code handling negative values
3587 of ARG on graphical frames.
3588
35892001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3590
3591 * window.c (displayed_window_lines): If W->start is outside the
3592 accessible portion of the buffer, call start_display with BEGV or
3593 ZV instead of W->start.
3594
471f86b9
GM
35952001-03-07 Gerd Moellmann <gerd@gnu.org>
3596
2ab62c6c
GM
3597 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3598
471f86b9
GM
3599 * process.c (Fset_process_filter): Don't crash if the input
3600 file descriptor of PROCESS is closed.
3601 (Fset_process_window_size): Likewise.
3602
101922c3
GM
36032001-03-06 Kenichi Handa <handa@etl.go.jp>
3604
3605 * xterm.c (XTflash): Make the timeout of select shorter, and call
3606 select repeatedly until the desired time expires.
3607
45d051a7
GM
36082001-03-06 Gerd Moellmann <gerd@gnu.org>
3609
3610 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3611
3612 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3613
3614 * lisp.h (Vwindow_list): Declare extern.
3615
8f372c46
EZ
36162001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3617
3618 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3619
f16a7aa5
GM
36202001-03-06 Gerd Moellmann <gerd@gnu.org>
3621
157ae273
GM
3622 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3623 to detect a case where we have to highlight a different region
3624 despite not having left the currently highlighted region.
3625 Set mouse_face_overlay in the x_display_info.
45d051a7 3626 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3627
3628 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3629
3630 * buffer.c (mouse_face_overlay_overlaps): New function.
3631
3632 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3633 (Qmouse_face): Declare extern.
3634
f16a7aa5
GM
3635 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3636 if face_change_count is non-zero.
3637
827afcac
KH
36382001-03-06 Kenichi Handa <handa@etl.go.jp>
3639
3640 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3641 that the source is unibyte.
3642
14c7242e
DL
36432001-03-05 Dave Love <fx@gnu.org>
3644
827afcac 3645 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3646
c28b847b
GM
36472001-03-05 Gerd Moellmann <gerd@gnu.org>
3648
3649 * minibuf.c (read_minibuf): Clean up the binding stack if
3650 called noninteractively.
3651
b86644f2
KH
36522001-03-05 Kenichi Handa <handa@etl.go.jp>
3653
3654 * coding.c (syms_of_coding): Docstring modified.
3655
203682cc 36562001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3657
3658 * charset.c (char_to_string): If a single byte char has modifier
3659 bits that can't be reflected to the character code, ignore them
45d051a7 3660 instead of signaling an error.
b86644f2 3661
e30bd7b7
EZ
36622001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3663
3664 * s/msdos.h: Update copyright notice.
3665
3666 * dosfns.h: Update copyright notice.
3667
3668 * dosfns.c: Update copyright notice.
3669
3670 * msdos.c: Update copyright notice.
3671
b52b65bd
GM
36722001-03-02 Gerd Moellmann <gerd@gnu.org>
3673
3674 * xterm.c (glyph_rect): New function.
3675 (XTmouse_position): Use it to raise the threshold for mouse
3676 movement event generation.
3677
53c4b1e6
EZ
36782001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3679
3680 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3681 specifies (reverse . t), reverse the initial screen colors.
3682 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3683 but we are reversing the colors, set bg_set, not fg_set.
3684 Likewise for setting background-color and reversing: set fg_set.
3685 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3686 in effect.
3687
3688 * xfaces.c (Finternal_set_lisp_face_attribute)
3689 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3690 parameters alist.
3691
f964b4d7
GM
36922001-03-02 Gerd Moellmann <gerd@gnu.org>
3693
ef53d75e
GM
3694 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3695 to a single slash in the middle of file names.
3696
52283633 3697 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3698 Accept only alphanumeric time zone names.
3699
f964b4d7
GM
3700 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3701 or width area.
3702 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3703 a widget to zero height.
52283633 3704
c3c45f65
GM
37052001-03-01 Gerd Moellmann <gerd@gnu.org>
3706
3707 * window.c (Fwindow_end): Call move_it_past_eol only if
3708 ending up on a partially visible line.
3709
028d739a
DL
37102001-03-01 Dave Love <fx@gnu.org>
3711
3712 * ccl.c (Fccl_execute): Doc fix.
3713
57c5889c
GM
37142001-03-01 Gerd Moellmann <gerd@gnu.org>
3715
35f59f6b
GM
3716 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3717 of the tool bar before calling x_figure_window_size.
3718
f84ff02c
GM
3719 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3720 NULL after destroying it, otherwise XTread_socket can access a
3721 destroyed widget when input is unblocked.
3722
8b8f9197 3723 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3724
57c5889c
GM
3725 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3726 same name as before, although there was a change in fontsets.
3727
224227d1
KR
37282001-02-28 Ken Raeburn <raeburn@gnu.org>
3729
4560730a
KR
3730 * lisp.h (Fframe_parameter): Declare.
3731
224227d1 3732 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3733 Lisp_Object.
224227d1 3734
ece93c02
GM
37352001-02-28 Gerd Moellmann <gerd@gnu.org>
3736
11ef99b9
GM
3737 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3738 NULL instead.
3739
3740 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3741 NULL instead.
3742
ece93c02
GM
3743 * alloc.c (toplevel): Include process.h.
3744 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3745 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3746 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3747 (allocate_vector, allocate_hash_table, allocate_window)
3748 (allocate_frame, allocate_process, allocate_other_vector):
3749 New functions.
ece93c02
GM
3750 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3751 (mark_maybe_pointer): New function.
52283633 3752 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3753 remain and not Lisp_Objects.
3754 (min_heap_address, max_heap_address): New variables.
3755 (mem_find): Return MEM_NIL if START is below min_heap_address or
3756 above max_heap_address.
3757 (mem_insert): Compute min_heap_address and max_heap_address.
3758
3759 * process.c (make_process): Use allocate_process.
3760
3761 * frame.c (make_frame): Use allocate_frame.
3762
3763 * window.c (make_window, make_dummy_parent): Use allocate_window.
3764 (Fcurrent_window_configuration): Use allocate_other_vector.
3765
3766 * lisp.h (allocate_vectorlike): Remove prototype.
3767 (allocate_vector, allocate_other_vector, allocate_frame)
3768 (allocate_window, allocate_process, allocate_hash_table):
3769 Add prototypes.
3770
3771 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3772 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3773
063af457
KH
37742001-02-27 Kenichi Handa <handa@etl.go.jp>
3775
3776 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3777 treat the produced bytes as a valid multibyte sequence.
3778
3779 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3780 (ccl_driver) <CCL_WriteMultibyteChar2>:
3781 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3782 <ccl_finish>: Set ccl->eight_bit_control properly.
3783
3784 * ccl.h (struct ccl_program): New member eight_bit_control.
3785
f58c6494
SM
37862001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3787
3788 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3789 accessible_keymaps_char_table.
3790 (accessible_keymaps_char_table): Obey `is_metized'.
3791 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3792 Lisp_Object.
3793
c596c392
GM
37942001-02-26 Gerd Moellmann <gerd@gnu.org>
3795
3796 * dispnew.c: Check HAVE_TERM_H before including term.h.
3797
425de386
AI
37982001-02-24 Andrew Innes <andrewi@gnu.org>
3799
3800 * makefile.w32-in: Update copyright notice.
3801
2ba11bbd
SM
38022001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3803
3804 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3805
66c56ed1
KH
38062001-02-24 Kenichi Handa <handa@etl.go.jp>
3807
4c1593ce
KH
3808 * Makefile.in (lisp): Add international/utf-8.elc.
3809
66c56ed1
KH
3810 * fontset.c (Fnew_fontset): Fix handling of the case that an
3811 element of FONTLIST is a cons of family and registry.
3812
796ead7e
JR
38132001-02-23 Jason Rumney <jasonr@gnu.org>
3814
3815 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3816 to height unconditionally.
3817
3818 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3819 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3820 (x_insert_glyphs): Call window_box_left to obtain the left
3821 x-coordinate of the area to shift.
3822
3823 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3824 safe_run_hooks.
3825
f6839838
AI
38262001-02-22 Andrew Innes <andrewi@gnu.org>
3827
52283633 3828 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3829 ($(BLD)\dispnew.obj):
3830 ($(BLD)\editfns.obj):
3831 ($(BLD)\fileio.obj):
3832 ($(BLD)\filelock.obj):
3833 ($(BLD)\keyboard.obj):
3834 ($(BLD)\w32proc.obj):
3835 ($(BLD)\process.obj):
3836 ($(BLD)\sysdep.obj): Ditto.
3837
3838 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3839 header files.
52283633
SM
3840 ($(BLD)/dispnew.$(O)):
3841 ($(BLD)/editfns.$(O)):
3842 ($(BLD)/fileio.$(O)):
3843 ($(BLD)/filelock.$(O)):
3844 ($(BLD)/keyboard.$(O)):
3845 ($(BLD)/w32proc.$(O)):
3846 ($(BLD)/process.$(O)):
f6839838
AI
3847 ($(BLD)/sysdep.$(O)): Ditto.
3848
c224f70b
GM
38492001-02-22 Gerd Moellmann <gerd@gnu.org>
3850
51695746
GM
3851 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3852 at the start of the function, check that the \n in it->c is
3853 from the iterator's current position.
52283633 3854
a61b7058
GM
3855 * xdisp.c (handle_single_display_prop): Add parameter
3856 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3857 properties which replace the display of text with something else.
3858 (handle_display_prop): Call handle_single_display_prop with
3859 additional argument saying if we already replaced text display
3860 with something else. Use AREF.
52283633 3861 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3862 (decode_mode_spec_coding): Use AREF and ASIZE.
3863
3473f362
GM
3864 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3865 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3866 * vmstime.h: Files removed.
52283633 3867
2bb58df3
GM
3868 * unexencap.c, unexfx2800.c: Files removed.
3869
c224f70b
GM
3870 * dispnew.c (direct_output_for_insert): Give up if we are showing
3871 a message or just cleared the message because we might need to
3872 resize the echo area window or display an empty echo area.
3873
ffc9ff0c
GM
38742001-02-21 Gerd Moellmann <gerd@gnu.org>
3875
0528abe1
GM
3876 * xdisp.c (redisplay_internal): Do the
3877 mark_window_display_accurate after all windows have been
3878 redisplayed because this call resets flags in buffers which are
3879 needed for proper redisplay.
3880
52283633
SM
3881 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3882 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3883 the old names.
3884
52283633
SM
3885 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3886 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3887
3888 * msdos.h (struct x_output): Rename busy_window to
3889 hourglass_window, busy_p to hourglass_p.
3890
52283633
SM
3891 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3892 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3893
3894 * xfns.c: Rename everything containing *busy_cursor* and similar
3895 to *hourglass*.
3896 (syms_of_w32fns): Rename x-busy-pointer-shape to
3897 x-hourglass-pointer-shape, display-busy-cursor to
3898 display-hourglass, busy-cursor-delay to hourglass-delay.
3899
3900 * w32fns.c: Rename everything containing *busy_cursor* and similar
3901 to *hourglass*.
3902 (syms_of_w32fns): Rename x-busy-pointer-shape to
3903 x-hourglass-pointer-shape, display-busy-cursor to
3904 display-hourglass, busy-cursor-delay to hourglass-delay.
3905
3906 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3907 of its busy_p flag.
3908
3909 * dispextern.h (start_hourglass, cancel_hourglass)
3910 (display_hourglass_p): Renamed from *busy_cursor*.
3911
ab2c5f0a
GM
39122001-02-20 Gerd Moellmann <gerd@gnu.org>
3913
d17e49a8
GM
3914 * keyboard.c (read_char): When an event from unread-command-events
3915 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3916
fa97adf6
GM
3917 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3918 equal to the current buffer.
3919
ab2c5f0a
GM
3920 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3921 nil, otherwise we're left with truncate_lines t when a message
3922 is printed with message-truncate-lines bound to t.
3923
aeac019e
GM
39242001-02-19 Gerd Moellmann <gerd@gnu.org>
3925
c8bc6f65
GM
3926 * window.c (Fmove_to_window_line): Undo last change.
3927 (displayed_window_lines): Call line_bottom_y to determine
3928 the line's bottom position.
3929
3930 * dispextern.h (line_bottom_y): Add prototype.
3931
52283633 3932 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3933 (pos_visible_p): Use it.
3934
980a2d69
GM
3935 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3936 set redisplaying_p to 0 here instead of in Frecursive_edit.
3937 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3938 set redisplaying_p.
3939
52283633 3940 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3941 New variables.
3942 (syms_of_xdisp): Initialize new variables.
3943 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3944 Specbind `inhibit-menubar-update' when updating the menu bar.
3945
65048e97
GM
3946 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3947 safe_run_hooks.
3948
3949 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3950 safe_run_hooks.
3951
a57c4026
GM
3952 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3953 is null.
3954
aeac019e
GM
3955 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3956 to the start of the file.
3957
76846b31
GM
39582001-02-16 Gerd Moellmann <gerd@gnu.org>
3959
f3f053f3 3960 * window.c (set_window_buffer): Fix last change.
52283633 3961
f3f053f3
GM
3962 * window.c (set_window_buffer): Set window's vscroll to 0.
3963
dad75588
GM
3964 * window.c (coordinates_in_window): Increase width of area
3965 where the vertical line can be dragged.
3966
c220b753
GM
3967 * xterm.c (x_set_glyph_string_background_width): Extend the
3968 background face to the end of the drawing area in the text
3969 area, only.
3970
c56b1c1b
GM
3971 * xdisp.c (handle_single_display_prop): Set iterator's position
3972 to where the `display' property starts, like for images.
3973 (dump_glyph): New function.
3974 (dump_glyph_row): Use it. Dump info about marginal areas.
3975
3976 * dispnew.c (direct_output_for_insert): Recognize more cases where
3977 glyphs can be written instead of being inserted.
3978
3979 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3980 the left x-coordinate of the area to shift.
3981
76846b31
GM
3982 * dired.c (directory_files_internal): Set result list to nil
3983 before retrying.
3984
0fc71a77
KH
39852001-02-15 Kenichi Handa <handa@etl.go.jp>
3986
3987 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3988 invalid multibyte sequence, treat *SRC as a character of
3989 eight-bit-graphic.
3990
25078b54
EZ
39912001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3992
3993 * textprop.c (Fset_text_properties): Doc fix.
3994
8399f8a0
GM
39952001-02-15 Gerd Moellmann <gerd@gnu.org>
3996
3997 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3998
9a2a6f73
DL
39992001-02-14 Dave Love <fx@gnu.org>
4000
4001 * coding.c: Doc and message fixes.
4002
bf853fee
AI
40032001-02-14 Andrew Innes <andrewi@gnu.org>
4004
4005 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4006 Emacs frame above the screen size.
4007
78c663d8
GM
40082001-02-14 Gerd Moellmann <gerd@gnu.org>
4009
4010 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4011
7cc9f69f
GM
40122001-02-13 Gerd Moellmann <gerd@gnu.org>
4013
0a411995
GM
4014 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4015 case that TO ends up beyond ZV after running before-change-functions.
4016
5ddc1b75
GM
4017 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4018 the selected window if it is showing the buffer in question.
4019
7cc9f69f
GM
4020 * dired.c (directory_files_internal): Initialize errno.
4021 (toplevel): Include errno.h.
4022
2e6621ca
GM
40232001-02-13 Kenichi Handa <handa@etl.go.jp>
4024
4025 * xfaces.c (best_matching_font): New parameter width_ratio.
4026 Multiply avgwidth by width_ratio.
4027 (choose_face_font): Call best_matching_font with width_ratio
4028 calculated from the column width of C.
4029
60222d69
AI
40302001-02-12 Andrew Innes <andrewi@gnu.org>
4031
4032 The following changes are to draw box lines inside characters area
4033 if line-width is negative.
52283633 4034
60222d69
AI
4035 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4036 face->box_line_width is negative.
4037 (x_produce_stretch_glyph): Likewise.
4038 (x_produce_glyphs): Likewise.
4039 (x_estimate_mode_line_height): Likewise.
4040 (x_draw_glyph_string_background): Likewise.
4041 (x_draw_glyph_string_foreground): Likewise.
4042 (x_draw_composite_glyph_string_foreground): Likewise.
4043 (x_draw_glyph_string_box): Likewise.
4044 (x_draw_image_foreground): Likewise.
4045 (x_draw_image_relief): Likewise.
4046 (x_draw_image_foreground_1): Likewise.
4047 (x_draw_image_glyph_string): Likewise.
4048
9804b846
KH
40492001-02-09 Kenichi Handa <handa@etl.go.jp>
4050
4051 The following changes are to draw box lines inside characters area
4052 if line-width is negative.
52283633 4053
9804b846
KH
4054 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4055 face->box_line_width is negative.
4056 (x_produce_stretch_glyph): Likewise.
4057 (x_produce_glyphs): Likewise.
4058 (x_estimate_mode_line_height): Likewise.
4059 (x_draw_glyph_string_background): Likewise.
4060 (x_draw_glyph_string_foreground): Likewise.
4061 (x_draw_composite_glyph_string_foreground): Likewise.
4062 (x_draw_glyph_string_box): Likewise.
4063 (x_draw_image_foreground): Likewise.
4064 (x_draw_image_relief): Likewise.
4065 (x_draw_image_foreground_1): Likewise.
4066 (x_draw_image_glyph_string): Likewise.
4067
4068 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4069 and :line-width can be negative.
52283633 4070 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4071
49be9f70
JR
40722001-02-09 Jason Rumney <jasonr@gnu.org>
4073
4074 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4075 characters the same as ASCII and latin-1.
4076 (x_display_and_set_cursor): Check for the focus frame's selected
4077 window instead of selected_window.
4078 (x_after_update_window_line): Don't clear if frame's internal
4079 border width is zero.
4080 (x_new_font): Don't change a tooltip's size.
4081 (w32_initialize): Set char_ins_del_ok to 1.
4082
4083 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4084 (x_set_font): If font hasn't changed, avoid recomputing
4085 faces and other things.
52283633
SM
4086 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4087 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4088 (x_create_tip_frame): Prevent changing the tooltip's
4089 background color by specifying a color for the default font
4090 in .Xdefaults.
4091 (Qcancel_timer): New variable.
4092 (syms_of_w32fns): Initialize and staticpro it.
4093 (Fx_hide_tip, Fx_show_tip): Use it.
4094 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4095 the timer.
4096 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4097
4098 * w32.c (init_environment): Duplicate local string before putenv.
4099
555e35d2
SZ
41002001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4101
4102 * charset.c (Fstring): A typo.
4103
19c92c94
KH
41042001-02-09 Kenichi Handa <handa@etl.go.jp>
4105
e47a1c33
KH
4106 * charset.c (Fstring): If all arguments are less than 256, return
4107 a unibyte string.
4108
4109 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4110 return a unibyte string.
4111
19c92c94
KH
4112 * coding.c (code_convert_region): After detecting a coding, if
4113 nothing found, set coding->composing to COMPOSITION_NO.
4114 (decode_coding_string): Likewise.
4115
d8e675f5
SM
41162001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4117
4118 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4119 to avoid overflow.
4120
bd503487
KH
41212001-02-07 Kenichi Handa <handa@etl.go.jp>
4122
4123 * charset.c (parse_str_to_multibyte): New function.
4124
4125 * charset.h (parse_str_to_multibyte): Extern it.
4126
4127 * print.c (print_string): If we are going to print a unibyte
4128 string into a multibyte buffer, convert the string to multibyte by
4129 str_to_multibyte.
4130
a8370d72
AI
41312001-02-06 Andrew Innes <andrewi@gnu.org>
4132
4133 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4134 been created. It seems we can get sent window messages such as
4135 WM_ERASEBKGND before we properly update a frame.
4136
c363a1d6
GM
41372001-02-06 Gerd Moellmann <gerd@gnu.org>
4138
4139 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4140 Avoid some unnecessary cursor positioning.
4141
a08332c0
GM
41422001-02-05 Gerd Moellmann <gerd@gnu.org>
4143
52283633 4144 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4145 (LFACE_AVGWIDTH): New macro.
4146 (LFACEP): Use AREF.
4147 (check_lface_attrs): Check LFACE_AVGWIDTH.
4148 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4149 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4150 (merge_face_vectors): Check LFACE_AVGWIDTH.
4151 (Finternal_make_lisp_face): Use AREF.
4152 (xm_set_menu_resources_from_menu_face)
4153 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4154 (Finternal_lisp_face_empty_p): Use AREF.
4155 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4156 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4157 Compare average widths..
4158 (best_matching_font): Arrange for comparing average widths.
4159
52283633
SM
4160 * dispextern.h (enum lface_attribute_index):
4161 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4162
5cb3c8d4
DL
41632001-02-05 Dave Love <fx@gnu.org>
4164
4165 * puresize.h: Revert last change following loadup.el change.
4166
193fba87
AI
41672001-02-05 Andrew Innes <andrewi@gnu.org>
4168
4169 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4170 invocation of temacs, to work with Windows 2000.
4171 (bootstrap-emacs): Ditto.
4172
e16f52ce
GM
41732001-02-05 Gerd Moellmann <gerd@gnu.org>
4174
7a58ab59
GM
4175 * xterm.c (x_display_and_set_cursor): Check for the focus
4176 frame's selected window instead of selected_window.
4177
e89aaabd
GM
4178 * xdisp.c (try_scrolling): If point is in the line below the
4179 window, make sure to move the iterator at least a canonical
4180 char height down.
4181
52283633 4182 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4183
789ce875
KH
41842001-02-05 Kenichi Handa <handa@etl.go.jp>
4185
52283633
SM
4186 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4187 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4188 (ccl_driver): If the CCL program is terminated because of
4189 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4190 destination instead of throwing them away.
4191
20b28f82
GM
41922001-02-02 Gerd Moellmann <gerd@gnu.org>
4193
79fb38c0
GM
4194 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4195 faces and other things.
4196
20b28f82
GM
4197 * xdisp.c (get_next_display_element): Fix case of empty
4198 display table entry.
4199
5a72551e
EZ
42002001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4201
eb24d0bf
EZ
4202 * editfns.c (Fconstrain_to_field): Doc fix.
4203
6a3f48c7
EZ
4204 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4205 into `thoroughly', to make it consistent with the doc string.
4206
5a72551e
EZ
4207 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4208
01acdb05
GM
42092001-02-01 Gerd Moellmann <gerd@gnu.org>
4210
0353b28f
GM
4211 * search.c (search_buffer): Call set_search_regs with a byte
4212 position, not a character position.
4213
01acdb05
GM
4214 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4215 minibuffer-only,
4216
e86b5133
EZ
42172001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4218
4219 * frame.c (Fmodify_frame_parameters): Doc fix.
4220
7442878f
GM
42212001-01-31 Gerd Moellmann <gerd@gnu.org>
4222
01acdb05
GM
4223 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4224 identifier which is not reserved by Standard C.
52283633 4225
7442878f
GM
4226 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4227
4228 * window.c (enum window_part): New enumeration.
4229 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4230 Qright_bitmap_area.
4231 (coordinates_in_window): Return an enumerator from enum
4232 window_part. Fix handling of right scroll bar.
4233 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4234 `right-fringe' instead of `left-bitmap-area' and
4235 `right-bitmap-area'. Use enumerators from enum window_part
4236 instead of hard-coded integers.
52283633
SM
4237 (check_window_containing, window_from_coordinates):
4238 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4239 (syms_of_window): Replace Qleft_bitmap_area and
4240 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4241
7c132cba
EZ
42422001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4243
4244 * editfns.c (Fformat_time_string): Doc fix.
4245
c359dd9e
SM
42462001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4247
4248 * keymap.c (Fwhere_is_internal): Use the first valid binding
4249 if no ascii binding is found (when firstonly is t).
4250
ce070307
GM
42512001-01-31 Gerd Moellmann <gerd@gnu.org>
4252
b4f30ec5
GM
4253 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4254 instead of Finteractive_p.
4255
4256 * lisp.h (interactive_p): Add prototype.
4257
4258 * eval.c (interactive_p): New function.
4259 (Finteractive_p): Use it.
4260
ce070307
GM
4261 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4262
f57b6e64
DL
42632001-01-31 Dave Love <fx@gnu.org>
4264
d61c7afe
DL
4265 * .gdbinit (hook-run): Define to run xreload.
4266
f57b6e64
DL
4267 * textprop.c (Fset_text_properties): Fix newline in doc string.
4268
eef93f99
GM
42692001-01-30 Gerd Moellmann <gerd@gnu.org>
4270
52283633
SM
4271 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4272 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4273
4274 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4275 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4276 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4277
4278 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4279 height.
4280
d9c1f6f9
DL
42812001-01-30 Dave Love <fx@gnu.org>
4282
4283 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4284 AFTER_POTENTIAL_GC.
4285
e8f044a0
GM
42862001-01-29 Gerd Moellmann <gerd@gnu.org>
4287
52283633
SM
4288 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4289 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4290
8e1db7b3
EZ
42912001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4292
4293 * textprop.c (Fset_text_properties): Doc fix.
4294
4eefd9d2
GM
42952001-01-29 Gerd Moellmann <gerd@gnu.org>
4296
4297 * xdisp.c (forward_to_next_line_start): Remove xassert.
4298
fccb8288
EZ
42992001-01-29 Jason Rumney <jasonr@gnu.org>
4300
4eefd9d2 4301 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4302 returning without releasing it.
4303
76581eab
KH
43042001-01-29 Kenichi Handa <handa@etl.go.jp>
4305
4306 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4307 for '^', '$', and '\0'.
4308
83a96b4d
AC
43092001-01-28 Andrew Choi <akochoi@i-cable.com>
4310
5604ec34
AC
4311 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4312 regex for '^', '$', and '\0'.
4313
83a96b4d
AC
4314 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4315 only if current_sblock has been initialized.
4316
4317 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4318 terminal frame even if it is the only visible frame.
4319
c09a6440
KH
43202001-01-28 Kenichi Handa <handa@etl.go.jp>
4321
4322 * fontset.c (font_family_registry): Even if FONTNAME conform to
4323 XLFD, if it specifies other fields than family and registry,
52283633 4324 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4325 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4326 a signle byte character. Don't set FAMILY part to nil here.
4327 It is handled by the caller choose_face_font.
c09a6440
KH
4328 (Fnew_fontset): Call font_family_registry with FORCE 0.
4329 (Fset_fontset_font): Likewise.
4330
4dcd74e6
GM
43312001-01-27 Gerd Moellmann <gerd@gnu.org>
4332
4333 * xdisp.c (display_line): Don't treat a newline as fitting
4334 on the line.
4335
d2906bf8
GM
43362001-01-26 Gerd Moellmann <gerd@gnu.org>
4337
0130fe1a
GM
4338 * window.c (size_window): Set the window's orig_top to nil when
4339 changing heights, so that a future shrink_mini_window won't
4340 restore a bogus height.
4341
550f0e6a
GM
4342 * frame.c (do_switch_frame): If selected frame has a mini-window,
4343 resize that to exact size.
4344
b7b20fbd
GM
4345 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4346
a47b7816
GM
4347 * xdisp.c (display_line): Simplify check for glyphs fitting
4348 entirely in the line.
4349
d2906bf8
GM
4350 * xfns.c (xic_style): New variable.
4351 (create_frame_xic): Move static variable to global scope for
550f0e6a 4352 the case that `static' gets defined away.
d2906bf8 4353
73df2b1e
KH
43542001-01-26 Kenichi Handa <handa@etl.go.jp>
4355
4356 * coding.c (decode_coding): Set a flag for inhibiting
4357 inconsistent eol.
4358 (code_convert_region): Always set saved_coding_symbol.
4359 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4360 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4361
6613cfc4
GM
43622001-01-25 Gerd Moellmann <gerd@gnu.org>
4363
c5e6e06b
GM
4364 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4365 XClearArea.
4366
4367 * xterm.c (x_after_update_window_line): Don't clear if frame's
4368 internal border width is zero.
4369 (x_clear_area): New function.
4370 (x_after_update_window_line, x_clear_end_of_line)
4371 (x_scroll_bar_create, x_scroll_bar_set_handle)
4372 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4373 instead of XClearArea.
4374
4375 * xterm.h (x_clear_area): Add prototype.
4376
6613cfc4
GM
4377 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4378 which doesn't seem necessary anymore with Lesstif 0.92.
4379
650cc6cc
DL
43802001-01-25 Dave Love <fx@gnu.org>
4381
34ac3367
DL
4382 * puresize.h (BASE_PURESIZE): Up to 720000.
4383
650cc6cc
DL
4384 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4385
5e37dc22
GM
43862001-01-25 Gerd Moellmann <gerd@gnu.org>
4387
e1e441f9
GM
4388 * xdisp.c (echo_area_display): Don't call redisplay_internal
4389 when Emacs is shutting down. We can't run hooks etc. that
4390 would be necessary to do a redisplay.
4391
5e37dc22
GM
4392 * lread.c (read_integer): Use type EMACS_INT instead of int.
4393
0fb94c7f
EZ
43942001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4395
4396 * ccl.c (ccl_driver): Fix last change.
4397
e3778624
KH
43982001-01-25 Kenichi Handa <handa@etl.go.jp>
4399
4400 * ccl.h (sturct ccl_program): New member suppress_error.
4401
bb264518 4402 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4403 insert error message to the output.
4404 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4405
4406 * coding.h (struct coding_system): New member suppress_error.
4407
4408 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4409 (Fset_terminal_coding_system_internal): Set the member
4410 suppress_error to 1.
4411 (Fset_safe_terminal_coding_system_internal): Likewise.
4412
245ed2b1
SM
44132001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4414
4415 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4416 as if it was a `charset'.
4417
f9aaedb6
GM
44182001-01-24 Gerd Moellmann <gerd@gnu.org>
4419
4420 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4421 value in where_is_cache; the next lookup in the cache returns
4422 something bogus if we do.
4423
c3902c3e
EZ
44242001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4425
4426 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4427 if HAVE_WINDOW_SYSTEM isn't defined.
4428
3497f73e
GM
44292001-01-24 Gerd Moellmann <gerd@gnu.org>
4430
e7e41584
GM
4431 * fns.c (sweep_weak_table): Fix code taking items out of
4432 the hash collision chain. Some cleanup.
4433
3497f73e
GM
4434 * xterm.c (x_new_font): Don't change a tooltip's size.
4435
4436 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4437 background color by specifying a color for the default font
4438 in .Xdefaults.
4439
3d48e687
KH
44402001-01-24 Kenichi Handa <handa@etl.go.jp>
4441
96531b20
KH
4442 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4443 a workaround for SunOS 4's cc.
4444 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4445 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4446 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4447 statement.
3d48e687 4448
a30629d2
GM
44492001-01-23 Gerd Moellmann <gerd@gnu.org>
4450
4451 * xterm.c (x_set_window_size_1): New function extracted from
4452 x_set_window_size.
4453 (x_set_window_size): Use it.
4454 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4455 doesn't have a widget, like tooltips.
4456
5a43decf
EZ
44572001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4458
52283633 4459 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4460
b0e98867
KH
44612001-01-23 Kenichi Handa <handa@etl.go.jp>
4462
4463 * fns.c (Fset_char_table_default): Fix to make sub char-table
4464 correctly.
4465
50606b4c
GM
44662001-01-22 Gerd Moellmann <gerd@gnu.org>
4467
cb2ddc53 4468 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4469 a desired tool bar string, even if there are no tool bar items.
4470
57c28064
GM
4471 * xdisp.c (Ftool_bar_lines_needed): New function.
4472 (syms_of_xdisp): Defsubr it.
4473
50606b4c
GM
4474 * editfns.c (Fformat): Don't extend text properties from arguments
4475 to padding chars in the result.
4476
2f169c38
EZ
44772001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4478
4479 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4480
0f32f023
AI
44812001-01-20 Andrew Innes <andrewi@gnu.org>
4482
52283633 4483 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4484 (w32_initialize): Don't set term hooks that aren't actually needed
4485 in windowed mode.
4486
4487 * xfaces.c (realize_default_face):
4488 (realize_face):
4489 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4490
4491 * xdisp.c (handle_single_display_prop): Remove references to
4492 FRAME_W32_CONSOLE_P.
4493
52283633 4494 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4495
4496 * frame.h (output_method): Remove output_w32_console method.
4497 (FRAME_W32_CONSOLE_P): Remove macro.
4498
4499 * frame.c (Qw32_console): Remove variable.
4500 (Fframep): Remove references to it.
4501 (syms_of_frame): Ditto.
4502 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4503
4504 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4505 redefinition.
4506
7173eada
KH
45072001-01-20 Kenichi Handa <handa@etl.go.jp>
4508
4509 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4510
755b45ce
AI
45112001-01-19 Andrew Innes <andrewi@gnu.org>
4512
4513 * w32.c (init_environment): Add a version-independent site-lisp
4514 directory to EMACSLOADPATH, after the version dependent one.
4515
0a949811
GM
45162001-01-19 Gerd Moellmann <gerd@gnu.org>
4517
8501998a
GM
4518 * editfns.c (Fbuffer_substring): Doc fix.
4519
52283633
SM
4520 * xdisp.c (message_dolog, message2, message2_nolog):
4521 Rename parameter LEN to NBYTES.
0a949811 4522
e6ebcbbe
KH
45232001-01-19 Kenichi Handa <handa@etl.go.jp>
4524
200ecca2
KH
4525 * charset.c (strwidth): Use c_string_width.
4526 (c_string_width): New function.
4527 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4528 Caller changed.
4529
4530 * charset.h (c_string_width, lisp_string_width): Extern them.
4531
52283633 4532 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4533
e6ebcbbe
KH
4534 * indent.c (check_composition): Check validity of composition.
4535
200ecca2
KH
4536 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4537 characters by calling c_string_width.
4538 (x_consider_frame_title): Get byte length of frame tile string
4539 correctly.
4540 (display_mode_element): Pay attention to width of non-ASCII
4541 characters by calling strwidth.
4542
8692ca92
GM
45432001-01-18 Gerd Moellmann <gerd@gnu.org>
4544
8962e303
GM
4545 * xfns.c (Qcancel_timer): New variable.
4546 (syms_of_xfns): Initialize and staticpro it.
4547 (Fx_hide_tip, Fx_show_tip): Use it.
4548 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4549 the timer.
4550 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4551
91523be9
GM
4552 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4553
4554 * window.h (WINDOW_LIVE_P): New macro.
4555
b0b7ed0e
GM
4556 * window.c (window_size_fixed): New variable.
4557 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4558 the doc string.
4559
06bccf8e
GM
4560 * eval.c (specbind): If binding a per-buffer variable which
4561 doesn't have a buffer-local value in the current buffer, change
4562 the global value by changing the value of the symbol bound in all
4563 buffers not having their own value, to make it consistent with
4564 what happens with other buffer-local variables.
4565
8692ca92
GM
4566 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4567
4568 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4569 when searching for a newline.
4570
bb3a3b50
KH
45712001-01-18 Kenichi Handa <handa@etl.go.jp>
4572
4573 * xdisp.c (display_string): Fix previous change.
4574
c2cc16fa
JR
45752001-01-18 Jason Rumney <jasonr@gnu.org>
4576
4577 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4578 GLYPH_DEBUG is defined.
4579 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4580 true for images with `:ascent 100'.
4581 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4582 meantime, use face MOUSE_FACE_ID.
4583 If first glyph isn't a character glyph, use the ASCII NUL
4584 character to determine the face.
4585 (expose_area): Do not treat left margin specially.
4586 (note_mode_line_highlight): If no local_map, check global keymap.
4587 (note_mouse_highlight): Initialize overlay.
52283633 4588 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4589 (show_scroll_bars): Remove unused function.
4590 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4591 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4592 Clip to row.
52283633 4593 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4594 (x_free_frame_resources): Unload relief colors.
4595
9c11f79e
GM
45962001-01-17 Gerd Moellmann <gerd@gnu.org>
4597
3aec8722 4598 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4599 get_next_display_element when the newline is already found.
4600 This may change the iterator's position, when its current position is
3aec8722
GM
4601 equal to the iterator's stop_charpos.
4602
f3ffc2c3
GM
4603 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4604 zero, use this method only at the end of a line.
4605
52283633 4606 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4607 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4608 if SCALABLE_FONTS_P is set.
52283633 4609
d26d6fd9
GM
4610 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4611 so that scalable fonts are included.
4612
9c11f79e
GM
4613 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4614 In the cache, use a key containing the information if scalable
4615 fonts are included.
4616 (x_load_font): Adapt to change of keys in the font cache.
4617
46182001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4619
d26d6fd9
GM
4620 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4621 XListFonts to take advantage of font caching.
4622
9c11f79e
GM
4623 * xterm.c (x_list_fonts): Ensure caching font information when
4624 called for a null frame, which is the case frequently when Emacs
4625 starts.
4626
51446987
GM
46272001-01-17 Gerd Moellmann <gerd@gnu.org>
4628
f864120f
GM
4629 * xfns.c (QCconversion): Replaces QCalgorithm.
4630
4631 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4632
4633 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4634 of :algorithm.
52283633 4635
e37d1417
GM
4636 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4637 not everything could be displayed.
4638
51446987
GM
4639 * line.h, x-list-font.c: Files removed because unused.
4640
9ad4f3e5
AI
46412001-01-17 Andrew Innes <andrewi@gnu.org>
4642
4643 * dired.c (directory_files_internal): Convert result from readdir
4644 to a unibyte string initially, to avoid possible misinterpretation
4645 of some bytes as the internal form of Emacs characters.
4646
2eda09b5
KH
46472001-01-17 Kenichi Handa <handa@etl.go.jp>
4648
4649 * fns.c (concat): Be sure to avoid putting the same `composition'
4650 property on the adjacent regions.
4651
826f3788
GM
46522001-01-16 Gerd Moellmann <gerd@gnu.org>
4653
52283633 4654 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4655 (Fscroll_right, Fscroll_left): Set it here instead, if called
4656 interactively.
4657
d57b83b3
GM
4658 * buffer.c (Fset_buffer_modified_p): Set buffer's
4659 prevent_redisplay_optimizations_p flag.
4660
826f3788 4661 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4662 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4663 with additional arg.
4664
4665 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4666 Change prototype.
826f3788 4667
826f3788
GM
4668 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4669 FROM_WHERE, for debugging.
4670
261d788b
KH
46712001-01-16 Kenichi Handa <handa@etl.go.jp>
4672
4673 * ccl.c (Fregister_ccl_program): Handle the return value of
4674 resolve_symbol_ccl_program correctly.
52283633 4675 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4676
bccee4f2
GM
46772001-01-15 Gerd Moellmann <gerd@gnu.org>
4678
e4ded23c
GM
4679 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4680 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4681
4682 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4683 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4684 the display; we didn't open it.
4685
bccee4f2
GM
4686 * dispnew.c (save_or_restore_current_matrices): Function removed.
4687 (save_current_matrix, restore_current_matrix): New functions.
4688 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4689 restore the frame's current matrix. Due to the glyph pointer
4690 setup done in adjust_glyph_matrix, there is no easy way to make
4691 saving the current matrix in the desired matrix generally correct,
4692 so don't try it.
4693
ebeccffa
KH
46942001-01-15 Kenichi Handa <handa@etl.go.jp>
4695
4696 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4697 truncation glyphs.
4698 (display_line): Optimize for wide characters.
e4ded23c 4699 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4700 partially. On ttys, produce more than one truncation glyph for
4701 multi-column characters that don't fit on the line.
4702
64388126
KH
47032001-01-13 Kenichi Handa <handa@etl.go.jp>
4704
52283633
SM
4705 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4706 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4707
8edb0a6f
JR
47082001-01-13 Jason Rumney <jasonr@gnu.org>
4709
4710 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4711 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4712 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4713 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4714
52283633
SM
4715 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4716 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4717 (x_draw_image_glyph_string): Adapt to change of image margins.
4718
4719 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4720 variables.
4721
4722 * w32bdf.c (search_file_line, get_cached_font_char)
4723 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4724
4725 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4726
4727 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4728 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4729 (Fw32_send_sys_command): Remove unused variables.
4730 (w32_msg_pump): Add parentheses.
4731
4732 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4733 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4734 Add parentheses.
4735
4956d1ef
GM
47362001-01-12 Gerd Moellmann <gerd@gnu.org>
4737
b30623be
GM
4738 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4739 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4740 being a pair of margins.
4741 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4742 to DEFVAR_LISP. Extend doc.
4743
4744 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4745 margins.
4746 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4747 pair of integers `(X . Y)', use X for the horizontal and Y for the
4748 vertical margin.
4749 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4750 (parse_image_spec): Check it.
52283633
SM
4751 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4752 (tiff_format, gif_format, gs_format):
4753 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4754
52283633
SM
4755 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4756 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4757 (x_draw_image_glyph_string): Adapt to the change of image margins.
4758
4759 * dispextern.h (struct image): Replace member `margin' with
4760 `hmargin' and `vmargin'.
4761
4554cc79
GM
4762 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4763 and GLYPHS.
4764
4765 * dispnew.c (update_text_area): Put code which decrements the
4766 stop position when the row's face extends to the end of the
3bffc665 4767 line in #if 0.
4554cc79 4768
3cccce8d
GM
4769 * xfns.c (x_set_mouse_color): Fix color allocation.
4770
4956d1ef
GM
4771 * keyboard.c: Call get_local_map with new argument list.
4772
4773 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4774
4775 * intervals.h (enum map_property): Removed.
4776 (get_local_map): Change prototype.
4777
4778 * keymap.c: Call get_local_map with new argument list.
4779 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4780
2c2ff7f2
GM
47812001-01-11 Gerd Moellmann <gerd@gnu.org>
4782
a23887b9
GM
4783 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4784 of the size needed for the tool bar string. For the last image,
4785 use a `display' property that reaches to the end of the string.
4786
a7ee2d2e
GM
4787 * xselect.c (selection_request_dpyinfo): New variable.
4788 (x_handle_selection_request): Set it.
4789 (x_selection_request_lisp_error): Don't call
4790 x_decline_selection_request if selection request's display has
4791 been closed.
4792
52283633
SM
4793 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4794 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4795
457b792c
GM
47962001-01-10 Dave Love <fx@gnu.org>
4797
4798 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4799 ${SOME_MACHINE_LISP}, not ${lisp}.
4800
c1efd260
GM
48012001-01-10 Gerd Moellmann <gerd@gnu.org>
4802
52283633
SM
4803 * xdisp.c (display_line): On ttys, produce more than one truncation
4804 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4805
ac95a621
GM
4806 * xselect.c (x_reply_selection_request): Add a comment.
4807
c1efd260
GM
4808 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4809 XkbGetNames instead of XkbGetKeyboard.
4810
1bfb1345
DL
48112001-01-10 Dave Love <fx@gnu.org>
4812
4813 * sysdep.c (random): Revert the declaration.
4814
38119822
GM
48152001-01-09 Gerd Moellmann <gerd@gnu.org>
4816
52283633
SM
4817 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4818 Call function string_bytes.
35f464a7
GM
4819 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4820
4821 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4822 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4823 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4824 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4825 the current sblock.
4826 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4827 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4828 after sweeping strings, and at the end.
4829 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4830
38119822
GM
4831 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4832 ensure that pop_message is called.
4833
4834 * keyboard.c (Fexecute_extended_command): Use a
4835 record_unwind_protect to ensure that pop_message is called.
4836
4837 * lisp.h (push_message_unwind): Add prototype.
4838
4839 * xdisp.c (push_message_unwind): New function.
4840
4841 * fileio.c (do_auto_save_unwind): Do the pop_message here
4842 instead of in Fdo_auto_save.
4843 (Fdo_auto_save): Don't call pop_message.
4844
f47a9ec4
KR
48452001-01-08 Ken Raeburn <raeburn@gnu.org>
4846
4847 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4848 in inner block.
4849
a758f97d
GM
48502001-01-08 Gerd Moellmann <gerd@gnu.org>
4851
6d0afc03
GM
4852 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4853 when increasing window's vscroll.
4854
a758f97d
GM
4855 * macros.c (Qkbd_macro_termination_hook): New variable.
4856 (syms_of_macros): Initialize and staticpro it.
4857 (pop_kbd_macro): Run kbd-macro-termination-hook.
4858
4859 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4860
1bfb1345 48612001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4862
4863 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4864 arglist, for documentation's sake.
4865
0dac6924
AI
48662001-01-06 Andrew Innes <andrewi@gnu.org>
4867
4868 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4869 of *.pdb.
4870
8182406a
AI
48712001-01-05 Andrew Innes <andrewi@gnu.org>
4872
4873 * term.c (update_end): Don't check updating_frame; for some reason
4874 this can be 0 sometimes, such as after dismissing a popup menu,
4875 and isn't necessary given the explicit frame argument.
4876
3828218c
GM
48772001-01-05 Gerd Moellmann <gerd@gnu.org>
4878
4879 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4880 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4881
2f5ded21
GM
48822001-01-04 Gerd Moellmann <gerd@gnu.org>
4883
52283633 4884 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4885
4886 * xfns.c (x_create_tip_frame): Preserve the value of
4887 face_change_count around the creation of the tip frame.
52283633 4888
2f5ded21
GM
4889 * xfns.c (last_show_tip_args): New variable.
4890 (compute_tip_xy): New function.
4891 (Fx_show_tip): Reuse an existing tip frame, if possible.
4892 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4893
dfad65fa
DL
48942001-01-04 Dave Love <fx@gnu.org>
4895
64d4ec0f
DL
4896 * editfns.c (Fformat): Doc fix.
4897
dfad65fa
DL
4898 * systime.h (set_file_times): Prototype.
4899
4900 * widget.h (EmacsFrameSetCharSize_): Prototype.
4901
4902 * sysdep.c (random, srandom): Declare explicitly.
4903
4904 * dispextern.h (move_it_vertically_backward): Declare.
4905
85fe3b5e
GM
49062001-01-04 Gerd Moellmann <gerd@gnu.org>
4907
0f2ac578
GM
4908 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4909 like in Fx_create_frame.
4910
482cca61
GM
4911 * xfaces.c (set_font_frame_param): Don't do anything for
4912 non-graphical frames.
4913
85fe3b5e
GM
4914 * window.c (Fdelete_other_windows): Set window's window_end_valid
4915 to nil when changing the window's start. Don't change the
4916 window's start when its top position hasn't changed. If we do,
4917 this will set the window's optional_new_start, which act's like a
4918 force_start during redisplay with C-x 1 M-> under particular
4919 circumstances (see report from Per Starback to emacs-pretest-bug
4920 from 2000-12-13.).
4921
3e99d3b4
GM
49222001-01-03 Gerd Moellmann <gerd@gnu.org>
4923
a77dc1ec
GM
4924 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4925 short cut at the start of the function. Add an assertion.
4926 (reseat_at_next_visible_line_start): Add an assertion.
4927
2f3cad6c
GM
4928 * window.c (Frecenter): When changing the window start, set the
4929 window's window_end_valid to nil.
4930 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4931
4932 * dispextern.h (move_it_past_eol): Add prototype.
4933
4934 * xdisp.c (move_it_past_eol): New function.
4935
3e99d3b4
GM
4936 * window.c (Fwindow_end): Doc fix.
4937
49382001-01-03 Dave Love <fx@gnu.org>
4939
52283633 4940 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4941
bafb434c
GM
49422001-01-03 Gerd Moellmann <gerd@gnu.org>
4943
4944 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4945 the enabled_p flag of the glyph row at window_end_vpos to 0.
4946 (handle_single_display_prop): Fix last change.
4947
5297fb00
RS
49482001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4949
4950 * window.c (Frecenter): Doc fix.
4951
13d6a61c
AI
49522001-01-02 Andrew Innes <andrewi@gnu.org>
4953
4954 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4955
4956 * frame.h (output_method): Add output_w32_console method.
4957 (FRAME_W32_CONSOLE_P): New macro.
4958
4959 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4960 use output_w32_console method.
4961 (Qw32_console): New Lisp_Object.
4962 (Fframep): Return it.
4963 (syms_of_frame): Init it.
52283633 4964 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4965
4966 * xfaces.c (realize_default_face): Set face foreground and
4967 background to unspecified for w32_console frames.
4968 (realize_face): Realize face cache for w32_console frames.
4969 (realize_tty_face): Accept w32_console frames.
4970
52283633 4971 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4972 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4973 necessary, even if running interactively.
4974
4975 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4976 w32_console frames.
4977
52283633
SM
4978 * w32term.c (x_update_begin):
4979 (x_update_end):
4980 (x_clear_frame):
4981 (x_ins_del_lines):
4982 (x_change_line_highlight):
4983 (x_delete_glyphs):
4984 (w32_ring_bell):
4985 (x_update_begin):
4986 (x_update_end):
4987 (w32_reassert_line_highlight):
4988 (w32_frame_rehighlight):
13d6a61c
AI
4989 (w32_frame_raise_lower): Do nothing if not w32 frame.
4990
4991 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4992
4993 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4994 system doesn't tell us directly.
4995 (Fx_display_visual_class): Implement properly.
4996
d6bb0c0d
GM
49972001-01-02 Gerd Moellmann <gerd@gnu.org>
4998
4999 * window.c (Frecenter): Handle centering in graphical frames
5000 specially. Centering on the basis of line counts doesn't work
5001 reliably with variable-height lines.
52283633 5002
315f5865
EZ
50032001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5004
5005 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5006 and al[].
5007
52283633 5008 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5009 (update_compositions): Remove unused variable `hook'.
5010
5011 * intervals.c (get_local_map): Remove unused variable `tem'.
5012
5013 * doprnt.c (doprnt1): Remove unused variable `size'.
5014
5015 * fns.c (Flength): Remove unused variable `tail'.
5016 (Fdelete): Remove unused variable `size'.
5017
5018 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5019 and `gcpro2'.
5020
52283633 5021 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5022
5023 * data.c (find_symbol_value): Remove extra 3rd argument in the
5024 call to swap_in_symval_forwarding.
5025
52283633 5026 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5027
5028 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5029 (trivial_regexp_p): Remove unused variable `c'.
5030 (boyer_moore): Remove unused variable `k'.
5031
5032 * indent.c (current_column): Remove unused variable `stopchar'.
5033 (Fcompute_motion): Remove unused variable `contin'.
5034
5035 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5036
5037 * dired.c (directory_files_internal): Fix a typo in a comment.
5038 Remove an unused variable `handler'.
52283633 5039 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5040 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5041 on BSD4_2.
5042
52283633 5043 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5044
5045 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5046 and `buf'.
5047 (Fmarker_insertion_type): Remove unused variable `buf'.
5048
5049 * insdel.c (make_gap): Remove unused variable `result'.
5050
52283633 5051 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5052 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5053 (menu_bar_items): Remove unused function-scope variable `tem'.
5054
5055 * fontset.c (fontset_ref): Remove unused variable `i'.
5056 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5057 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5058 (make_fontset_for_ascii_face): Remove unused variable `name'.
5059 (fs_load_font): Remove unused variable `font_idx'.
52283633 5060 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5061 (list_fontsets): Remove unused variable `tail'.
5062 (Fnew_fontset): Remove unused variables `family' and `registry'.
5063 (accumulate_font_info): Remove unused variable `tmp'.
5064 (Ffontset_font): Remove unused variable `id'.
5065 (syms_of_fontset): Remove unused variable `i'.
5066
5067 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5068 to x_term_init.
5069 (lookup_image): Remove unused variable `file'.
5070 (xbm_load): Remove unused variables `bitmap_data', `height', and
5071 `width'. Remove function-local variable `i', leave the
5072 block-local one.
5073 (gif_load): Remove unused variable `inc'.
5074
52283633 5075 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5076 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5077 leave only the one in the inner block.
5078
5079 * xfaces.c (face_fontset, realize_default_face): Remove unused
5080 variable `fontset'.
5081 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5082
5083 * term.c (encode_terminal_code): Remove unused variable `c'.
5084
5085 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5086 char *' instead of `char *'.
5087
5088 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5089 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5090 (Fchar_category_set): Remove unused variables `val', `charset',
5091 `c1' and `c2'.
5092
52283633
SM
5093 * coding.c (detect_coding_iso2022, setup_coding_system):
5094 Remove unused variable `i'.
315f5865
EZ
5095 (detect_coding_mask): Remove unused variable `idx'.
5096 (detect_coding): Remove unused variable `i'.
5097 (ccl_coding_driver): Remove unused variable `result'.
5098 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5099 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5100 (encode_coding_string): Remove unused variables `gcpro1' and
5101 `saved_coding_symbol'.
5102 (Ffind_coding_systems_region_internal): Remove function-local
5103 variable args[], leave only the block-local one.
5104 (code_convert_region1): Remove unused variable `len'.
5105
5106 * charset.c (char_printable_p): Remove unused variable `chars'.
5107 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5108 (str_to_multibyte): Remove unused variable `c'.
5109
5110 * window.c (size_window): Remove block-local variable `min_size'.
5111
5112 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5113 `header_line_height'.
5114 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5115 enum display_element_type.
5116
1a8a9daf
GM
51172001-01-02 Gerd Moellmann <gerd@gnu.org>
5118
6dde6abc 5119 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5120 statements that call X. Save away the error message in a local copy.
5121
1883b2c6
GM
5122 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5123 the start.
5124
a13be207
GM
5125 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5126 in or at the start of invisible text.
5127
1a8a9daf
GM
5128 * dispnew.c (update_window): Don't check_current_matrix_flags.
5129
3608c0f9
JR
51302001-01-01 Jason Rumney <jasonr@gnu.org>
5131
5132 * w32fns.c (x_figure_window_size): Do not allow new_height and
5133 new_width of frame to override specified values.
5134
abb1acc4
KH
51352000-12-30 Kenichi Handa <handa@etl.go.jp>
5136
52283633 5137 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5138
762a68ec
GM
51392000-12-29 Gerd Moellmann <gerd@gnu.org>
5140
52283633 5141 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5142 (update_window) [GLYPH_DEBUG]: Call it.
5143 (scrolling_window): Prevent including current rows which are below
5144 what's displayed in the window.
5145
5146 * xdisp.c (try_window_reusing_current_matrix)
5147 <new start <= old start>: Disable rows in the current matrix
5148 which are below the window after scrolling.
52283633 5149
762a68ec
GM
5150 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5151 is zero. It's not worth the complexity.
5152 (invisible_text_between_p): Put in #if 0 because unused.
5153
2d5912c1
GM
51542000-12-28 Gerd Moellmann <gerd@gnu.org>
5155
46f6a258
GM
5156 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5157 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5158
89f93679
GM
5159 * keyboard.c (echo_char): If C is an integer, always call
5160 push_key_description. Former code could signal an invalid
5161 character error.
5162
5163 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5164 If set, print multibyte text.
5165 (Fsingle_key_description): Call push_key_description with
5166 FORCE_MULTIBYTE set.
5167 (describe_buffer_bindings): Likewise.
5168
5169 * lisp.h (push_key_description): Add prototype.
5170
c06017fb
GM
5171 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5172 around the call to redisplay_internal.
5173
f1d2ce7f
GM
5174 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5175
2d5912c1
GM
5176 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5177
9371f831
KH
51782000-12-28 Kenichi Handa <handa@etl.go.jp>
5179
5180 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5181 (ccl_driver): New local variable `extra_bytes'.
5182
5183 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5184
52283633
SM
5185 * coding.c (setup_coding_system):
5186 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5187 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5188
0c80628a
KH
51892000-12-28 Kenichi Handa <handa@etl.go.jp>
5190
5191 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5192 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5193 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5194 (decode_composition_emacs_mule): New function.
5195 (decode_coding_emacs_mule): Decode composition sequence by calling
5196 decode_composition_emacs_mule.
5197 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5198 (encode_coding_emacs_mule): Changed from macro to function.
5199 If a text contains compositions, encode them correctly.
0c80628a
KH
5200 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5201 that decoding and encoding are required.
5202
3e32cc27
GM
52032000-12-27 Gerd Moellmann <gerd@gnu.org>
5204
5e25feee
GM
5205 * xfaces.c (PT_PER_INCH): New macro.
5206 (xlfd_point_size): Compute real point size from font's pixel size.
5207 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5208 instead of 72.
5209
892d8fcd
GM
5210 * .gdbinit: Comment out the line pointing to the Lesstif source
5211 directory.
5212
12c8b416
GM
5213 * window.c (Frecenter): Use displayed_window_lines instead
5214 of window_internal_height.
5215
6061fbf0
GM
5216 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5217 instead of x-toolkit-scroll-bars-p.
5218 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5219
5220 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5221 instead of x-toolkit-scroll-bars-p.
5222 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5223
3e32cc27
GM
5224 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5225 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5226 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5227 New variables.
5228 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5229 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5230 (build_frame_matrix_from_leaf_window): Remove unused code.
5231 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5232 redisplay history.
5233 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5234 (update_window) [GLYPH_DEBUG]: Likewise.
5235 (syms_of_display): Defsubr dump-redisplay-history.
5236
31798cfe
GM
52372000-12-23 Gerd Moellmann <gerd@gnu.org>
5238
f717c2ba
GM
5239 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5240 the end of the prompt. Set echo_after_prompt to the offset
5241 of echoptr in echobuf.
5242
aeb2b8fc
GM
5243 * xdisp.c (init_from_display_pos): Pop until the iterator's
5244 stack is empty; there may be frames for stretch or images
5245 on the stack.
5246
31798cfe
GM
5247 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5248 (save_or_restore_current_matrix): New function for the same
5249 purpose, but more efficient.
5250 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5251
f8156156
EZ
52522000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5253
5254 * xdisp.c (syms_of_xdisp): Fix last change.
5255
bdd6d4e8
GM
52562000-12-23 Gerd Moellmann <gerd@gnu.org>
5257
5258 * xdisp.c (syms_of_xdisp): Doc fix.
5259
5260 * xdisp.c (redisplay_window): Remove label restore_buffers;
5261 use finish_scroll_bars instead to make sure that scroll bars
5262 are redeemed. If we don't do this, flickering can result from
5263 scroll bars being destroyed and recreated.
5264
9436cdf9
JR
52652000-12-22 Jason Rumney <jasonr@gnu.org>
5266
5267 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5268 in the wrong colors when the foreground is not black.
5269 (expose_window): Don't redraw the window that's currently being
5270 updated.
5271
951f9df5
GM
52722000-12-22 Gerd Moellmann <gerd@gnu.org>
5273
856ff7a7
GM
5274 * window.c (size_window): When setting the window's too_small_ok
5275 flag, compare old size with minimum size depending on WIDTH_P,
5276 don't compare with window_min_width.
52283633 5277
951f9df5
GM
5278 * window.c (delete_window): Simplify somewhat.
5279 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5280 freeing window matrices. The flag windows_or_buffers_changed is
5281 set, so the next redisplay will consider all windows; this should
5282 suffice.
5283
886bc933
KH
52842000-12-22 Kenichi Handa <handa@etl.go.jp>
5285
5286 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5287
5288 * ccl.h (struct ccl_program): New member cr_consumed.
5289
5290 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5291 (CCL_READ_CHAR): Handle EOL conversion here.
5292 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5293
177f4e88
GM
52942000-12-21 Gerd Moellmann <gerd@gnu.org>
5295
52283633 5296 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5297
5298 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5299 otherwise tabs of different size compare equal.
5300
5301 * callint.c (Fcall_interactively): Prevent a compiler warning.
5302
5303 * print.c (print_unwind): Return nil.
5304 (PRINTDECLARE): Initialize all local variables.
5305 (print_preprocess): Add a default case.
5306
8e15274f
GM
5307 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5308
5309 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5310
52283633 5311 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5312 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5313
5314 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5315
5316 * dispnew.c (ensure_frame_matrix): Removed.
5317 (save_frame_matrix, restore_frame_matrix): New functions.
5318 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5319
5320 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5321 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5322
99012074
AI
53232000-12-21 Andrew Innes <andrewi@gnu.org>
5324
5325 * w32term.c (x_update_begin): Regenerate the palette here, rather
5326 than for each window.
5327
5328 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5329 palette is NULL, since this corrupts memory! Also get
5330 display_info reference from frame.
5331
29ef7d2d
JR
53322000-12-21 Jason Rumney <jasonr@gnu.org>
5333
5334 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5335
5336 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5337 to avoid returning without releasing it.
3e27fa1f 5338
3f9d67a6
KH
53392000-12-21 Kenichi Handa <handa@etl.go.jp>
5340
587fc3f9
KH
5341 * keymap.c (push_key_description): Don't convert eight-bit-control
5342 and eight-bit-graphic to multibyte character.
5343
3f9d67a6
KH
5344 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5345 generic character and CODE1 is nil, return the smallest character
5346 in CHARSET.
5347
774ba8c9
DL
53482000-12-20 Dave Love <fx@gnu.org>
5349
5350 * s/osf5-0.h (NSIG): Don't redefine.
5351
88416888
SM
53522000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5353
5354 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5355 excluding menu-bar and tool-bar.
5356 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5357 (menu_item_p): Remove.
5358 (where_is_internal_1): Don't ignore menu-items.
5359
a6426c6f
GM
53602000-12-20 Gerd Moellmann <gerd@gnu.org>
5361
03ff8aab
GM
5362 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5363 into account.
5364
5365 * window.c (make_window): Initialize window's min_hscroll.
5366 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5367 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5368 to zero.
5369 (struct saved_window): New member min_hscroll.
5370 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5371 (Fset_window_configuration): Set window's min_hscroll.
5372 (save_window_save): Save window's min_hscroll.
5373 (compare_window_configurations): Compare min_hscroll values.
5374
5375 * window.h (struct window): New member min_hscroll.
5376
5377 * keyboard.c (echo_prompt): Prevent a compiler warning.
5378
8de4aaf8
GM
5379 * xdisp.c (try_cursor_movement): Fix last change. The real
5380 condition is that PT is at the end of the row, and should
5381 be displayed at the start of the next row.
52283633 5382
3f7e3031
GM
5383 * xdisp.c (try_cursor_movement): If we end on a partially
5384 visible line, end we already decided to scroll, return -1.
5385
a6426c6f
GM
5386 * dispextern.h (ensure_frame_matrix): Add prototype.
5387
5388 * window.c (delete_window, Fsplit_window)
5389 (Fset_window_configuration): Call ensure_frame_matrix.
5390
52283633
SM
5391 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5392 New functions.
a6426c6f
GM
5393 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5394 completed, call fake_current_matrices instead of marking frame
5395 garbaged.
5396
57fa2774
JR
53972000-12-20 Jason Rumney <jasonr@gnu.org>
5398
5399 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5400
d925df90
EZ
54012000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5402
5403 * fns.c (Frequire): Doc fix.
5404
7b93a85b
GM
54052000-12-19 Gerd Moellmann <gerd@gnu.org>
5406
52283633 5407 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5408
c74e645b
GM
5409 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5410 currently displaying a message.
5411
7b93a85b
GM
5412 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5413 xterm.h.
5414 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5415
90d97e64
AI
54162000-12-18 Andrew Innes <andrewi@gnu.org>
5417
5418 * w32.c (w32_strerror): New function.
5419
5420 * w32.h (w32_strerror): New extern.
5421
5422 * w32fns.c (Fw32_shell_execute): Use it.
5423
91c9e6ce
GM
54242000-12-18 Gerd Moellmann <gerd@gnu.org>
5425
5426 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5427
6f4745e2
EZ
54282000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5429
5430 * msdos.c (IT_set_face): Obey inverse_video.
5431
c9e088ce
KH
54322000-12-18 Kenichi Handa <handa@etl.go.jp>
5433
5434 * dired.c (directory_files_internal): Always return decoded filenames.
5435
c3695f5f
GM
54362000-12-18 Gerd Moellmann <gerd@gnu.org>
5437
52d8e4ff
GM
5438 * xterm.c (x_connection_closed): Prevent being called recursively
5439 because of an error condition in XtCloseDisplay.
52283633 5440
62be9979
GM
5441 * xdisp.c (init_iterator): If noninteractive, and the frame's
5442 face cache is null, make one.
5443
52283633 5444 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5445
c3695f5f
GM
5446 * process.c (wait_reading_process_input): Check for pending
5447 input when running timers.
5448
78555fbe
EZ
54492000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5450
52283633 5451 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5452
b2b36264
KH
54532000-12-18 Kenichi Handa <handa@etl.go.jp>
5454
5455 * process.c (read_process_output): Don't run a filter if the code
5456 decoder produces nothing but carryover.
5457
9c543fbf
AI
54582000-12-17 Andrew Innes <andrewi@gnu.org>
5459
5460 * w32.c (sys_rename): Only check errno against EEXIST, and not
5461 EACCES, when determining whether rename failed because the target
5462 exists. This was resulting in indefinite looping on Windows 9x if
5463 the source file was locked by another process.
5464
5465 * w32fns.c (Ffile_system_info): New function.
5466 (syms_of_w32fns): Defsubr it.
5467
10c2b5a8
GM
54682000-12-17 Gerd Moellmann <gerd@gnu.org>
5469
b0228ace
GM
5470 * window.c (coordinates_in_window): Fix computation for
5471 position on vertical line between mode lines.
5472
10c2b5a8
GM
5473 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5474 Don't alter tip_frame or tip_window.
5475 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5476 was deleted.
5477
c844a81a
GM
5478 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5479 Don't alter tip_frame or tip_window.
5480 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5481 was deleted.
5482
6c825f8e
EZ
54832000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5484
5485 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5486 be consistent with the doc string. Reported by NAKAJIMA Mikio
5487 <minakaji@osaka.email.ne.jp>.
5488
af4bb4c8
KH
54892000-12-16 Kenichi Handa <handa@etl.go.jp>
5490
5491 * xfaces.c (Vface_ignored_fonts): New variable.
5492 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5493 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5494
8062e53a
GM
54952000-12-15 Gerd Moellmann <gerd@gnu.org>
5496
e87b8809
GM
5497 * dispnew.c (update_window): Detect pending input every nth line
5498 updated, i.e. do it depending on real work done, and not on the
5499 vpos of the line.
5500
5501 * xterm.c (expose_window): Don't redraw the window that's
5502 currently being updated.
5503
a6768cc5
GM
5504 * window.c (Fset_window_point): Remove test for
5505 cursor_in_non_selected_windows.
5506
4ea7fdca
GM
5507 * lread.c (read1): Recognize end of file after `\\'.
5508
8062e53a
GM
5509 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5510 not unwind_create_frame.
5511
bb7959c1
GM
55122000-12-15 Dave Love <fx@gnu.org>
5513
5514 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5515 bcopy & al.
5516
5517 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5518
ced04c42
KH
55192000-12-15 Kenichi Handa <handa@etl.go.jp>
5520
c5443913
KH
5521 * coding.c (setup_coding_system): Clear all members of the struct
5522 coding_system at first.
bc137305
KH
5523 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5524 argument.
5525 (code_convert_region): Don't override coding->src_multibyte and
5526 coding->dst_multibyte.
c5443913 5527
ced04c42
KH
5528 * fns.c (Fmd5): Docstring improved.
5529
c2d7f289
MB
55302000-12-15 Miles Bader <miles@gnu.org>
5531
5532 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5533 are actually marked as mode-lines; otherwise use
5534 estimate_mode_line_height.
5535
9d7d9263
GM
55362000-12-14 Gerd Moellmann <gerd@gnu.org>
5537
5538 * editfns.c (Fformat): Prevent a buffer overrun when the format
5539 specifies a precision.
5540
7cf0153a
EZ
55412000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5542
5543 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5544 argument is outside the range [2..3].
5545
1de0f662
AI
55462000-12-14 Andrew Innes <andrewi@gnu.org>
5547
5548 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5549 nothing to do. Bind inhibit-quit.
5550 (tip_frame): Make it a Lisp_Object.
5551 (x_create_tip_frame): Set tip_frame after it has been added to
5552 Vframe_list.
5553 (Fx_show_tip): Don't set tip_frame here.
52283633 5554 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5555 (unwind_create_frame, unwind_create_tip_frame): New functions.
5556 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5557 while a frame is only partially constructed.
5558
5559 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5560 (x_free_frame_resources): New function.
5561 (x_destroy_window): Use it.
5562
02387dcc
GM
55632000-12-14 Gerd Moellmann <gerd@gnu.org>
5564
5565 * xfns.c (Fx_backspace_delete_keys_p): New function.
5566 (syms_of_xfns): Defsubr it.
5567
5568 * config.in (HAVE_XKBGETKEYBOARD): Add.
5569
0544ef49
KH
55702000-12-14 Kenichi Handa <handa@etl.go.jp>
5571
98d62747
KH
5572 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5573 Always store string in multibyte representation in echobuf.
5574 (echo_char): Always store string in multibyte representation in
5575 echobuf.
5576 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5577 (read_key_sequence): Adjusted for the change of echo_prompt.
5578
a20193cd
KH
5579 * fns.c (Fmd5): Docstring improved.
5580
191b83b6
KH
5581 * lisp.h (detect_coding_system): Prototype adjusted.
5582
0544ef49
KH
5583 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5584 (detect_coding_emacs_mule, detect_coding_iso2022,)
5585 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5586 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5587 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5588 (detect_coding_mask, detect_coding_system): New argument
5589 MULTIBYTEP. Callers changed.
1da1bb05
KH
5590 (decode_coding_string): Set coding->src_multibyte and
5591 coding->dst_multibyte before calling detect_coding and detect_eol.
5592 Update them after some coding system is detected.
52283633 5593
d5b3eb1b
SM
55942000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5595
5596 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5597
5598 * keyboard.c (menu_bar_items, tool_bar_items):
5599 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5600
f7f8bb69
GM
56012000-12-13 Gerd Moellmann <gerd@gnu.org>
5602
52283633 5603 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5604 New variables.
5605 (unwind_create_frame, unwind_create_tip_frame): New functions.
5606 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5607 while a frame is only partially constructed.
5608
5609 * xterm.h (x_free_frame_resources): Declare.
5610
5611 * xterm.c (x_free_frame_resources): New function.
5612 (x_destroy_window): Use it.
5613
e10da507
GM
5614 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5615 don't interrupt the update for pending input initially, i.e.
5616 update at least some lines.
5617
5618 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5619
d5b3eb1b 5620 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5621
5622 * xfns.c (gray_bitmap_bits): Declare `char *'.
5623
90aa2856
GM
56242000-12-12 Gerd Moellmann <gerd@gnu.org>
5625
5626 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5627 lines start with a relief line.
5628
a308c9cd
DL
56292000-12-12 Dave Love <fx@gnu.org>
5630
5631 * window.c (Fdisplay_buffer): Doc fix.
5632 (Fwindow_list): Remove unused var.
5633
5634 * buffer.h (mmap_set_vars): Declare.
5635
5636 * window.h (Fset_window_point): Declare.
5637
d575011f
EZ
56382000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5639
bf6282d2 5640 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5641 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5642 variable `area'. When looking for a row under (X,Y), give up if some
5643 of the previous rows is not enabled.
d575011f 5644
ecf4d726
GM
56452000-12-12 Gerd Moellmann <gerd@gnu.org>
5646
2ebf6139
GM
5647 * window.c (Fset_window_point): If displaying cursors in windows
5648 other than the selected window, make sure redisplay updates
5649 other windows to show the new value of point in the window.
5650
5651 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5652
bfdb75ee
GM
5653 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5654 the buffer is the sole visible buffer when in the mini-buffer.
5655
52283633 5656 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5657 Bind `inhibit-read-only' to t.
5658 (unwind_with_echo_area_buffer): Use AREF.
5659
c0006262
GM
5660 * xfns.c (Fx_hide_tip): Simplified.
5661
52283633
SM
5662 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5663 instead of `1'.
e9a59cad 5664
ecf4d726
GM
5665 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5666
e5959a9a
GM
56672000-12-11 Gerd Moellmann <gerd@gnu.org>
5668
a3642e49 5669 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5670
44b5a125
GM
5671 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5672 nothing to do. Bind inhibit-quit.
5673 (tip_frame): Make it a Lisp_Object.
5674 (x_create_tip_frame): Set tip_frame after it has been added to
5675 Vframe_list.
5676 (Fx_show_tip): Don't set tip_frame here.
5677
5678 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5679
5680 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5681 Lisp_Object.
5682
5683 * dispextern.h: Change external declaration of tip_frame.
5684
d990421f
GM
5685 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5686 return an empty string.
5687
4db87380
GM
5688 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5689 of the window's update_mode_line flag, since the former is set by
5690 force-mode-line-update, not the latter. This makes
5691 column-number-mode slightly faster.
52283633 5692
e5959a9a
GM
5693 * xdisp.c (try_window_id) <all changes above window start>:
5694 Set the cursor.
5695
169fe44e
GM
56962000-12-11 Paul Eggert <eggert@twinsun.com>
5697
5698 * config.in (HAVE_FTELLO): Remove.
5699 (HAVE_FSEEKO): Add.
5700 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5701 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5702 HAVE_FTELLO.
5703 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5704 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5705
59ec59ae
MB
57062000-12-11 Miles Bader <miles@gnu.org>
5707
5708 * window.c (displayed_window_lines): Don't round up when
5709 converting empty space at bottom to lines.
ff904dd6
MB
5710 Handle non-newline-terminated final lines properly.
5711 (Fwindow_text_height): New function (used to be in lisp).
5712 (syms_of_window): Initialize it.
59ec59ae 5713
42ebfa31
SM
57142000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5715
5716 * syntax.c (scan_lists): Check that the right quote char has the
5717 right Sstring syntax when jumping over strings.
5718 (init_syntax_once): Use Smax rather than 13.
5719
5cdb3cf3
MB
57202000-12-09 Miles Bader <miles@gnu.org>
5721
5722 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5723 with PARTIALLY, inverting the sense.
5724 (window_scroll_pixel_based): Scroll partially visible lines into
5725 place if we hit the beginning or end of the buffer.
a12167c5
MB
5726 (displayed_window_lines): Don't include partially visible lines.
5727 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5728
842b2a94
GM
57292000-12-08 Gerd Moellmann <gerd@gnu.org>
5730
5731 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5732
5733 * tparam.c (tparam1): Change the way buffers are reallocated to be
5734 portable and less obfuscated.
5735
5736 * termcap.c (tgetent): Change the way buffers are reallocated to
5737 be portable and less obfuscated.
5738
5739 * macros.c (store_kbd_macro_char): Change the way buffers are
5740 reallocated to be portable and less obfuscated.
5741
5742 * lread.c (read1): Change the way buffers are reallocated to be
5743 portable and less obfuscated.
5744
5745 * doc.c (Fsubstitute_command_keys): Change the way buffers
5746 are reallocated so that it is portable.
5747
137cad7c
EZ
57482000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5749
5750 * dosfns.c (Ffile_system_info): New function.
5751 (syms_of_dosfns): Defsubr it.
5752
5c7f629c
SM
57532000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5754
5755 * alloc.c (gc_sweep): Add comment.
5756
959e647d
GM
57572000-12-07 Gerd Moellmann <gerd@gnu.org>
5758
52283633
SM
5759 * sound.c (vox_configure): Change order of ioctls.
5760 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5761 Ignore errors when changing volume.
5762 (vox_close): Don't reset the device.
5763
926b7e5e
GM
5764 * process.c (read_process_output): Make sure the process marker's
5765 position is valid when the process buffer is changed in
5766 after-change functions. W3 does that.
52283633 5767
959e647d
GM
5768 * xfns.c (x_free_gcs): New function.
5769
5770 * xterm.h (x_free_gcs): Add prototype.
5771
5772 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5773 freeing GCs here.
5774
5775 * xterm.c (x_destroy_window): Call x_free_gcs so that
5776 resources of non-toolkit X windows will be freed.
5777
478ea067
AI
57782000-12-07 Andrew Innes <andrewi@gnu.org>
5779
5780 * w32fns.c (xlfd_charset_of_font): Fix last change.
5781
fbee3231
DL
57822000-12-06 Dave Love <fx@gnu.org>
5783
67292061
DL
5784 * md5.h (__P): Don't define -- it comes from config.h.
5785
fbee3231
DL
5786 * strftime.c: Change some #if foo to #ifdef foo.
5787
4ee87dbb
AI
57882000-12-06 Andrew Innes <andrewi@gnu.org>
5789
5790 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5791
52283633 5792 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5793 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5794 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5795
9765b4a4
GM
57962000-12-06 Gerd Moellmann <gerd@gnu.org>
5797
d285b373
GM
5798 * alloc.c (gc_sweep): Prevent symbols read during loadup
5799 from being freed.
5800
384333ee
GM
5801 * xdisp.c (underlying_face_id): New function.
5802 (handle_face_prop, face_before_or_after_it_pos): Use it
5803 to determine the face ``under'' a string. Let strings inherit
5804 the face of the buffer under them.
5805
5806 * xfaces.c (face_at_string_position): Update function comment.
52283633 5807
d4b72d58
GM
5808 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5809 matrix if the window's left position has changed; we need to
5810 redraw it in this case.
5811
5812 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5813
e1d05387
GM
5814 * window.c (coordinates_in_window): Check mouse on mode-line or
5815 header-line first.
5816
eb1b0c74
GM
5817 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5818 advertized by the function documentation.
5819
d94d636f
GM
5820 * window.c (syms_of_window): Doc fix.
5821
3887b449
GM
5822 * sound.c (vox_configure): Set volume for left and right channel.
5823 (sound_cleanup): Return nil.
5824
efc8f57a
GM
5825 * xdisp.c (move_it_by_lines): Fix paren typo.
5826
9765b4a4
GM
5827 * xterm.c (x_load_font): Don't use the font's max_bounds for
5828 computing the height of the font. If max_bounds' ascent or
5829 descent are greater than the font's ascent or descent, this means
5830 glyphs overlap, which should be handled now by redisplay.
5831
6529ed87
GM
5832 * window.c (Veven_window_heights): New variable.
5833 (syms_of_window): DEFVAR_LISP it.
5834 (Fdisplay_buffer): Check Veven_window_heights before evening the
5835 window heights.
52283633 5836
0eb2ecde
MB
58372000-12-06 Miles Bader <miles@gnu.org>
5838
5839 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5840 update `default-frame-alist' instead of setting no frame parameters.
5841
03d7a167
KH
58422000-12-06 Kenichi Handa <handa@etl.go.jp>
5843
5844 * composite.c (update_compositions): Fix typo (use the correct
5845 variable).
5846
5f8803c2
JR
58472000-12-05 Jason Rumney <jasonr@gnu.org>
5848
5849 * md5.h: Remove underscores from function declarations.
5850 (__attribute__, __alignof__) [!__GNUC__]: Define.
5851
5852 * md5.c: Delay include of md5.h until after namespace cleaning.
5853
c28a075b
JR
5854 * makefile.w32-in (fns.o): Depend on md5.h
5855 (md5.o): New target.
5856 (sunfns.o): Remove.
5857
5858 * makefile.nt: Likewise.
5859
ff3c7056
JR
58602000-12-05 Jason Rumney <jasonr@altavista.net>
5861
5862 * w32term.c (expose_area): Complete last change.
5863
0c21eeeb
KR
58642000-12-05 Ken Raeburn <raeburn@gnu.org>
5865
5866 * minibuf.c: Include intervals.h.
5867
f201d732
JR
58682000-12-05 Jason Rumney <jasonr@gnu.org>
5869
5870 * w32term.c (x_produce_glyphs): If a font for a component of
5871 a composition is not found, use 1 pixel dot ascent and 0 dot
5872 descent value to avoid displaying terribly tall empty boxes.
5873 (expose_area): Pass x-coordinate relative to the exposed
5874 area to x_draw_glyphs instead of a window-relative coordinate.
5875
21999ab9
GM
58762000-12-05 Gerd Moellmann <gerd@gnu.org>
5877
4d2036e4
GM
5878 * xdisp.c (next_element_from_ellipsis): Save face before selective
5879 display in saved_face_id, and set face_before_selective_p.
5880 (reseat_1): Reset face_before_selective_p.
5881 (append_space, extend_face_to_end_of_line): If iterator's
5882 face_before_selective_p is set, use the face from saved_face_id.
5883 (extend_face_to_end_of_line): For tty frames, make sure to
5884 use the right face id when producing spaces at the end of
5885 the line.
5886
5887 * dispextern.h (struct it): Add face_before_selective_p.
5888
52be17cc
GM
5889 * keyboard.c (record_char): Don't record identical help-echo
5890 events in recent_keys.
5891
8a4f36cc
GM
5892 * xterm.c [USE_X_TOOLKIT]: Close the display.
5893 (xim_close_dpy): Handle case that the display has been closed.
5894
57d6e381
GM
5895 * xterm.c (x_destroy_window): Reset the frame's X window after
5896 destroying it.
5897
21999ab9
GM
5898 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5899 variable window_width.
5900 (line_draw_cost): Fix code skipping over spaces at the end of the
5901 line when must_write_spaces is not set.
5902 (scrolling_window): Fix code inserting runs in list of all runs.
5903
91372bb7
KH
59042000-12-05 Kenichi Handa <handa@etl.go.jp>
5905
5906 * coding.c (setup_coding_system): Be sure to initialize
5907 coding->category_idx.
5908
6c083b4c
GM
59092000-12-04 Gerd Moellmann <gerd@gnu.org>
5910
0c68ce6f 5911 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5912
6452929e
GM
5913 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5914 area to x_draw_glyphs instead of a window-relative coordinate.
5915
d7f31e22
GM
5916 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5917 error in the message.
5918
ae18aa3b
GM
5919 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5920 timer after having read a key. It's not good for code reading
5921 several keys in a loop, like an input method.
5922
caa15ef7
GM
5923 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5924 record undo information for format-decode.
5925
5926 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5927 current buffer is read-only, not if it isn't.
5928
6c083b4c
GM
5929 * keyboard.c (record_char): Record `help-echo' input events
5930 in recent_keys only if they display some help. Don't record
5931 `help-echo' events as macro char.
5932
caa15ef7
GM
59332000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5934
5935 * editfns.c (save_excursion_restore): Don't move point
5936 in another window if it is showing the wrong buffer.
5937 Avoid the call to Fwindow_live_p, for speed.
5938
5a13529b
KH
59392000-12-04 Kenichi Handa <handa@etl.go.jp>
5940
e225faa7
KH
5941 * xfaces.c (struct font_name): New member registry_priority.
5942 (split_font_name): Initialize the above member to zero.
5943 (concat_font_list): New function.
5944 (font_list): Include fonts of all alternative registries.
5945 (FONT_POINT_SIZE_QUANTUM): New macro.
5946 (better_font_p): Ignore point size difference less than
5947 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5948
e89648b4
KH
5949 * xterm.c (x_produce_glyphs): If a font for a component of
5950 a composition is not found, use 1 pixel dot ascent and 0 dot
5951 descent value to avoid displaying terribly tall empty boxes.
5952
5a13529b
KH
5953 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5954
d7935eb6
KR
59552000-12-03 Ken Raeburn <raeburn@gnu.org>
5956
5957 * coding.h (code_convert_string1): Declare.
5958
5959 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5960
52283633 5961 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5962
0dd5e255
JR
59632000-12-02 Jason Rumney <jasonr@gnu.org>
5964
5965 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5966 correctly for single byte character case.
5967 (w32_per_char_metric): Do not try to make any assumptions about
5968 the metrics of BDF fonts.
250cfece 5969 (x_estimate_mode_line_height): If `mode-line' face
52283633 5970 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5971 (note_mouse_highlight): Change the cursor shape on the vertical
5972 border between windows [not enabled].
5973
5974 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5975
5976 * w32fns.c (Fx_create_frame): Reintroduce the call to
5977 face-set-after-frame-defaults.
5978 (Vx_window_horizontal_drag_shape): New variable.
5979 (syms_of_xfns): DEFVAR_LISP it.
5980 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5981 enabled].
0dd5e255 5982
b5d8d2ca
GM
59832000-12-02 Simon Josefsson <simon@josefsson.org>
5984
5985 * fns.c (Fmd5): Use a different logic to decide the coding system
5986 to use.
5987
5988 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5989
fbb87147
EZ
59902000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5991
52283633 5992 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5993
447e9da0
GM
59942000-12-01 Gerd Moellmann <gerd@gnu.org>
5995
7708ced0
GM
5996 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5997 height for YNegative.
5998 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5999 height; also see comment there.
6000
447e9da0
GM
6001 * window.c (coordinates_in_window): Handle computations for
6002 positions on the vertical bar and fringes differently for
6003 window-system frames. Consider some pixels near the vertical bar
6004 as on the bar if the frame doesn't have vertical scroll bars.
6005 Associate positions between mode or header lines with the
6006 right window, the left one.
6007
86d1db20
JR
60082000-12-01 Jason Rumney <jasonr@gnu.org>
6009
6010 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6011
6012 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6013 invalid frame.
6014
a1d58e5b
GM
60152000-12-01 Gerd Moellmann <gerd@gnu.org>
6016
52283633 6017 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6018 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6019 (save_window_save, Fset_window_configuration): Save/restore
6020 window's orig_top and orig_height.
6021
89c609af
JR
60222000-12-01 Jason Rumney <jasonr@gnu.org>
6023
4d177746 6024 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6025
89c609af
JR
6026 * w32fns.c (x_set_cursor_color): Fix last change.
6027
eccc05db
GM
60282000-11-30 Gerd Moellmann <gerd@gnu.org>
6029
31b6671b
GM
6030 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6031 sure that the next redisplay displays the minibuffer, so that
6032 the cursor will be replaced with what the minibuffer wants.
6033
eccc05db
GM
6034 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6035 #ifndef instead of using #if.
6036 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6037 USE_TOOLKIT_SCROLL_BARS is defined.
6038
162de750
JR
60392000-11-30 Jason Rumney <jasonr@gnu.org>
6040
6041 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6042 x_display_cursor.
6043
693c4692
GM
60442000-11-30 Gerd Moellmann <gerd@gnu.org>
6045
6046 * fns.c (Fmd5): Doc fix.
6047
b5d8d2ca 60482000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6049
6050 * fns.c (Fmd5): New function.
6051 (syms_of_fns): Defsubr md5.
6052
6053 * Makefile.in (obj): Add md5.o
6054
b02cd40b
GM
60552000-11-30 Gerd Moellmann <gerd@gnu.org>
6056
edfb795e
GM
6057 * md5.h, md5.c: New files, taken from glibc.
6058
df3aedcf
GM
6059 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6060
b02cd40b 6061 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6062 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6063
8b5176cd
SM
60642000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6065
6066 * eval.c (Frun_hooks): Allow 0 arguments.
6067
346598f1
GM
60682000-11-29 Gerd Moellmann <gerd@gnu.org>
6069
f9396e03
GM
6070 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6071 is over the menu bar widget, say it's not on the frame.
6072
4a967a9b
GM
6073 * xfns.c (Fx_create_frame): Reintroduce the call to
6074 face-set-after-frame-defaults.
6075
346598f1
GM
6076 * eval.c (Fsignal): Reset handling_signal.
6077
222456a1
JR
60782000-11-28 Jason Rumney <jasonr@gnu.org>
6079
6080 * w32menu.c (add_menu_item): Reset menu item text when changing
6081 type to radio button.
6082
8049ddc0
GM
60832000-11-28 Gerd Moellmann <gerd@gnu.org>
6084
346598f1 6085 * xselect.c: Update copyright.
f4f4ee4d 6086
bebe4a2c
GM
6087 * window.c (coordinates_in_window): If on a mode or header line,
6088 but sufficiently close to its start, return ``on vertical
6089 border''. This gives us a way to drag windows horizontally when
6090 using toolkit scroll bars.
6091
6092 * xterm.c (note_mouse_highlight): Change the cursor shape
6093 on the vertical border between windows.
6094
6095 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6096
6097 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6098 (syms_of_xfns): DEFVAR_LISP it.
6099 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6100
8d2c2642
GM
6101 * textprop.c (text_read_only): New function.
6102 (verify_interval_modification): Use it instead of signaling
6103 `text-read-only'. This makes it easier to catch this error
52283633 6104 with a breakpoint.:
8d2c2642 6105
52283633 6106 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6107 not end of line, which includes CR.
6108
5a2bae6c
KH
61092000-11-28 Kenichi Handa <handa@etl.go.jp>
6110
6111 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6112 include no-conversion.
6113
ae31f84d
JR
61142000-11-27 Jason Rumney <jasonr@gnu.org>
6115
6116 * w32fns.c (w32_load_system_font): Always mark font as double byte
6117 if codepage is unicode.
6118
67f1cf4c
GM
61192000-11-27 Gerd Moellmann <gerd@gnu.org>
6120
4a74d071 6121 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6122 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6123
902ae620
GM
6124 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6125 `vertical-line', `mode-line' and `header-line' events.
6126
6127 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6128 of a character, a TAB for instance. This is easier than to set
6129 up the iterator exactly, and it's not a frequent case, so the
6130 additional effort wouldn't really pay off.
6131
c1e279c2
AC
61322000-11-26 Andrew Choi <akochoi@i-cable.com>
6133
67f1cf4c 6134 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6135 init_window_once.
6136
a609568a
JR
61372000-11-25 Jason Rumney <jasonr@gnu.org>
6138
52283633
SM
6139 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6140 Args to window_from_coordinates should be pixel coordinates.
48b21762 6141
a609568a
JR
6142 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6143 redisplay handles them properly.
6144
a658d039
MB
61452000-11-25 Miles Bader <miles@gnu.org>
6146
6147 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6148
d3416cca
JR
61492000-11-24 Jason Rumney <jasonr@gnu.org>
6150
6151 * w32.c (init_environment): Set LANG environment variable based on
6152 locale settings, if not set.
6153
6154 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6155 making tool bar smaller. When clearing the frame, also
6156 clear current matrices. Clear frame when tool bar disappears.
6157 Don't use more lines for the tool-bar than is available.
6158 (x_change_window_heights): New function.
6159
ba193890
GM
61602000-11-24 Gerd Moellmann <gerd@gnu.org>
6161
2be8f184
GM
6162 * xdisp.c (init_from_display_pos): If POS says we're already after
6163 an overlay string ending at POS, make sure to pop the iterator
6164 because it will be in front of that overlay string. When POS is
6165 ZV, we've thereby also ``processed'' overlay strings at ZV.
6166
ba193890
GM
6167 * xfaces.c (lface_from_face_name): Function comment fix.
6168
1862a24e
MB
61692000-11-24 Miles Bader <miles@gnu.org>
6170
6171 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6172 apply `mode-line-inverse-video' -- zero means force display using
6173 the default face, non-zero means display using the specialized face.
6174 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6175
f07fa1b8
KH
61762000-11-23 Kenichi Handa <handa@etl.go.jp>
6177
6178 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6179 hard coded `4'.
6180
2bcdf662
EZ
61812000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6182
6183 * coding.c (decode_coding_emacs_mule): Fix the case of
6184 CODING_EOL_LF, which used uninitialized value of c.
6185
ba8299ff
SM
61862000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6187
6188 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6189
f4117c4d
GM
61902000-11-22 Gerd Moellmann <gerd@gnu.org>
6191
03e757c1
GM
6192 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6193 buffer object.
6194
f4117c4d
GM
6195 * frame.h (struct frame): Replace desired_tool_bar_items,
6196 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6197 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6198
6199 * frame.c (make_frame): Change initialization of tool bar
6200 items accordingly.
6201
6202 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6203 Change references to members deleted from struct frame to use the
f4117c4d
GM
6204 new ones.
6205
6206 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6207 references to members deleted from struct frame to use the new ones.
f4117c4d 6208
52283633 6209 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6210
6211 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6212
6213 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6214 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6215 from struct frame to use the new ones.
6216
f8e2f3f2
MB
62172000-11-23 Miles Bader <miles@gnu.org>
6218
6219 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6220 the face's inverse-video attribute, rather than overriding it.
6221
60e8e0a5
GM
62222000-11-22 Gerd Moellmann <gerd@gnu.org>
6223
6224 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6225 making tool bar smaller.
6226
92dd1b29
DL
62272000-11-22 Dave Love <fx@gnu.org>
6228
6229 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6230
e672fdce
MB
62312000-11-22 Miles Bader <miles@gnu.org>
6232
3a17d6cc
MB
6233 * keyboard.c (Vminibuffer_message_timeout): New variable.
6234 (command_loop_1): Use it to determine message timeout.
6235 (syms_of_keyboard): Initialize it.
6236
60e8e0a5 6237 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6238
e9655d81
KH
62392000-11-22 Kenichi Handa <handa@etl.go.jp>
6240
6241 * sysdep.c: Move the code for declaring h_errno after #include
6242 <netdb.h>.
6243
77270fac
GM
62442000-11-21 Gerd Moellmann <gerd@gnu.org>
6245
cd913aae
GM
6246 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6247 the menu bar when the tooltip is unmapped.
6248
77270fac
GM
6249 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6250 sole visible buffer when we're currently in the mini-buffer, and
6251 give up if so.
52283633 6252
556635d6
JR
62532000-11-21 Jason Rumney <jasonr@gnu.org>
6254
6255 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6256 put on the clipboard.
6257 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6258 copy of what Emacs last put there. If they are the same, do not
52283633 6259 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6260
5b7bde64
MB
62612000-11-22 Miles Bader <miles@gnu.org>
6262
6263 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6264 (syms_of_minibuf): Initialize it.
6265 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6266 to prompt, don't make read-only.
6267
ff23e1dd
GM
62682000-11-21 Gerd Moellmann <gerd@gnu.org>
6269
52283633
SM
6270 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6271 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6272
7aaf4388
GM
6273 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6274
f5f47add 6275 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6276
ff23e1dd
GM
6277 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6278
37c35586
KH
62792000-11-21 Kenichi Handa <handa@etl.go.jp>
6280
6281 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6282 ... #endif scope.
6283
ff9ab414
GM
62842000-11-20 Gerd Moellmann <gerd@gnu.org>
6285
52283633 6286 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6287 screen supports it.
6288
29a01b72
GM
6289 * s/gnu-linux.h: Don't use `#cpu'.
6290
09dfdf85
GM
6291 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6292 not defined in mman.h.
6293
52283633 6294 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6295 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6296 and store an index in the XClientMessageEvent. Storing a
6297 Lisp_Object or pointer can fail on a 64 bit system, since X only
6298 transfers 32 bits.
52283633
SM
6299 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6300
81459ac9
DL
63012000-11-20 Dave Love <fx@gnu.org>
6302
6303 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6304
56c13ae6
GM
63052000-11-20 Gerd Moellmann <gerd@gnu.org>
6306
6307 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6308
495a6df3
KH
63092000-11-20 Kenichi Handa <handa@etl.go.jp>
6310
2bcf3714
KH
6311 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6312 by WIDTH.
6313
495a6df3
KH
6314 * alloc.c (make_string): Fix previous change. Be sure to make
6315 unibyte string correctly.
6316
6d950f4c
GM
63172000-11-19 Gerd Moellmann <gerd@gnu.org>
6318
39b39373
GM
6319 * window.c (Fwindow_list): Change parameter list to be XEmacs
6320 compatible.
6321 (window_list_1): New function.
6322 (window_loop): Use it instead of Fwindow_list.
6323
b95b34e5
GM
6324 * sysdep.c (emacs_ospeed): New variable.
6325 (toplevel): Don't declare ospeed extern.
6326 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6327
6328 * termcap.c (ospeed): Remove.
6329 (tputs) [!emacs]: Remove unused code.
6330 (tgetent): Avoid a compiler warning.
6331
e83dc917
GM
6332 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6333 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6334 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6335
6336 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6337 removed.
6338 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6339 Take the X display as additional argument.
6340 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6341 `Widget' is a pointer type that's not easily stored in Lisp_Object
6342 form in a portable way.
52283633 6343
6d950f4c
GM
6344 * dispnew.c (update_text_area): Fix last change.
6345
e47306e6
GM
63462000-11-18 Gerd Moellmann <gerd@gnu.org>
6347
fb3cd89b
GM
6348 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6349
6350 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6351 clear current matrices.
6352
edaa9aed
GM
6353 * buffer.c (mmap_enlarge): Don't print a message on stderr
6354 if mapping new memory at the end of the existing region fails.
6355
e47306e6
GM
6356 * dispnew.c (update_text_area): Don't skip over equal glyphs
6357 when the last current glyph overlaps the glyph to its right.
6358
509633e3
MB
63592000-11-18 Miles Bader <miles@gnu.org>
6360
6361 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6362 lines that *end* with "..." too (that's the most common case!).
6363
d392e9c5
GM
63642000-11-18 Gerd Moellmann <gerd@gnu.org>
6365
67988445
GM
6366 * xdisp.c (resize_mini_window): Temporarily change to the
6367 mini-window's buffer if necessary.
1bfdbe43 6368
d392e9c5
GM
6369 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6370 the tooltip obscures less text under it.
6371
63722000-11-17 Gerd Moellmann <gerd@gnu.org>
6373
6374 * puresize.h (BASE_PURESIZE): Increase to 700000.
6375
92bb977f
JR
63762000-11-18 Jason Rumney <jasonr@gnu.org>
6377
6378 * w32term.c (w32_draw_bitmap): Use face to set colors.
6379
26fbf20b
DL
63802000-11-17 Dave Love <fx@gnu.org>
6381
6382 * lread.c (Fload): Fix #ifdef for pcc.
6383
100b593b
GM
63842000-11-17 Gerd Moellmann <gerd@gnu.org>
6385
6386 * xdisp.c (pos_visible_p): Compute the default character height
6387 differently.
6388
a288d0d1
GM
63892000-11-16 Gerd Moellmann <gerd@gnu.org>
6390
cac94de6 6391 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6392 knowing the line's height; use the default font's height in that case.
cac94de6 6393
a288d0d1
GM
6394 * xfaces.c (weight_table): Add `demi' with the same meaning as
6395 `demibold'.
6396
981fb6f6
KH
63972000-11-16 Kenichi Handa <handa@etl.go.jp>
6398
2cca872d 6399 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6400 (clear_glyph_row): Delete local static variable null_row.
6401
e5fa381b
JR
64022000-11-15 Jason Rumney <jasonr@gnu.org>
6403
6404 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6405 (w32_alloc_lighter_color): Use new brightness calculations from
6406 xterm.c. Scale delta to be in the range expected by W32.
6407 (w32_draw_relief_rect): Use frame relief colors.
6408
8e42f043
GM
64092000-11-15 Gerd Moellmann <gerd@gnu.org>
6410
6d133d1f
GM
6411 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6412 (Qinhibit_default_face_x_resources): New variable.
6413 (syms_of_frame): Initialize it.
6414 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6415
6416 * xdisp.c (pos_visible_p): Improve function comment.
6417
6418 * lisp.h (BINDING_STACK_SIZE): New macro.
6419
8e42f043
GM
6420 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6421 reading the directory if readdir returns null and errno is EAGAIN
6422 or EINTR.
6423
e8c87124
SM
64242000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6425
6426 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6427 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6428 Set amount_to_scroll to max of dx and scroll_step so that
6429 scroll-conservatively doesn't defeat scroll-step>1.
6430 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6431 scroll-conservatively for line-at-a-time scrolling.
6432
5f0c971d
GM
64332000-11-14 Gerd Moellmann <gerd@gnu.org>
6434
6435 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6436 extra argument.
6437
6438 * xdisp.c (current_mode_line_height, current_header_line_height):
6439 New variables.
6440 (init_xdisp): Initialize them.
6441 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6442 and use exact mode line heights if it is set.
6443
6444 * lisp.h (pos_visible_p): Change prototype.
6445
6446 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6447 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6448 and current_header_line_height first.
52283633
SM
6449 (current_mode_line_height, current_header_line_height):
6450 Declare extern.
5f0c971d 6451
d7361edf
MB
64522000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6453
6454 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6455 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6456 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6457
ee5e440a
MB
64582000-11-14 Miles Bader <miles@gnu.org>
6459
6460 * xterm.c (x_alloc_lighter_color): Include an additive component
6461 too for dark colors, because FACTOR isn't enough.
6462 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6463 New macros.
6464
5ca020fc
GM
64652000-11-13 Gerd Moellmann <gerd@gnu.org>
6466
6467 * keyboard.c (show_help_echo): Call message3_nolog with number of
6468 bytes in the help string as 2nd parameter, instead of the number
6469 of characters.
6470
9d348294
MB
64712000-11-13 Miles Bader <miles@gnu.org>
6472
6473 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6474 (Fload): Use new openp return protocol.
6475 Don't try to use Vload_source_file_function to load .elc files.
6476 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6477 openp return protocol.
6478 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6479
1729bb9a
KH
64802000-11-11 Kenichi Handa <handa@etl.go.jp>
6481
4e677396
KH
6482 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6483
6484 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6485 Defined these macros.
6486 (NLIST_STRUCT): Avoid re-defining it.
6487
1729bb9a
KH
6488 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6489 -I/usr/contrib/X11R6/include.
6490 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6491
a82fe213
JR
64922000-11-10 Jason Rumney <jasonr@gnu.org>
6493
6494 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6495
6496 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6497 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6498
6499 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6500 (Qw32_charset_vietnamese): New symbol.
6501 (xlfd_charset_of_font): New function.
6502 (w32_load_system_font): Use it.
6503 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6504 when Vw32_charset_info_alist is nil to ensure default face always
6505 has font. Use Fcar and Fcdr for safety.
6506 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6507 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6508 pseudo-codepages for special cases.
6509 (w32_to_x_font): New parameter to allow charset portion to be
6510 specified where there is many to one mapping. Callers changed.
6511 (w32_list_fonts): Avoid listing fonts that won't display.
6512
52d89894
GM
65132000-11-10 Gerd Moellmann <gerd@gnu.org>
6514
6515 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6516 (font_list_1): Renamed from font_list.
6517 (font_list): New function, trying alternative registries from
6518 Vface_alternative_font_registry_alist.
6519 (Finternal_set_alternative_font_registry_alist): New function.
6520 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6521 Vface_alternative_font_registry_alist.
6522 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6523
651cd3da
KR
65242000-11-09 Ken Raeburn <raeburn@gnu.org>
6525
6526 * lisp.h (Flooking_at): Declare.
6527
388ac098
GM
65282000-11-09 Gerd Moellmann <gerd@gnu.org>
6529
778fbc46 6530 * dired.c (directory_files_internal): Fix a braino.
52283633 6531
388ac098
GM
6532 * dired.c (directory_files_internal): Add missing GCPRO's.
6533 Some cleanup.
6534
ecaedde1
GM
65352000-11-08 Gerd Moellmann <gerd@gnu.org>
6536
f7eb32aa
GM
6537 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6538 (resize_mini_window): Return quickly if Vresize_mini_window is
6539 nil. Don't return if Vmax_mini_window_height is nil.
6540
6541 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6542 (syms_of_xdisp): Initialize them.
6543 (resize_mini_window): Act according to the setting of
6544 Vresize_mini_window.
6545 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6546
ecaedde1
GM
6547 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6548 scroll bar widget after configuring it, so that it will appear at
6549 the right position from the start.
6550 (XTredeem_scroll_bar): Cleaned up.
6551
3747ef2c
KH
65522000-11-08 Kenichi Handa <handa@etl.go.jp>
6553
6554 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6555 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6556 division by two.
6557
6558 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6559
03391420
DL
65602000-11-07 Dave Love <fx@gnu.org>
6561
7758f1c1 6562 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6563
6564 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6565
b5de343d
GM
65662000-11-07 Gerd Moellmann <gerd@gnu.org>
6567
acad3c0b
GM
6568 * window.c (Fset_window_configuration): Don't try to preserve
6569 point in the current buffer, if that buffer is displayed in more
6570 than one window.
6571
b5de343d
GM
6572 * xfaces.c (lookup_named_face): If default face isn't realized,
6573 try to realize it. Return -1 if not successful.
6574 (Fx_list_fonts): Handle case that face cannot be determined.
6575 (Fface_font): Likewise.
6576
cdb1fe49
GM
65772000-11-06 Gerd Moellmann <gerd@gnu.org>
6578
6579 * window.c (displayed_window_lines): Detect partially
6580 visible lines at the bottom correctly.
6581
d3a67486
SM
65822000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6583
6584 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6585 when ensuring we don't do visit in indirect buffer.
6586
ff8dd5d5
KH
65872000-11-06 Kenichi Handa <handa@etl.go.jp>
6588
6589 * composite.h (compose_chars_in_text): Add prototype.
6590
6591 * composite.c (Vcomposition_function_table): New variable.
6592 (Qcomposition_function_table): New variable.
6593 (run_composition_function): Call
6594 Vcompose_chars_after_function with three arguments.
6595 (compose_chars_in_text): New function.
6596 (syms_of_composite): Modified the doc-string of
6597 Vcompose_chars_after_function. Declare composition-function-table
6598 as a lisp variable, and initialize it.
6599
6600 * xfns.c (x_encode_text): Suppress producing escape sequences for
6601 composition.
6602
6603 * xselect.c: Include composite.h.
6604 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6605
d1145f85
AI
66062000-11-05 Andrew Innes <andrewi@gnu.org>
6607
6608 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6609
6610 * sysdep.c (read_input_waiting): Remove extraneous argument to
6611 read_socket_hook.
6612
6613 * w32fns.c (Fx_server_version): Include w32_build_number in the
6614 return list.
6615
6616 * w32heap.c (w32_build_number): New variable.
6617 (cache_system_info): Set it.
6618
6619 * w32heap.h (w32_build_number): Add extern.
6620
6621 * emacs.c (syms_of_emacs): Update docstring for
6622 system-configuration, to reflect the actual usage on MS-Windows.
6623
e85ee976
GM
66242000-10-31 Gerd Moellmann <gerd@gnu.org>
6625
26dcb81b
GM
6626 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6627 process idle timers while waiting for another event.
6628
52283633 6629 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6630 the default face are colored.
6631
e85ee976
GM
6632 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6633 window height hasn't changed.
6634
01b220b6
JR
66352000-10-31 Jason Rumney <jasonr@gnu.org>
6636
6637 * w32term.c (x_produce_glyphs): Handle composite characters.
6638 (x_draw_glyph_string_foreground)
6639 (x_draw_composite_glyph_string_foreground): Restore old font.
6640
4e6b7204
MB
66412000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6642
6643 * minibuf.c (read_minibuf): Reset the undo history just before
6644 starting the recursive-edit.
6645
d4358b37
GM
66462000-10-30 Gerd Moellmann <gerd@gnu.org>
6647
563f68f1
GM
6648 * xfaces.c (menu_face_change_count): New variable.
6649 (Finternal_set_lisp_face_attribute): Increment it for changes
6650 of the `menu' face.
6651 (realize_basic_faces): Reflect changes in the `menu' faces
6652 in menu bars.
6653
82e274d1
GM
6654 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6655 dy obtained from the iterator's y-position after moving from
6656 scroll_margin_pos to PT; see comment there.
52283633 6657
0dbf9fd2
GM
6658 * xdisp.c (safe_eval_handler): Call add_to_log.
6659
906b3b14
GM
6660 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6661 is not a symbol or string.
6662
d4358b37
GM
6663 * xdisp.c (echo_area_display): Don't perform a display update from
6664 inside redisplay. The update will happen anyway at the end of
6665 redisplay, and it can confuse redisplay (GC messages while
6666 redisplaying, for instance.)
6667
70c825df
SM
66682000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6669
cf9b4b0b
SM
6670 * xrdb.c (x_load_resources): Use the class name in the defaults.
6671
70c825df
SM
6672 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6673 (regex_compile): Catch bogus \(\1\).
6674
a1d34b1e
GM
66752000-10-30 Gerd Moellmann <gerd@gnu.org>
6676
cae71efe
GM
6677 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6678 RGB values.
52283633 6679
35efe0a1
GM
6680 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6681 we have a color cache, check that the cached color equals the
6682 allocated color. If not, clear the color cache.
6683
1d3baf74
GM
6684 * window.c (displayed_window_lines): Change buffers if necessary.
6685 Fix computation of displayed lines.
6686
a1d34b1e
GM
6687 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6688 update_menu_bindings to DEFVAR_BOOL.
6689
70737ea9
KH
66902000-10-30 Kenichi Handa <handa@etl.go.jp>
6691
70c825df 6692 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6693
fa0cb51d
KH
6694 * puresize.h (BASE_PURESIZE): Increase to 680000.
6695
70737ea9
KH
6696 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6697
0e4c08e8
JR
66982000-10-29 Jason Rumney <jasonr@gnu.org>
6699
6700 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6701
6702 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6703 (w32_cache_char_metrics): Handle possibility that 'x' does not
6704 exist in a BDF font.
6705 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6706
6707 * w32bdf.h (bdffont): Add nchars.
6708
6709 * w32bdf.c (set_bdf_font_info): Set it.
6710 (w32_BDF_TextOut): Swap byte order of double byte characters.
6711 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6712
45b84006
EZ
67132000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6714
6715 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6716 don't override the colors in frame's param_alist, unless they are
6717 unspecified.
6718
6719 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6720 reverse the effect of the highlight flag.
6721
caf9deee
KR
67222000-10-27 Ken Raeburn <raeburn@gnu.org>
6723
6724 * window.h (Fwindow_live_p): Declare.
6725
ae0b9b46
KR
6726 * undo.c (record_delete): Check that last_undo_buffer is really a
6727 buffer before applying XBUFFER to it.
6728
6729 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6730 Faref.
6731
02067692
SM
67322000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6733
6734 * lisp.h (KEYMAPP): New macro.
6735 (get_keymap): Remove.
6736 (get_keymap_1): Rename get_keymap.
6737
6738 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6739
6740 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6741
6742 * xmenu.c (single_submenu): Use KEYMAPP.
6743 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6744 Use KEYMAPP rather than Fkeymapp.
6745
6746 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6747
6748 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6749 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6750 Use KEYMAPP rather than Fkeymapp.
6751 (single_submenu): Use KEYMAPP.
6752 (w32_menu_show, w32_dialog_show): Use TRUE.
6753
6754 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6755
6756 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6757 (Fkeymapp): Use KEYMAPP.
6758 (get_keymap): Rename from get_keymap_1. Remove old def.
6759 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6760 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6761 (Fminor_mode_key_binding): Don't raise an error if the binding
6762 is not a keymap.
6763 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6764 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6765
6766 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6767 Allow Vspecial_event_map to be autoloaded.
6768 (menu_bar_items): Fetch the keymap rather than using keymapp.
6769 (menu_bar_one_keymap): No need to follow func-indirect any more.
6770 (parse_menu_item): get_keymap_1 -> get_keymap.
6771 (tool_bar_items): Fetch the keymap rather than using keymapp.
6772 (read_key_sequence): Use KEYMAPP.
6773
6774 * intervals.c (get_local_map): Use get_keymap rather than following
6775 function-indirections explicitly.
6776
6777 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6778
f9d80af3
JR
67792000-10-27 Jason Rumney <jasonr@gnu.org>
6780
6781 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6782 point, as Windows has oversized fonts.
6783
6784 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6785
a3ba27da
GM
67862000-10-27 Gerd Moellmann <gerd@gnu.org>
6787
6788 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6789 (freehook, reallochook): Handle null pointer arguments.
6790 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6791
aa3b80cc
SM
67922000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6793
6794 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6795 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6796 Giving in to popular pressure to shut up the compiler with casts.
6797
e24e84cc
GM
67982000-10-27 Gerd Moellmann <gerd@gnu.org>
6799
6800 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6801 signed value, and use a default value computed from the font's
6802 maximum descent.
6803
05ea7ef2
MB
68042000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6805
6806 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6807 that specify a negative underline position can still use underlines.
6808
6809 * window.c (Fpos_visible_in_window_p): Make POS default to
6810 WINDOW's point, not the current buffer's point.
6811
0b95284b
DL
68122000-10-26 Dave Love <fx@gnu.org>
6813
6814 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6815 when it's necessary.
6816
6c5b90af
GM
68172000-10-26 Gerd Moellmann <gerd@gnu.org>
6818
8b6d9dc9
GM
6819 * window.c (size_window): Compute size difference from sum of old
6820 child window sizes instead of from parent's size.
6821
6bc92b2e
GM
6822 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6823 Handle obscured lines at the top of the window.
6824
6825 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6826 down after the last error condition check.
6827
6c5b90af
GM
6828 * frame.c (Fdelete_frame): Run delete-frame-hook.
6829
42f92d4d
KH
68302000-10-26 Kenichi Handa <handa@etl.go.jp>
6831
6832 * coding.c (decode_coding): Fix previous change (check also
6833 CODING_MODE_LAST_BLOCK).
6834
d97151cb
SM
68352000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6836
e7efc503
SM
6837 * regex.c: More `unsigned char' -> `re_char' changes.
6838 Also change several `int' into `re_wchar_t'.
6839 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6840 (PUSH_FAILURE_POINTER): Don't cast any more.
6841 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6842 We want GCC to complain, since this piece of code makes
6843 re_match non-reentrant, which *should* be fixed.
6844 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6845 (EXTEND_BUFFER): Use RETALLOC.
6846 (SET_LIST_BIT): Don't cast.
6847 (re_wchar_t): New type.
6848 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6849 that those two functions will always properly return.
6850 (IMMEDIATE_QUIT_CHECK): Cast to void.
6851 (analyse_first): Use recursion rather than an explicit stack.
6852 (re_compile_fastmap): Can't fail anymore.
6853 (re_search_2): Don't check re_compile_fastmap for failure.
6854 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6855 Now also sets the new value (passed in a new argument).
6856 (re_match_2_internal): Use it.
6857 Also, use a new var `reg' of type size_t when looping through regs
6858 rather than reuse the inappropriate `mcnt'.
6859
d97151cb
SM
6860 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6861 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6862 (where_is_internal): Renamed from Fwhere_is_internal.
6863 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6864 (Fwhere_is_internal): New function wrapping where_is_internal.
6865 (where_is_internal_1): Handle the case where we're filling the cache.
6866 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6867
d5789b65
MB
68682000-10-25 Miles Bader <miles@gnu.org>
6869
6870 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6871
4ecda532
GM
68722000-10-25 Gerd Moellmann <gerd@gnu.org>
6873
6874 * window.c (pos_fully_visible_p): Removed.
6875 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6876 if position is visible and/or fully visible.
6877
6878 * lisp.h (pos_visible_p): Add prototype.
6879
6880 * xdisp.c (pos_visible_p): New function.
6881
68c3a137
KH
68822000-10-25 Kenichi Handa <handa@etl.go.jp>
6883
6884 * process.c (send_process): If OBJECT is t, it means that the data
6885 is from C string, but we should encode it. Before calling
6886 setup_raw_text_coding_system, be sure to flush out data by the
6887 previous coding system.
6888
7ae1c032
MB
68892000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6890
ff4dcd4b
MB
6891 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6892 assignment of startpos to prev when startpos == pos.
6893
7ae1c032
MB
6894 * editfns.c (find_field): Set the field stickiness correctly from
6895 overlay fields. Use renamed `text_property_stickiness'.
6896 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6897 Only check text properties, not overlays.
7ae1c032
MB
6898 * textprop.c (get_char_property_and_overlay): New function.
6899 (Fget_char_property): Use it.
6900 * intervals.h (get_char_property_and_overlay): Add declaration.
6901
49801145
SM
69022000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6903
6904 * keymap.c: Use AREF, ASET and ASIZE macros.
6905 (Fmake_sparse_keymap): Docstring fix.
6906 (synkey): Remove.
6907 (shadow_lookup): Move up.
6908 Handle the case where lookup-key returns an integer.
6909 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6910 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6911 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6912 Simplify/rewrite the keymap-finding code.
6913 Add check for command shadowing, using shadow_lookup.
6914
39e776cd
SM
69152000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6916
6917 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6918 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6919 a symbol.
6920
2488aba5
AI
69212000-10-24 Andrew Innes <andrewi@gnu.org>
6922
6923 * dired.c (directory_files_internal_unwind): New function.
6924 (directory_files_internal): Use it to ensure closedir is called
6925 even if expand-file-name or file-attributes throw, eg. because of
6926 a user interrupt. Also enable immediate_quit while calling
6927 re_search, so that matching can be interrupted as well.
6928
b94fdf61
AI
69292000-10-24 Andrew Innes <andrewi@gnu.org>
6930
6931 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6932 NT-Emacs only.
6933 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6934 so that re_search functions only quit when callers expect them to.
6935
69362000-10-24 Kenichi Handa <handa@etl.go.jp>
6937
6938 * regex.c (regex_compile): Change the way of handling a range from
6939 a char less than 256 to a char not less than 256.
6940
1946f901
GM
69412000-10-24 Gerd Moellmann <gerd@gnu.org>
6942
7ae2f10f
GM
6943 * window.c (size_window): Prevent setting window's width or
6944 height to a negative value (esp. with XSETFASTINT).
6945
5dcab13e
GM
6946 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6947 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6948 (protect_malloc_state) [GC_MALLOC_CHECK &&
6949 GC_PROTECT_MALLOC_STATE]: New function.
6950 (PROTECT_MALLOC_STATE): New macro.
6951 (__malloc_initialize, morecore, _malloc_internal)
6952 (_free_internal) _realloc_internal): Use it to make _heapinfo
6953 read-only outside of gmalloc.
6954
63e1b552
GM
6955 * keymap.c: Update copyright.
6956
1946f901
GM
6957 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6958 a symbol.
6959
4fa09beb
GM
69602000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6961
6962 * filelock.c (unlock_all_files): Use unlock_file to expand each
6963 buffer's file_truename before trying remove its lock file.
6964
23afac01
EZ
69652000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6966
6967 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6968 or CRLF, decode EOLs.
6969
04448b95
KH
69702000-10-24 Kenichi Handa <handa@etl.go.jp>
6971
6972 * window.c (Fdisplay_buffer): Fix doc.
6973
3090a5a5
JR
69742000-10-23 Jason Rumney <jasonr@gnu.org>
6975
6976 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6977 ASCII font of default fontset on Windows.
6978
6979 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6980 xterm.c comment below).
6981
6982 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6983
a83fee2c
GM
69842000-10-23 Gerd Moellmann <gerd@gnu.org>
6985
6986 * xterm.c (x_connection_closed): Reset handling_signal.
6987
52283633 6988 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6989
6ffdb539
MB
69902000-10-23 Miles Bader <miles@gnu.org>
6991
6992 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6993 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6994 maintain old behavior.
6995 * minibuf.c (Fminibuffer_complete): Likewise.
6996
7f1c969b
MB
69972000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6998
6999 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7000 that when a font can't be exactly centered, it errs up rather than
7001 down.
7002
23afac01 70032000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7004
52283633 7005 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7006
1a578e9b
AC
70072000-10-23 Andrew Choi <akochoi@i-cable.com>
7008
7009 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7010
7011 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7012 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7013
7014 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7015 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7016 syms_of_search, x_term_init, and init_keyboard before calling
7017 init_window_once. Also, call syms_of_xmenu.
7018
7019 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7020 default fontset to Monaco.
7021
7022 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7023 NewMacWindow and DisposeMacWindow.
7024 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7025 instead of calling NewMacWindow and setting fields of
7026 f->output_data.mac directly. Call init_frame_faces.
7027 (Fdelete_frame) [macintosh]: Remove unused code.
7028 (Fmodify_frame_parameters) [macintosh]: Call
7029 x_set_frame_parameters instead of mac_set_frame_parameters.
7030
7031 * frame.h [macintosh]: Define menu_bar_lines field in struct
7032 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7033
7034 * keyboard.c [macintosh]: Include macterm.h.
7035 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7036 and menu_bar_activate_event type events as for X and NT.
7037 (make_lispy_event) [macintosh]: Construct lisp events of type
7038 MENU_BAR_EVENT as for X and NT.
7039
7040 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7041 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7042 (sys_subshell) [macintosh]: Remove definition entirely.
7043 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7044 Vwindow_system_version here. Remove initialization of
7045 Vx_bitmap_file_path.
7046 (read_input_waiting): Correct the number of parameters passed to
7047 read_socket_hook.
7048 Move all Macintosh functions to mac/mac.c.
7049
7050 * term.c [macintosh]: Include macterm.h.
7051
7052 * window.c [macintosh]: Include macterm.h.
7053
7054 * xdisp.c [macintosh]: Include macterm.h. Declare
7055 set_frame_menubar and pending_menu_activation.
7056 (echo_area_display) [macintosh]: Do not return if terminal frame
7057 is the selected frame.
7058 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7059 Allow only the selected frame to set menu bar.
7060 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7061 calling FRAME_EXTERNAL_MENU_BAR (f).
7062 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7063
7064 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7065 and check_x. Declare XCreateGC. Define x_create_gc and
7066 x_free_gc. Initialize font_sort_order.
7067 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7068 but call x_list_fonts instead of w32_list_fonts.
7069 (Finternal_face_x_get_resource) [macintosh]: Do not call
7070 display_x_get_resource.
7071 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7072 (realize_x_face) [macintosh]: Load the font if it is specified in
7073 ATTRS.
52283633 7074 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7075
1ffbabe3
SM
70762000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7077
7078 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7079 is nil: since we go to the end of submap anyway, we'd end up
7080 setting nil to nil.
7081 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7082 doesn't obey autoload.
7083
bed43f1d
EZ
70842000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7085
1ffbabe3 7086 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7087
ea4233a7
JR
70882000-10-21 Jason Rumney <jasonr@gnu.org>
7089
7090 * w32term.c (w32_cache_char_metrics): Double check that font is
7091 really fixed pitch before trusting tmPitchAndFamily.
7092
f3d3c491
AI
70932000-10-21 Andrew Innes <andrewi@gnu.org>
7094
7095 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7096
7097 * w32term.h: Extern decl for w32_cache_char_metrics.
7098
7099 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7100
7101 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7102 (w32_unload_font): Free per_char array if present.
7103
7104 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7105 cached information in emulated XFontStruct to handle common cases
7106 quickly. Do not allocate XCharStruct for return.
7107 (w32_native_per_char_metric): New function.
7108 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7109 allocating one.
7110 (x_produce_glyphs): Don't get an HDC. Change calls to
7111 w32_per_char_metric to match arg change above. Remove calls to
7112 free results.
7113 (w32_get_glyph_overhangs): Ditto.
7114 (w32_cache_char_metrics): New function.
7115
7116 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7117 ($(BLD)/casefiddle.$(O)): Remove compile command.
7118 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7119 ($(BLD)/dispnew.obj):
7120 ($(BLD)/keyboard.obj):
7121 ($(BLD)/w32inevt.obj):
7122 ($(BLD)/w32bdf.obj):
7123 ($(BLD)/alloc.obj):
7124 ($(BLD)/buffer.obj):
7125 ($(BLD)/editfns.obj):
7126 ($(BLD)/emacs.obj):
7127 ($(BLD)/fileio.obj):
7128 ($(BLD)/fns.obj):
7129 ($(BLD)/indent.obj):
7130 ($(BLD)/insdel.obj):
7131 ($(BLD)/intervals.obj):
7132 ($(BLD)/minibuf.obj):
7133 ($(BLD)/print.obj):
7134 ($(BLD)/scroll.obj):
7135 ($(BLD)/sysdep.obj):
7136 ($(BLD)/textprop.obj):
7137 ($(BLD)/widget.obj):
f3d3c491
AI
7138 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7139 ($(BLD)/term.obj): Add dependency on dispextern.h.
7140
52283633
SM
7141 * makefile.nt ($(BLD)\dispnew.obj):
7142 ($(BLD)\keyboard.obj):
7143 ($(BLD)\w32inevt.obj):
7144 ($(BLD)\w32bdf.obj):
7145 ($(BLD)\alloc.obj):
7146 ($(BLD)\buffer.obj):
7147 ($(BLD)\editfns.obj):
7148 ($(BLD)\emacs.obj):
7149 ($(BLD)\fileio.obj):
7150 ($(BLD)\fns.obj):
7151 ($(BLD)\indent.obj):
7152 ($(BLD)\insdel.obj):
7153 ($(BLD)\intervals.obj):
7154 ($(BLD)\minibuf.obj):
7155 ($(BLD)\print.obj):
7156 ($(BLD)\scroll.obj):
7157 ($(BLD)\sysdep.obj):
7158 ($(BLD)\textprop.obj):
7159 ($(BLD)\widget.obj):
f3d3c491
AI
7160 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7161 ($(BLD)\term.obj): Add dependency on dispextern.h
7162
18ad4821
EZ
71632000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7164
7165 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7166 with an additional argument of Qt.
7167
de54681a
MB
71682000-10-21 Miles Bader <miles@gnu.org>
7169
7170 * window.c (pos_fully_visible_in_window_p): New function.
7171 (Fpos_visible_in_window_p): Add FULLY argument.
7172 Use pos_fully_visible_in_window_p.
7173 (window_scroll_pixel_based, window_scroll_line_based): Update
7174 calls to Fpos_visible_in_window_p.
7175 * lisp.h (Fpos_visible_in_window_p): Update prototype
7176
13c844fb
GM
71772000-10-20 Gerd Moellmann <gerd@gnu.org>
7178
7179 * alloc.c (toplevel): Conditionalize compilation of mem_*
7180 functions differently.
52283633 7181
d9506268
JR
71822000-10-20 Jason Rumney <jasonr@gnu.org>
7183
7184 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7185 mem_init where it used to be. mem_z etc not defined otherwise.
7186
8094989b
GM
71872000-10-20 Gerd Moellmann <gerd@gnu.org>
7188
7189 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7190 GC_MALLOC_CHECK.
7191 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7192 structure definition and related variabled to the top of the file.
7193 Include this code when GC_MALLOC_CHECK is defined.
7194 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7195 register/unregister allocated region.
7196 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7197 which isn't allocated.
7198 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7199 something which is already in use.
7200 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7201 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7202 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7203 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7204
7205 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7206 _malloc_internal instead of malloc.
7207 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7208 of free.
7209
ea456eb4
AI
72102000-10-20 Andrew Innes <andrewi@gnu.org>
7211
7212 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7213 Windows.
7214 (my_strftime) <macro>: Don't use macro arg list when redefining as
7215 _strftime_copytm.
7216 (my_strftime) <function>: Supply 0 as ut argument.
7217
e64c3a75
JR
72182000-10-19 Jason Rumney <jasonr@altavista.net>
7219
7220 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7221 including dispextern.h, as it stops faces from working.
7222
7223 * w32fns.c (Fx_create_frame): Don't bother calling
7224 face-set-after-frame-default since the caller does it for us
7225 anyway. Clean up calls to x_get_arg to be consistent with X.
7226
7227 * w32term.c (x_produce_glyphs): Handle
7228 unibyte_display_via_language_environment correctly.
7229 (w32_draw_box_rect): Fix the calculation of width and height.
7230
7231 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7232 as it has stopped working.
7233 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7234 menu-bar.
7235
17401c97
GM
72362000-10-19 Gerd Moellmann <gerd@gnu.org>
7237
7238 * eval.c (skip_debugger): Prevent a compiler warning.
7239 (Fcondition_case): Likewise.
7240 (Fbacktrace_frame): Use a null interactive spec.
7241
773272d8
KH
72422000-10-19 Kenichi Handa <handa@etl.go.jp>
7243
7244 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7245
a42943e9
GM
72462000-10-18 Gerd Moellmann <gerd@gnu.org>
7247
e50517d9
GM
7248 * strftime.c: Sync with glibc, file version 1.78.
7249 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7250 should no longer be used according to ISO 8601.
7251
9035a35a
GM
7252 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7253 no map for meta_prefix_char, don't try to use it as a keymap.
7254 Instead, if T_OK is non-zero, look up a default binding, if any,
7255 otherwise, if T_OK is zero, return nil.
7256
a42943e9
GM
7257 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7258 (x_to_xcolors, png_load): Use x_query_color.
7259
52283633
SM
7260 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7261 New functions.
a42943e9
GM
7262 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7263 which can be slow.
7264 (x_copy_color, x_alloc_lighter_color): Likewise.
7265
7266 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7267 (x_query_color, x_query_colors): Add prototype.
7268
7269 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7270 check_string_bytes only if not noninteractive, increase count to 50.
7271
00de2987
MB
72722000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7273
7274 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7275 markers correctly.
7276
54918e2b
GM
72772000-10-17 Gerd Moellmann <gerd@gnu.org>
7278
1f0b3fd2
GM
7279 * alloc.c (pure_bytes_used): Renamed from pureptr.
7280 (ALIGN): New macro.
7281 (pure_alloc): New function.
7282 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7283 Use it.
7284 (Fpurecopy): Use PURE_POINTER_P.
7285
68c5d1db
GM
7286 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7287 PT has moved backward.
52283633 7288
9a038881
GM
7289 * xdisp.c (cursor_row_p): Take continued lines into account.
7290
361b097f
GM
7291 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7292 string's size_byte.
7293 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7294 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7295 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7296 string allocated.
7297
54918e2b
GM
7298 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7299 of selective display off while searching for the next line start.
7300
03ed0806
KH
73012000-10-17 Kenichi Handa <handa@etl.go.jp>
7302
7303 * Makefile.in (term.o): Depend on dispextern.h.
7304
7e05cdaf
SM
73052000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7306
7307 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7308
a6801fd1
GM
73092000-10-16 Gerd Moellmann <gerd@gnu.org>
7310
483de32b
GM
7311 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7312 the iterator at the beginning, so that they can be set later on,
7313 for instance in reseat_at_next_visible_line_start, without being
7314 overwritten.
7315
a6801fd1
GM
7316 * xfns.c (pbm_format): Add :foreground and :background keywords.
7317 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7318 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7319
dbf1fcc1
EZ
73202000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7321
7322 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7323
52283633 7324 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7325
7326 * msdos.c (IT_set_face): Compare highlighted face with the default
7327 face, and invert colors if these faces' colors are identical.
7328 (Fmsdos_remember_default_colors): Don't swap foreground and
7329 background colors in initial_colors[].
7330 (IT_set_frame_parameters): Don't swap frame's foreground and
7331 background pixels. If ALIST includes "(reverse . t)", swap
7332 foreground-color and background-color properties in frame's
7333 param_alist. If the original frame's param_alist doesn't specify
7334 the colors, store unspecified-fg and unspecified-bg, reversed if
7335 required.
7336
7337 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7338 the colors are unspecified and reversed, reverse fore- and back-
7339 ground in the returned value.
7340 (Fframe_parameter): Ditto.
7341
b41fe2c3 73422000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7343
3a6b59d9
GM
7344 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7345 get_last_unchanged_at_beg_row.
7346 (find_first_unchanged_at_end_row): Renamed from
7347 get_first_unchanged_at_end_row.
7348 (find_first_unchanged_at_end_row): Convert assertions to
7349 unconditional tests which abort. When looking for a row in
7350 unchanged text, don't go further back than first_text_row.
7351
b41fe2c3
GM
7352 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7353 Don't add in the last line's height when deciding if the new
7354 position is below the scroll margin.
9d1af64f 7355
b41fe2c3 73562000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7357
7358 * editfns.c (Fconstrain_to_field): Check carefully for field
7359 boundaries if either OLD_POS or NEW_POS has a non-nil field
7360 property, even if they're the same.
7361
c412cb7b
KH
73622000-10-16 Kenichi Handa <handa@etl.go.jp>
7363
7364 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7365 height for XFillRectangle.
7366
5586f3eb
SM
73672000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7368
7369 * syntax.c (Fstring_to_syntax): New function extracted from
7370 Fmodify_syntax_entry.
7371 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7372 (skip_chars, Fforward_comment): Remove unused variables.
7373 (syms_of_syntax): Add defsubr for string-to-syntax.
7374 (describe_syntax): Add code for comment and string fences.
7375
db785038
SM
73762000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7377
7378 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7379 Do the meta->esc mapping. Call get_keyelt before returning.
7380 Start scanning from the second element (the first is always `keymap')
7381 to make it easier to detect when we reach a parent map.
7382 Handle the case of inheriting from a symbol whose function is a map.
7383 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7384 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7385 (get_keyelt, Flookup_key): Update call to access_keymap.
7386 Remove the meta->esc mappings.
7387 (define_as_prefix): Delete old disabled code.
7388 (menu_item_p): New function.
7389 (where_is_internal_1): Skip over the few remaining menu items.
7390 * lisp.h (access_keymap): Update prototype.
7391 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7392 Update call to access_keymap.
7393 (follow_key, read_key_sequence): Update calls to access_keymap.
7394 Remove the meta->esc mappings.
7395
cafafe0b
GM
73962000-10-13 Gerd Moellmann <gerd@gnu.org>
7397
a2e2a7f6
GM
7398 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7399 with additional argument.
7400
cafafe0b
GM
7401 * xdisp.c (cursor_row_p): New function.
7402 (try_cursor_movement, display_line): Use it.
52283633 7403
cafafe0b
GM
7404 * xdisp.c (append_space): Also save/restore iterator's current
7405 character and its length.
7406
7407 * xdisp.c (init_from_display_pos): Add an assertion.
7408 (handle_stop): Don't set iterator's add_overlay_start.
7409 (handle_invisible_prop): Likewise.
7410 (load_overlay_strings): If text under an overlay is invisible,
7411 take both before- and after-strings into account when the iterator
7412 is positioned either at the start or at the end of the overlay.
7413 (forward_to_next_line_start): Rewritten.
7414 (reseat_at_next_visible_line_start): Rewritten.
7415 (set_iterator_to_next): Add parameter RESEAT_P.
7416
7417 * dispextern.h (struct it): Remove member add_overlay_start.
7418 (set_iterator_to_next): Change prototype.
7419
c744452b
KH
74202000-10-13 Kenichi Handa <handa@etl.go.jp>
7421
7422 * coding.c (code_convert_region): Be sure to initialize
7423 coding->category_idx.
e4a3f4e1
KH
7424 (decode_coding_string): Set coding->src_multibyte and
7425 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7426 (encode_coding_string): Set coding->src_multibyte and
7427 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7428
321fd26f
SM
74292000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7430
7431 * xfns.c (Fx_create_frame): Don't bother calling
7432 face-set-after-frame-default since the caller does it for us anyway.
7433
76832439
EZ
74342000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7435
7436 * window.c (coordinates_in_window): Fix detection of vertical line
7437 on character terminals.
7438
2483cf58
GM
74392000-10-12 Gerd Moellmann <gerd@gnu.org>
7440
7441 * editfns.c (save_excursion_save): Additionally record the
7442 selected window.
7443 (save_excursion_restore): If buffer was visible in a window, and a
7444 different window was selected, and the old selected window is
7445 still live, restore point in that window.
7446
eb991b25
KH
74472000-10-12 Kenichi Handa <handa@etl.go.jp>
7448
8a0eba09
KH
7449 * xterm.c (x_produce_glyphs): Handle
7450 unibyte_display_via_language_environment correctly.
7451
20401fcc
KH
7452 * regex.c (regex_compile): Change the way of handling a range from
7453 unibyte char to multibyte char.
7454
7455 * syntax.c (skip_chars): Change the way of handling a range from
7456 unibyte char to multibyte char.
7457
eb991b25
KH
7458 * process.c (read_process_output): Cancel previous change.
7459
365dd325
EZ
74602000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7461
c1b096cb
EZ
7462 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7463
365dd325
EZ
7464 * charset.c (Ffind_charset_string): Doc fix.
7465 (Ffind_charset_region): Doc fix.
7466
eb483c2b
KH
74672000-10-11 Kenichi Handa <handa@mule.m17n.org>
7468
7469 * process.c (read_process_output): Fix previous change. Adjust
7470 multibyteness of text to insert in a buffer by
52283633 7471 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7472
b40bfb99
AS
74732000-10-10 Andreas Schwab <schwab@suse.de>
7474
7475 * alloc.c (mark_object): Remove all workarounds installed on
7476 1993-08-08.
7477
caff31d4
KH
74782000-10-10 Kenichi Handa <handa@etl.go.jp>
7479
52283633 7480 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7481 (base64_encode_1): Make it work for a text of multibyte form.
7482 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7483 case. Don't call str_to_multibyte because base64_decode_1
7484 produces correct multibyte form for eight-bit codes.
52283633 7485 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7486 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7487 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7488 codes.
7489
7490 * charset.h (CHAR_STRING): Optimized for single byte characters.
7491
cba026ef
AS
74922000-10-09 Andreas Schwab <schwab@suse.de>
7493
7494 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7495 -1 after socket is closed, to fall through to error processing.
7496
1e21fe48
EZ
74972000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7498
7499 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7500 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7501 background-color, change also the colors of the default face for
7502 this frame.
7503
a640322e
EZ
75042000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7505
7506 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7507 them extern (they are defined on xfaces.c).
7508 (syms_of_msdos): Don't intern and don't staticpro
7509 Qbackground_color and Qforeground_color.
7510
a115794c
EZ
75112000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7512
7513 * frame.c (Fframe_parameter): For non-windowed frames, if
7514 f->param_alist says foreground or background color is unspecified,
7515 call tty_color_name to return the color name computed from the
7516 frame's current colors.
7517
f5533b63
DL
75182000-10-06 Dave Love <fx@gnu.org>
7519
7520 * terminfo.c (ospeed): Don't declare.
7521
7522 * sysdep.c: Don't include string.h.
7523 (h_errno): Declare conditional also on TRY_AGAIN.
7524
7525 * charset.c (Ffind_charset_string): Doc fix.
7526
52283633 7527 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7528 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7529 error messages.
7530
2b06561a
DL
75312000-10-05 Dave Love <fx@gnu.org>
7532
7533 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7534 position like menu-bar.
7535
ca839c85
GM
75362000-10-05 Gerd Moellmann <gerd@gnu.org>
7537
7538 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7539
7540 * xdisp.c (handle_single_display_prop): Use safe_call1.
7541 (safe_call): Renamed from call_function.
7542 (safe_call1): New function.
7543 (handle_fontified_prop): Use safe_call1 instead of call1.
7544 (safe_eval): Renamed from eval_form.
7545 (safe_eval_handler): Renamed from eval_handler.
7546 (handle_single_display_prop, display_mode_element): Use safe_eval
7547 instead of eval_form.
7548
7549 * xfaces.c (merge_face_heights): Use safe_call instead of
7550 call_function.
7551
7552 * keyboard.c (show_help_echo): Use safe_call instead of
7553 call_function; use safe_eval instead of eval_form.
7554
7555 * lisp.h (safe_call): Renamed from call_function.
7556 (safe_eval): Renamed from eval_form.
7557 (safe_call1): Add prototype.
7558
a3489ece
MB
75592000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7560
7561 * xfns.c (image_ascent): Rearrange ascent calculation for the
7562 has-a-font case.
7563
35810b6f
SM
75642000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7565
7566 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7567 (where_is_internal_1): Don't bother ignoring menu-items any more.
7568
3dc78168
GM
75692000-10-04 Gerd Moellmann <gerd@gnu.org>
7570
7571 * keyboard.c (update_menu_bindings): New variable.
7572 (parse_menu_item): Use AREF. If update_menu_bindings
7573 is 0, don't update menu bindings.
7574 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7575
1efc2bb9
EZ
75762000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7577
7578 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7579 to `mark_object'.
7580
3f679f55
SM
75812000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7582
7583 * syntax.c (forw_comment): Match nestedness of ender/starter.
7584 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7585 (prev_char_comstart_first): Remove.
7586 (back_comment): Check two-char comment markers more carefully
7587 to better handle overlapping cases like *//* or /* */* */ ...
7588 Match nestedness of ender/starter.
7589
2021ab61
DL
75902000-10-02 Dave Love <fx@gnu.org>
7591
7592 * config.in (HAVE_GAI_STRERROR): Add undef.
7593
7594 * process.c (Fopen_network_stream): Use it.
7595
7596 * m/alpha.h (NO_REMAP): Don't define.
7597
64e6cc18
GM
75982000-10-02 Gerd Moellmann <gerd@gnu.org>
7599
7600 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7601 return with a string converted to an integer or vice versa when
7602 Vmocklisp_arguments is t.
7603 (Fsignal): Likewise. The function can return for `quit'.
7604 (struct gcpro): Declare member `var' to point to a volatile
7605 Lisp_Object.
7606
7607 * eval.c (error): Prevent compiler warning.
7608
b1904cd9
SM
76092000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7610
7611 * keymap.c (keymap_memberp): New function.
7612 (Fset_keymap_parent): Use it.
7613 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7614 Use keymap_memberp to avoid creating cycles.
7615 (access_keymap): Use KEYMAPP.
7616
71c9ec51
GM
76172000-09-30 Gerd Moellmann <gerd@gnu.org>
7618
7619 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7620 gai_strerror. Make sure xerrno is set if connect fails. Improve
7621 error recovery.
71c9ec51 7622
c70c6b58
JR
76232000-09-29 Jason Rumney <jasonr@gnu.org>
7624
7625 * w32term.c (w32_char_font_type, w32_encode_char)
7626 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7627 (w32_bdf_per_char_metric): New function.
7628 (w32_per_char_metric): Use it.
7629 (x_draw_glyph_string_background): Always draw background for BDF
7630 glyphs.
7631
7632 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7633 GDI object which is a scarce resource.
7634
7635 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7636 (get_quoted_string): Fix limit on memchr search.
7637 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7638 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7639 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7640 (get_cached_font_char, cache_char_offset): Use macro
7641 BDF_CODEPOINT_RANGE_COVER_P.
7642 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7643 (clear_cached_bitmap_slots): New function.
7644 (GET_HEX_VALUE): G-Z, g-z are not hex.
7645 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7646 (get_bitmap_with_cache): Use new cache implementation.
7647 (create_offscreen_bitmap): New function.
7648 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7649
7650 * w32term.c (x_produce_glyphs): If the distance from the current
7651 position to the next tab stop is less than a canonical character
7652 width, use the tab stop after that.
7653 (x_draw_glyphs): Handle case START and END are out of bounds more
7654 carefully.
7655 (x_clear_mouse_face): Block/unblock input.
7656 (x_display_and_set_cursor): Don't show a hollow box cursor for
7657 buffers whose cursor_type is nil.
7658
fe01239f
GM
76592000-09-29 Gerd Moellmann <gerd@gnu.org>
7660
52283633 7661 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7662
7663 * dispextern.h (updating_frame): Declare extern.
7664
e7c52f1f
AS
76652000-09-29 Andreas Schwab <schwab@suse.de>
7666
7667 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7668
de6e1f7c
GM
76692000-09-29 Gerd Moellmann <gerd@gnu.org>
7670
25126faa
GM
7671 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7672 use its function definition.
7673 (tool_bar_items): Likewise.
7674
de6e1f7c 7675 * lisp.h (fatal): Declare NO_RETURN.
52283633 7676
454ee39b
KH
76772000-09-29 Kenichi Handa <handa@etl.go.jp>
7678
7679 * keymap.c: Remove the line "#undef NULL".
7680
96301c5f
GM
76812000-09-28 Gerd Moellmann <gerd@gnu.org>
7682
52283633 7683 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7684
efffeeb4
DL
76852000-09-28 Dave Love <fx@gnu.org>
7686
ecb8b666
DL
7687 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7688
dc3cd20f
DL
7689 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7690
7691 * .gdbinit (xreload): Note its need on GNU/Linux.
7692
efffeeb4
DL
7693 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7694 r_alloc, r_alloc_free.
7695
8610d903
KH
76962000-09-28 Kenichi Handa <handa@etl.go.jp>
7697
7698 * syntax.c (skip_chars): Handle negation correctly.
7699
8901d1ac
GM
77002000-09-27 Gerd Moellmann <gerd@gnu.org>
7701
6f22f1ad
GM
7702 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7703 with non-zero FORCE_P argument.
7704
52283633 7705 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7706 Add assertions.
7707
7708 * xdisp.c (window_box_height): Add an assertion.
7709
7710 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7711 tool-bar than is available.
7712 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7713
36f1966f
DL
77142000-09-27 Dave Love <fx@gnu.org>
7715
efffeeb4 7716 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7717
31d929e5
GM
77182000-09-26 Gerd Moellmann <gerd@gnu.org>
7719
c98863bf
GM
7720 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7721 instead of BITS_PER_INT.
7722 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7723 EMACS_UINT, respectively.
7724 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7725
7726 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7727
7728 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7729
77072ab1
GM
7730 * window.c (freeze_window_starts): Construct last argument for
7731 foreach_window differently.
7732
7733 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7734
7735 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7736 EMACS_UINT instead of `int' and `unsigned int'.
7737 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7738
7739 * frame.h (struct frame): Make the `nothing' member of union
7740 output_data an EMACS_INT.
7741
52283633 7742 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7743 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7744 size in the sdata structure.
7745 (SDATA_NBYTES, SDATA_DATA): New macros.
7746 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7747 differently for the different layout of the sdata structure.
7748 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7749 in sdata.
7750 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7751 Check that size recorded in the string size and size recorded in
7752 the sdata structure agree.
7753
3e60b029
DL
77542000-09-25 Dave Love <fx@gnu.org>
7755
7756 * buffer.c: Include stdio.h.
7757
7758 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7759
3e60b029
DL
7760 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7761
7762 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7763 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7764 (__malloc_extra_blocks): Declare as __malloc_size_t.
7765
8ff16b4e
GM
77662000-09-25 Gerd Moellmann <gerd@gnu.org>
7767
755a2ccd
GM
7768 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7769
d8b4516f
GM
7770 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7771 (read_char): If help-echo is showing, preserve the echo area
7772 when redisplaying.
7773
7774 * xdisp.c (help_echo_showing_p): New variable.
7775 (set_message): Reset it to 0.
7776 (init_xdisp): Initialize help_echo_showing_p.
7777
7778 * dispextern.h (help_echo_showing_p): Declare extern.
7779
7780 * config.in: Fix typo in __GNUC_MINOR__.
7781
7782 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7783
b11af2dd
GM
7784 * s/freebsd.h (POSIX_SIGNALS): Define.
7785
8ff16b4e
GM
7786 * xterm.c (x_clear_mouse_face): Block/unblock input.
7787
844eb643
DL
77882000-09-24 Dave Love <fx@gnu.org>
7789
7790 * fns.c (base64_encode_1): Fix last change.
7791
b30ab1b3
GM
77922000-09-22 Gerd Moellmann <gerd@gnu.org>
7793
7794 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7795
7796 * xdisp.c (try_window_reusing_current_matrix): More fixes
7797 for the case window has a header-line.
7798
c6cbe5f0
DL
77992000-09-22 Dave Love <fx@gnu.org>
7800
4c7c1f3f
DL
7801 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7802 a doc string.
7803
7804 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7805
c6cbe5f0
DL
7806 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7807
550a625e
GM
78082000-09-21 Gerd Moellmann <gerd@gnu.org>
7809
4c7c1f3f 7810 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7811 for GCC >= 2.5.
7812
52283633
SM
7813 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7814 Declare NO_RETURN.
fca99116 7815
80d26f99
GM
7816 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7817 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7818 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7819 warnings.
52283633 7820
80d26f99
GM
7821 * marker.c (byte_char_debug_check): Return void.
7822
623a0aae
GM
7823 * xfns.c (Fx_create_frame): Set default frame parameter value
7824 for tool-bar-lines to 1.
7825
7826 * dispnew.c (scrolling_window): Compare y-positions of rows
7827 equal at the start. Some simplification.
7828
7829 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7830 reused rows' y-position in the case window has a header-line, and
7831 new window start is greater than old window start.
7832
42ac0ae5
GM
7833 * process.c (process_sent_to): New variable.
7834 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7835 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7836 Declare more parameters volatile.
7837
550a625e
GM
7838 * lread.c (Vrecursive_load_depth_limit): New variable.
7839 (Fload): Check recursive loads whose recursion depth exceeds
7840 Vrecursive_load_depth_limit.
7841 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7842
8320414c
GM
78432000-09-20 Gerd Moellmann <gerd@gnu.org>
7844
f46c275e
GM
7845 * fileio.c (Fread_file_name): Doc fix.
7846
7847 * editfns.c (Fmessage_or_box): Doc fix.
7848
7849 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7850
b7e11c5b 7851 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7852
8320414c
GM
7853 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7854 symbols are specified, add color translations to the cache.
52283633 7855 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7856 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7857 xpm_cache_color.
7858 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7859 structures to xpm_init_color_cache.
7860
da1608d9
GM
78612000-09-19 Gerd Moellmann <gerd@gnu.org>
7862
52283633 7863 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7864
6badfa25
AI
78652000-09-19 Andrew Innes <andrewi@gnu.org>
7866
7867 * makefile.nt (bootstrap-emacs): Don't change directory.
7868
3a5f42bb
KH
78692000-09-19 Kenichi Handa <handa@etl.go.jp>
7870
1b7649bd
KH
7871 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7872
3a5f42bb
KH
7873 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7874 If output buffer is too small, signal an appropriated error.
7875
9f83cf0b
DL
78762000-09-18 Dave Love <fx@gnu.org>
7877
52283633 7878 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7879 (current_active_maps): Remove redundant get_local_map call.
7880
28c7826c
GM
78812000-09-18 Gerd Moellmann <gerd@gnu.org>
7882
5cefa566
GM
7883 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7884 cursor for buffers whose cursor_type is nil.
52283633 7885
6fed3546
GM
7886 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7887 a feature to implement that is already implemented.
7888 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7889 warnings.
7890
7891 * xfns.c (x_clear_image_1): New function.
7892 (x_clear_image): Use it.
52283633 7893 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7894
05b1f851
GM
7895 * dispnew.c (update_window): Move test for invisible lines
7896 at the top to update_window_line.
7897 (update_window_line): Handle invisible lines here.
7898
f4779de9
GM
7899 * xfns.c (clear_image_cache): Clear current matrices of all
7900 frames sharing an image cache. Block input while freeing
7901 images. Fix timestamp comparison.
7902 (x_clear_image): Also free the mask.
7903
28c7826c
GM
7904 * xfns.c (lookup_image): Block input while loading the image so
7905 that we won't get interrupted in a state where the image isn't yet
7906 set up completely.
7907 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7908 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7909 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7910 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7911
b7412313
GM
79122000-09-16 Gerd Moellmann <gerd@gnu.org>
7913
7914 * dispnew.c (update_window): Make sure to make desired rows
7915 current even if they are completely invisible at the top
7916 of a window.
7917
47e351a3
GM
79182000-09-15 Gerd Moellmann <gerd@gnu.org>
7919
7f8f1edc
GM
7920 * xfns.c (lookup_image): Build mask before applying an algorithm.
7921 Recognize algorithm `disabled'.
7922 (cross_disabled_images): New variable.
7923 (COLOR_INTENSITY): New macro.
7924 (x_detect_edges): Use COLOR_INTENSITY.
7925 (x_disable_image): New function.
7926 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7927
7928 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7929 disabled state, don't apply an image transformation algorithm if
7930 the user specified an image for the disabled state. Use
28c7826c 7931 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7932 user hasn't specified an image.
7933
ebb8f116
GM
7934 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7935 allocation functions with the XPM lib.
7936 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7937 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7938 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7939 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7940 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7941 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7942 functions, if possible, because these handle color allocation
7943 failure more gracefully.
7944 (Fimage_mask_p): New function.
7945
47e351a3
GM
7946 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7947 (Qedge_detection, Qheuristic): New symbols.
7948 (syms_of_xfns): Initialize new symbols.
7949 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7950 `algorithm (edge-detection ...)'.
7951 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7952 (tiff_format, gif_format, gs_format): Add `:mask'.
7953 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7954 (GIF_MASK, GS_MASK): New enumerators.
7955 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7956 (emboss_matrix, laplace_matrix): New variables.
7957 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7958 (x_edge_detection): New functions.
7959 (x_laplace): Rewritten in terms of x_detect_edges.
7960 (x_build_heuristic_mask): If image has a mask, free it.
7961
fe83b953
AI
79622000-09-14 Andrew Innes <andrewi@gnu.org>
7963
7964 * makefile.w32-in: Revert to Unix line endings.
7965
3021e816
AI
79662000-09-14 Andrew Innes <andrewi@gnu.org>
7967
7968 * makefile.w32-in: Standardize indentation somewhat.
7969 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7970 cater for differences between shells.
7971
7972 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7973
2a32b5ea
GM
79742000-09-14 Gerd Moellmann <gerd@gnu.org>
7975
7976 * xterm.c (x_produce_glyphs): If the distance from the current
7977 position to the next tab stop is less than a canonical character
7978 width, use the tab stop after that.
7979
b4331e96
DL
79802000-09-14 Dave Love <fx@gnu.org>
7981
7982 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7983
ef9e4345
GM
79842000-09-14 Gerd Moellmann <gerd@gnu.org>
7985
085536c2
GM
7986 * xdisp.c (handle_fontified_prop): While running fontification
7987 functions, bind `fontification-functions' and
7988 `after-change-functions' to nil.
7989
ef9e4345
GM
7990 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7991 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7992
7993 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7994
7995 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7996 USE_MMAP_FOR_BUFFERS.
7997
7998 * insdel.c (make_gap): Use enlarge_buffer_text.
7999
8000 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8001 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8002 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8003 from former r_alloc_* functions in ralloc.c.
52283633 8004 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8005 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8006 (mmap_init) [REL_ALLOC_MMAP]: New function.
8007 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8008 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8009 BUFFER_FREE.
8010
8011 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8012 (enlarge_buffer_text): Add prototype.
8013
8014 * ralloc.c: Remove everything having to do with the use of mmap.
8015
f8608968
GM
80162000-09-13 Gerd Moellmann <gerd@gnu.org>
8017
2a494b2d
GM
8018 * sound.c (Fplay_sound): Doc fix.
8019
8c907a56
GM
8020 * keyboard.c: Avoid some more compiler warnings.
8021 (parse_tool_bar_item): Ignore cached key bindings.
8022
f8608968
GM
8023 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8024 and allocation of Lisp data.
8025
6ab70e9a
GM
80262000-09-12 Gerd Moellmann <gerd@gnu.org>
8027
d12d0a9b
GM
8028 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8029 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8030 defaults first.
8031
6ab70e9a
GM
8032 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8033
63c36c3c
KH
80342000-09-12 Miyashita Hisashi <himi@meadowy.org>
8035
8036 * ccl.c: Comment fixed.
8037 (MAX_MAP_SET_LEVEL): Increased to 30.
8038 (PUSH_MAPPING_STACK): Enclose with do-while block.
8039 (POP_MAPPING_STACK): Likewise.
8040 (stack_idx_of_map_multiple): New variable.
8041 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8042 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8043 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8044 (ccl_driver) <CCL_MapSingle>: Likewise.
8045 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8046 with the case where looking up process reaches to the end of
8047 map-set, and call CCL programs as the above change.
8048
7ee3bd7b
GM
80492000-09-11 Gerd Moellmann <gerd@gnu.org>
8050
8ec8a5ec
GM
8051 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8052 that might be clobbered by longjmp.
8053 (check_x_display_info, x_decode_color, create_frame_xic)
8054 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8055 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8056
f74b0705
GM
8057 * lread.c (init_lread): Set Vloads_in_progress to nil.
8058 (Fload): Show list of recursively loaded files, when signaling an
8059 error.
8060
7ee3bd7b
GM
8061 * lread.c (Vloads_in_progress): New variable.
8062 (record_load_unwind): New function.
8063 (Fload): Check for recursive loads.
8064 (syms_of_lread): Initialize Vloads_in_progress.
8065 (read_integer, read1): Avoid some compiler warnings.
8066
8067 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8068 compiler warnings.
8069
974e1e5b
MB
80702000-09-11 Miles Bader <miles@gnu.org>
8071
8072 * editfns.c (Fbuffer_string): Doc fix.
8073
9824c4e3
GM
80742000-09-10 Gerd Moellmann <gerd@gnu.org>
8075
8076 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8077
6a72fdd1
KR
80782000-09-09 Ken Raeburn <raeburn@gnu.org>
8079
8080 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8081 whether to include other header files.
8082
28e6fb66
GM
80832000-09-09 Gerd Moellmann <gerd@gnu.org>
8084
52283633 8085 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8086 by Fmemq as a boolean.
28e6fb66 8087
7f8b6551
SM
80882000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8089
8090 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8091
a8710abf
GM
80922000-09-08 Gerd Moellmann <gerd@gnu.org>
8093
d1a02881
GM
8094 * ralloc.c (mmap_fd): Remove initializer which can make it
8095 read-only in a dumped Emacs.
8096 (mmap_fd_1): New variable.
8097 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8098 restore it from there.
8099 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8100 unconditionally so that mmap_fd can be initialized there.
8101 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8102 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8103 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8104
c454aac1
GM
8105 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8106
8107 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8108 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8109
fc653ef2
GM
8110 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8111
3015eec0
GM
8112 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8113 inheritance.
8114
bfe0ee88
GM
8115 * xdisp.c (try_window_id): When trying to locate cursor in
8116 unchanged rows at the top, handle the case that we can't find it.
8117
a8710abf
GM
8118 * xterm.c (x_draw_glyphs): Handle case START and END are out
8119 of bounds more carefully.
8120
6b7d4ae4
DL
81212000-09-08 Dave Love <fx@gnu.org>
8122
423193c5
DL
8123 * s/sol2.h (REL_ALLOC_MMAP): Define.
8124 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8125
8126 * ralloc.c: Don't include string.h (redundant).
8127 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8128 [!MAP_ANON]: Include fcntl.h.
8129 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8130 (r_alloc, r_re_alloc, r_alloc_free)
8131 (mmap_enlarge, mmap_set_vars): Use it.
8132 (r_alloc_init_fd): New function.
8133 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8134 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8135 malloc type.
8136
8137 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8138 Remove vm-limit.o.
8139
6b7d4ae4
DL
8140 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8141 change to __NetBSD__.
8142
44d31981
KH
81432000-09-08 Kenichi Handa <handa@etl.go.jp>
8144
8145 * search.c (compile_pattern): Check the multibyteness of cached
8146 string and PATTERN.
8147
aad40737
MB
81482000-09-08 Miles Bader <miles@gnu.org>
8149
8150 * xfaces.c (default_face_vector): Function removed.
8151 (Finternal_merge_in_global_face): Restore old global/local
8152 attribute override order. Use inline loop instead of calling
8153 default_face_vector.
8154
91a211b5
GM
81552000-09-07 Gerd Moellmann <gerd@gnu.org>
8156
8157 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8158 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8159 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8160 where necessary, in case POINTER_TYPE is `void'.
8161
03419440
EZ
81622000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8163
8164 * frame.c (make_terminal_frame): Initialize frame foreground and
8165 background colors to unspecified, for the initial instance of an
8166 MSDOS frame.
8167
f46f845b
GM
81682000-09-07 Gerd Moellmann <gerd@gnu.org>
8169
24f76fbf
GM
8170 * ralloc.c (mmap_find): Fix overlap computation.
8171 (mmap_enlarge): Compute nbytes before trying to find an
8172 overlapping region.
8173
f46f845b
GM
8174 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8175 instead of `!='.
8176
8177 * lread.c (syms_of_lread): Change value of regexp
8178 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8179
8180 * xmenu.c (xdialog_show): When looking up the selection in
8181 menu_items, take `quote' boundaries into account; this corresponds
8182 to a nil ITEM in x-popup-dialog.
8183
3c014385
KH
81842000-09-07 Kenichi Handa <handa@etl.go.jp>
8185
fd6f711b
KH
8186 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8187 not 0x81.
8188 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8189
3c014385 8190 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8191 encoding, not decoding. Fix the handling of latin-jisx0201.
8192 Check for the charset katakana-jisx0201 too.
3c014385 8193 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8194 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8195
0da3ecef
GM
81962000-09-07 Gerd Moellmann <gerd@gnu.org>
8197
ab0ee409
GM
8198 * xfaces.c (Vparam_value_alist): New variable.
8199 (syms_of_xfaces): Initialize it.
8200 (Finternal_set_lisp_face_attribute): Avoid more consing.
8201
8202 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8203 specially.
8204 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8205 (Qbackground_mode): New variable.
8206 (syms_of_frame_1): Initialize Qbackground_mode.
8207
8208 * lisp.h (Qdisplay): Declare extern.
1091dd67 8209
0da3ecef
GM
8210 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8211 change face on all frames, and change the default for new frames.
8212
b14654b9
DL
82132000-09-07 Dave Love <fx@gnu.org>
8214
8215 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8216
d24fd56f
KH
82172000-09-07 Kenichi Handa <handa@etl.go.jp>
8218
794f3670
KH
8219 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8220
0fddd0dc
KH
8221 * charset.c: Include composite.h
8222 (lisp_string_width): New function.
8223 (Fstring_width): Call lisp_string_width instead of strwidth.
8224
8225 * Makefile.in (charset.o): Depends on composite.h.
8226
d24fd56f
KH
8227 * process.c (read_process_output): Before inserting the decoded
8228 text in the buffer, adjust the multibyteness.
8229
fa0b693c
GM
82302000-09-06 Gerd Moellmann <gerd@gnu.org>
8231
52283633 8232 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8233 buffer's text buffer is null, map new memory.
8234
0a58f946
GM
8235 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8236 POINTER_TYPE and size_t.
8237 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8238 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8239 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8240 [REL_ALLOC_MMAP]: New macros.
8241 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8242 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8243 [REL_ALLOC_MMAP]: New functions.
8244
8245 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8246 before and after unexec.
8247
8248 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8249 text buffers if necessary.
8250
8251 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8252 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8253 in prototypes.
8254
fa0b693c
GM
8255 * config.in (HAVE_MMAP): Add #undef.
8256
877055f6
GM
82572000-09-05 Gerd Moellmann <gerd@gnu.org>
8258
08ba3862
GM
8259 * frame.c (Qdisplay_type): New variable.
8260 (syms_of_frame_1): Initialize it.
8261 (Fframe_parameter): New function that avoids consing.
8262 (syms_of_frame): Defsubr it.
8263
66ffe51c
GM
8264 * buffer.c (Fother_buffer): Consider buffers as invisible when
8265 they are displayed in a window on an invisible frame.
8266
877055f6
GM
8267 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8268 get-largest-window always return nil.
8269
bb970e67
GM
82702000-09-04 Gerd Moellmann <gerd@gnu.org>
8271
8272 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8273 variable; recognize Emacs 19 elc files.
8274
7a3d0e0e
MB
82752000-09-04 Miles Bader <miles@gnu.org>
8276
8277 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8278 before initially popping up the menu, so the menu doesn't flash
52283633 8279 when the face settings are significantly different from the defaults.
7a3d0e0e 8280
14473664
SM
82812000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8282
8283 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8284 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8285 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8286 (BIT_UNIBYTE): Remove.
8287 (re_match_2_internal): Delete corresponding code and streamline the
8288 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8289 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8290 (re_wctype_t): New type.
8291 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8292 (regex_compile): Use them and fix handling of overly long char classes.
8293
c1174479
AI
82942000-09-03 Andrew Innes <andrewi@gnu.org>
8295
f8803e97
AI
8296 * makefile.w32-in: Change to DOS line endings.
8297
c1174479
AI
8298 * s/ms-w32.h (ORDINARY_LINK): New define.
8299
8300 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8301 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8302
8303 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8304 (distclean): Delete them here instead.
8305
44ef7cf6
AI
8306 * w32proc.c (compare_env): Convert to uppercase for comparison,
8307 not lowercase, to match how the native Windows shell works.
8308
49b3bd82
JR
83092000-09-03 Jason Rumney <jasonr@gnu.org>
8310
8311 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8312 CVS changes the line-ends when checking in/out on DOS/Windows.
8313
8314 * makefile.nt (emacs): Do not change directory to run temacs, as
8315 the load-path is set relative to current directory.
8316
a3d35a39
MB
83172000-09-03 Miles Bader <miles@gnu.org>
8318
8319 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8320
d276b0cf
GM
83212000-09-02 Gerd Moellmann <gerd@gnu.org>
8322
715e84c9
GM
8323 * xdisp.c (redisplay_mode_lines): New function.
8324 (display_mode_lines): Return number of mode lines displayed.
8325 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8326 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8327
8892f40b
GM
8328 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8329 string.h and strings.h.
8330 (index) [HAVE_INDEX]: Add prototype.
8331
d276b0cf
GM
8332 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8333 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8334
8335 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8336 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8337
38404229
GM
83382000-09-01 Gerd Moellmann <gerd@gnu.org>
8339
8340 * lread.c (read1): Accept `?' as symbol constituent, for
8341 compatiblity with XEmacs.
8342
c0f9ea08
SM
83432000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8344
8345 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8346 (struct re_pattern_buffer): Remove newline_anchor.
8347 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8348 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8349 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8350 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8351 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8352 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8353 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8354 Get rid of references to newline_anchor.
8355 (regcomp): Allocate and precompute a fastmap.
8356
8c0f83fe
GM
83572000-08-31 Gerd Moellmann <gerd@gnu.org>
8358
8359 * lread.c (openp): GCPRO local variable `filename'.
8360
4bb91c68
SM
83612000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8362
8363 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8364
8365 * regex.c: Merge some changes from GNU libc. Add prototypes.
8366 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8367 Use memcmp and memcpy instead of bcopy and bcmp.
8368 (init_syntax_once): Use ISALNUM.
8369 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8370 (REG_UNSET_VALUE): Remove. Use NULL instead.
8371 (REG_UNSET, re_match_2_internal): Use NULL.
8372 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8373 New macros.
8374 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8375 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8376 (regex_compile): In handle_interval, return an error rather than try to
8377 unfetch the interval if we can't find the closing brace.
8378 Obey the RE_NO_GNU_OPS syntax bit.
8379 (TOLOWER): New macro.
8380 (regcomp): Use it.
8381 (regexec): Allocate regs.start and regs.end as one block.
8382
5226a931
GM
83832000-08-30 Gerd Moellmann <gerd@gnu.org>
8384
868dd24b
GM
8385 * xdisp.c (echo_area_display): Check display_completed instead
8386 of calling detect_input_pending.
8387
8388 * dispnew.c (update_frame): Only set display_completed here; move
8389 the update_begin and update_end calls here from update_frame_1.
8390 (update_frame_1): Don't set display_completed here, don't call
8391 update_begin/update_end.
8392
5226a931
GM
8393 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8394 instead of store_frame_param.
8395
2a8bd25f
GM
83962000-08-29 Gerd Moellmann <gerd@gnu.org>
8397
8398 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8399 desired window matrix hasn't been displayed, use the current row
8400 instead. Make sure that only those frame rows are updated for
8401 which there exists a corresponding enabled desired row.
52283633 8402
ba3478d9
MB
84032000-08-29 Miles Bader <miles@gnu.org>
8404
8405 * xfaces.c (default_face_vector): New function.
8406 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8407
87d0f685
GM
84082000-08-29 Gerd Moellmann <gerd@gnu.org>
8409
8410 * lread.c (openp): Prevent temporary string passed to
8411 Ffile_readable_p from being garbage collected.
8412
6fa86045
DL
84132000-08-28 Dave Love <fx@gnu.org>
8414
8415 * keymap.c (store_in_keymap): Add `static' to declaration.
8416
bb17930d
GM
84172000-08-28 Gerd Moellmann <gerd@gnu.org>
8418
8419 * emacs.c, callint.c, doc.c, editfns.c
8420 (toplevel) [HAVE_STRING_H]: Include string.h.
8421 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8422 (index): Remove prototypes which might conflict with non-standard
8423 definitions of index/strchr.
8424
8425 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8426 (rindex): Define only if !HAVE_RINDEX.
8427
8428 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8429
8430 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8431
87188200
MB
84322000-08-28 Miles Bader <miles@gnu.org>
8433
8434 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8435 made inconsistent by a font-related attribute in FROM.
8436 (merge_face_inheritance): Add function comment.
8437
41a68aef
KH
84382000-08-28 Kenichi Handa <handa@etl.go.jp>
8439
8440 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8441 the 4th arg (PREV_EVENT) Qt to suppress input method.
8442
f7c436c1
SM
84432000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8444
0b32bf0e
SM
8445 * regex.c: Indent cpp directives and remove parens after `defined'.
8446 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8447 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8448 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8449 (re_compile_pattern): Use size_t for length.
8450 (init_syntax_once): Move to a better place.
8451 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8452 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8453
f7c436c1
SM
8454 * syntax.c (back_comment): Detect cases where a comment-starter is
8455 actually inside another comment as in: /* a // b */ c // d \n.
8456 Make it clear that `comstart_pos' is unused for nested comments.
8457
8458 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8459 (KEYMAPP): New macro.
8460 (Fkeymap_parent, Fset_keymap_parent): Use it.
8461 (fix_submap_inheritance): Mark it static.
8462 (define_as_prefix, describe_buffer_bindings, describe_command)
8463 (describe_translation, describe_map): Complete prototypes.
8464
8465 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8466
8467 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8468 to better match the key-lookup behavior.
8469
6288c62f
GM
84702000-08-27 Gerd Moellmann <gerd@gnu.org>
8471
8472 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8473 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8474
e931344e
EZ
84752000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8476
8477 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8478 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8479 (xterm.o): Depend on coding.h
8480
d10dfeef
KH
84812000-08-26 Kenichi Handa <handa@etl.go.jp>
8482
8483 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8484 the corresponding '#endif'.
8485
2d73e8d3
MB
84862000-08-26 Miles Bader <miles@gnu.org>
8487
8488 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8489 * xfaces.c (QCinherit): New variable.
8490 (syms_of_xfaces): Initialize it.
8491 (LFACE_INHERIT): New macro.
8492 (Finternal_get_lisp_face_attribute)
52283633 8493 (merge_face_vector_with_property)
2d73e8d3
MB
8494 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8495 (check_lface_attrs): Allow new types of face height. Check
8496 inherit attribute.
8497 (CYCLE_CHECK): New macro.
8498 (merge_face_inheritance): New function.
8499 (merge_face_vectors): Merge inherited faces too. Add F and
8500 CYCLE_CHECK arguments.
8501 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8502 (lookup_named_face, lookup_derived_face, realize_named_face)
8503 (face_at_string_position, face_at_buffer_position): Supply
8504 new F and CYCLE_CHECK arguments to merge_face_vectors.
8505 (merge_face_heights): New function.
52283633 8506 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8507 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8508 handle relative face heights.
8509 (lface_same_font_attributes_p): Compare heights using EQ.
8510
6ce974d4
KH
85112000-08-26 Kenichi Handa <handa@etl.go.jp>
8512
8513 * charset.c (char_to_string): Check the character validity.
52283633 8514 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8515
dc1e502d
SM
85162000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8517
8518 * regex.c (PUSH_FAILURE_COUNT): New macro.
8519 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8520 Handle popping of a register's or a counter's data.
8521 (POP_FAILURE_POINT): Use the new name.
8522 (re_match_2_internal): Push counter data on the stack for succeed_n,
8523 jump_n and set_number_at and remove misleading dead code in succeed_n.
8524
bd9d0f3f
GM
85252000-08-25 Gerd Moellmann <gerd@gnu.org>
8526
8527 * xdisp.c (redisplay_internal): If considering all windows on all
8528 frames, update the display for each frame as soon as possible,
8529 instead of first building all desired matrices for all frames, and
8530 then updating them all.
8531 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8532
aa5b8e15
GM
85332000-08-24 Gerd Moellmann <gerd@gnu.org>
8534
17494071
GM
8535 * bytecode.c (mark_byte_stack): Add a comment.
8536
52283633
SM
8537 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8538 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8539 a graphical frame.
8540
c543db81
KH
85412000-08-24 Kenichi Handa <handa@etl.go.jp>
8542
d246d5f5
KH
8543 * minibuf.c (do_completion): Always use compare-string, not
8544 string-equal because the latter doesn't pay attention to
8545 multibyteness of strings.
8546
c543db81
KH
8547 * process.c (create_process): Don't setup raw-text coding here.
8548 (Fopen_network_stream): Don't set coding->src_multibyte and
8549 coding->dst_multibyte here.
8550 (read_process_output): For process filter, return unibyte string
8551 if default-enable-multibyte-characters is nil.
8552 (send_process): If OBJECT is multibyte text, be sure to encoded it
8553 by the specified coding system for the process. Otherwise, setup
8554 raw-text coding.
52283633 8555 (init_process): Don't initialize default-process-coding-system here.
c543db81 8556
9b47cfe0
EZ
85572000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8558
8559 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8560 <scroll-down-aggressively>: Likewise.
8561
f5a36960
KH
85622000-08-23 Kenichi Handa <handa@etl.go.jp>
8563
8564 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8565 zero. Set coding->produced_char correctly.
8566
69a7ffa7
AI
85672000-08-22 Andrew Innes <andrewi@gnu.org>
8568
8569 * makefile.w32-in: New file.
8570
8571 * unexw32.c (unexec): Ignore old_name, and use the actual location
8572 of the current executable instead. Base new_name on this.
8573
8574 * w32proc.c (create_child): Remove reference to security
8575 descriptor, which isn't needed and doesn't compile with mingw32.
8576
8577 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8578 up dllimport attributes.
8579 (x_update_window_end): Update prototype.
8580
8581 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8582 extern, which screws up dllimport attributes.
8583
8584 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8585 up dllimport attributes.
8586
8587 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8588 screws up dllimport attributes.
8589
8590 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8591 up dllimport attributes.
8592 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8593 screws up dllimport attributes.
8594
8595 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8596 up dllimport attributes.
8597
8598 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8599 screws up dllimport attributes.
8600
8601 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8602 screws up dllimport attributes.
8603
8604 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8605 up dllimport attributes.
8606
8607 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8608 unnecessary extern, which screws up dllimport attributes.
8609 (main): Ditto.
8610
8611 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8612 up dllimport attributes.
8613
8614 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8615 unnecessary extern, which screws up dllimport attributes.
8616
8617 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8618 screws up dllimport attributes.
8619
8620 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8621 up dllimport attributes.
8622
8623 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8624
52283633
SM
8625 * w32bdf.c (search_file_line):
8626 (set_bdf_font_info):
8627 (seek_char):
8628 (w32_get_bdf_glyph):
69a7ffa7
AI
8629 (w32_BDF_to_x_font): Fix compile warnings.
8630
52283633 8631 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8632
8633 * w32select.c: Include keyboard.h before frame.h.
8634
8635 * w32fns.c (max): Define macro.
8636 (JOHAB_CHARSET): Define if not known.
8637 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8638 (Fx_show_tip): Synch with X version.
8639
8640 * w32xfns.c: Include keyboard.h before frame.h.
8641
8642 * w32fns.c: Include keyboard.h before frame.h.
8643
8644 * w32term.c: Include keyboard.h before frame.h.
8645
8646 * fontset.c: Include keyboard.h before frame.h.
8647
8648 * w32inevt.c: Include keyboard.h before frame.h.
8649 (MOUSE_MOVED): Define if not known.
8650
8651 * minibuf.c: Include keyboard.h before frame.h.
8652
8653 * keyboard.c: Include keyboard.h before frame.h.
8654
8655 * indent.c: Include keyboard.h before frame.h.
8656
8657 * dispnew.c: Include keyboard.h before frame.h.
8658
8659 * buffer.c: Include keyboard.h before frame.h.
8660
8661 * alloc.c: Include keyboard.h before frame.h.
8662
8663 * print.c: Include keyboard.h before frame.h.
8664
8665 * process.c: Include keyboard.h before frame.h.
8666
8667 * scroll.c: Include keyboard.h before frame.h.
8668
8669 * sysdep.c: Include keyboard.h before frame.h.
8670
8671 * term.c: Include keyboard.h before frame.h.
8672
8673 * window.c: Include keyboard.h before frame.h.
8674
8675 * xdisp.c: Include keyboard.h before frame.h.
8676 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8677
8678 * frame.c: Include keyboard.h before frame.h.
8679
8680 * w32heap.h: Undefine min, max.
8681
8682 * w32gui.h: Undefine min, max.
8683
8684 * unexw32.c: Change PUCHAR to PCHAR.
8685 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8686 (relocate_offset):
8687 (get_section_info):
69a7ffa7
AI
8688 (copy_executable_and_dump_data): Remove unnecessary static defs.
8689 (copy_executable_and_dump_data): Fix compile warnings.
8690
8691 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8692
8693 * w32console.c (min): Define macro.
8694 (clear_frame, write_glyphs): Fix compile warning.
8695
52283633 8696 * w32proc.c (compare_env):
69a7ffa7
AI
8697 (find_child_console): Fix compile warning.
8698
8699 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8700 sys_errlist instead of _sys_errlist.
8701 (get_emacs_configuration_options): New function.
8702
8703 * s/ms-w32.h (sys_nerr): Provide default definition.
8704 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8705 name with _ prepended.
8706 (NSIG): Define if not known.
8707 (get_emacs_configuration): Provide extern declaration.
8708 (get_emacs_configuration_options): Provide extern declaration.
8709 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8710
8711 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8712 (map_w32_filename):
69a7ffa7
AI
8713 (read_unc_volume): Fix compile warning.
8714
8715 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8716 definitions from being used.
8717
8718 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8719
52283633 8720 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8721 (open_unc_volume): Make arg const.
8722
8723 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8724 (read_input_waiting): Remove excess parameter.
8725
8726 * w32.c (init_environment): Call _access.
8727 (check_windows_init_file): Call _close.
8728 (init_user_info): Call _putenv.
8729 (init_environment): Call _putenv and _strdup.
8730 (init_ntproc): Reset volume info cache on startup.
8731
8732 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8733 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8734 cannot override the CRT malloc.
8735
8736 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8737 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8738
8739 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8740 unless we are linking with a static CRT.
8741 (RVA_TO_PTR): Cast result to unsigned char*.
8742
8743 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8744 (add_volume_info): Use xstrdup.
8745
25060080
SM
87462000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8747
8748 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8749 (do_completion, Fminibuffer_complete_word): Use it.
8750 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8751 var so it can take non-boolean values.
8752
6917e6bb
GM
87532000-08-21 Gerd Moellmann <gerd@gnu.org>
8754
acb7cc89 8755 * editfns.c (find_field): Formatting changes.
52283633 8756 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8757 changed to prototypes, some new protypes added, some functions
8758 made static.
8759
8760 * lisp.h (set_time_zone_rule): Add prototype.
8761 (use_dialog_box): External declaration.
8762
0bbfdc25
GM
8763 * keyboard.c (gen_help_event): Add parameter SIZE.
8764 (kbd_buffer_events_waiting): Slightly rewritten.
8765 (clear_event): New function.
8766 (kbd_buffer_get_event): Use it, and clear the input_events of
8767 HELP_EVENTs.
8768 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8769 don't fill the newly created array with nils.
8770 (toplevel): Convert some old-style function forward declarations
8771 to prototypes.
8772
8773 * keyboard.h (gen_help_event): Change prototype.
8774
8775 * xterm.c (XTread_socket): Change calls to gen_help_event.
8776
8777 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8778
6917e6bb
GM
8779 * eval.c (Fmacroexpand): Doc fix.
8780
e5cd3d11
JR
87812000-08-20 Jason Rumney <jasonr@gnu.org>
8782
8783 * w32term.h (x_display_info_for_display): Remove as this function
8784 does not exist on W32.
8785
8786 * w32term.c (help_echo_window): New variable.
8787 (syms_of_w32term): staticpro it.
8788 (note_mode_line_highlight): Set it.
8789 (XTextExtents16): Removed as there is no equivalent on W32.
8790 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8791 the X way of doing this will not work for W32.
8792 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8793 (x_draw_image_foreground): Avoid drawing outside of the clip area
8794 when image doesn't have a mask.
8795 (note_mouse_highlight): Process overlays in the right order of
8796 priority. Set help_echo_window.
8797 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8798 because that's more visible for large images.
8799
8800 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8801 name to single_keymap_panes.
8802 (w32_menu_show): Set wv->title when dealing with titles.
8803 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8804
6e69ab8c
MB
88052000-08-21 Miles Bader <miles@gnu.org>
8806
8807 * minibuf.c (do_completion): Try again if we rewrite the input
8808 string, but no completion was done, so that any completion message
8809 will be correct.
8810
511bd4eb
GM
88112000-08-20 Gerd Moellmann <gerd@gnu.org>
8812
8813 * xfaces.c (lface_equal_p): Compare strings differently.
8814 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8815 (realize_tty_face): Use them.
8816 (syms_of_xfaces): Initialize new variables.
8817 (map_tty_color): New function, extracted from realize_tty_face.
8818 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8819 foreground or background color, store the new color name in the
8820 realized face; previous code trying to do this had no effect.
8821 (realize_tty_face): Use map_tty_color.
8822 (Fclear_face_cache): Set face_change_count and ensure thorough
8823 redisplay.
8824
1433385f
GM
88252000-08-19 Gerd Moellmann <gerd@gnu.org>
8826
511bd4eb
GM
8827 * undo.c (record_first_change, record_marker_adjustment): Don't
8828 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8829
419ac0a2
KH
88302000-08-18 Kenichi Handa <handa@etl.go.jp>
8831
8832 * coding.c (decode_coding_string): Set members consumed,
8833 consumed_char, produced, produced_char of *coding correctly. If
8834 decode_coding doesn't consume any byte, don't try anymore.
8835 (encode_coding_string): Likewise.
8836
7eb9e30d
GM
88372000-08-18 Gerd Moellmann <gerd@gnu.org>
8838
511bd4eb
GM
8839 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8840 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8841
8842 * xdisp.c (redisplay_internal): Compare windows for equality with
8843 EQ, instead of applying XWINDOW to something that might not
8844 be a window.
52283633 8845
dd34a735
KH
88462000-08-18 Kenichi Handa <handa@etl.go.jp>
8847
8848 * fontset.c (Finternal_char_font): Search only the selected frame
8849 for a window of the current buffer.
8850
385ff9e3
GM
88512000-08-18 Gerd Moellmann <gerd@gnu.org>
8852
511bd4eb 8853 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8854 Lisp_Objects.
8855
385ff9e3
GM
8856 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8857 second half of a HELP_EVENT is found at the start of kbd_buffer.
8858
d6abb4c7
MB
88592000-08-18 Miles Bader <miles@gnu.org>
8860
4618074a
MB
8861 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8862
d6abb4c7
MB
8863 * editfns.c (save_restriction_save): Rewrite to use markers.
8864 (save_restriction_restore): Rewrite to understand new form of data
8865 saved by save_restriction_save.
8866 (Fsave_restriction): Remove cautionary note in doc-string.
8867
a7b28523
GM
88682000-08-17 Gerd Moellmann <gerd@gnu.org>
8869
8870 * fileio.c (build_annotations): Add a comment explaining the
8871 return value of format-annotate-function. Replace a spurious call
8872 to Flength with a CONSP test. Call format-annotate-function with
8873 a fifth arg specifying how many times the function is been called
8874 in a row, to let it choose temporary buffers appropriately.
8875
03c9ed77
DL
88762000-08-17 Dave Love <fx@gnu.org>
8877
8878 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8879 declare make_temp_name twice.
8880
52283633 8881 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8882 (unreadpure): Give it an arg.
8883
8884 * unexalpha.c: Prototype fatal_unexec, mark_x,
8885 update_dynamic_symbols. Declare unexec as void.
8886
8887 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8888 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8889
8890 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8891 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8892
8893 * alloca.c: Use #error.
8894 [POINTER_TYPE]: Use it.
8895
8896 * eval.c (Fdefvar): Doc fix.
8897
8898 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8899 INITIALIZE_INTERVAL.
8900
8901 * buffer.h: Avoid DECLARE_INTERVALS.
8902
8903 * config.in: Add size_t.
8904
aae41d97
EZ
89052000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8906
8907 * w16select.c (set_clipboard_data): If there's not enough memory
8908 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8909 expects. In case of other failures, return 3.
8910 (system_error_msg): New error message.
8911 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8912 system_error_msg.
8913
65aa5e85
GM
89142000-08-16 Gerd Moellmann <gerd@gnu.org>
8915
8916 * term.c (write_glyphs): Also turn off inverse video after turning
8917 off other appearances in case TS_exit_attribute_mode is not equal
8918 to TS_end_standout_mode.
8919 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8920 with the same face.
8921 (turn_off_face): Reset standout_mode only if
8922 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8923 is equal to TS_end_standout_mode.
8924
ece23901
KH
89252000-08-16 Kenichi Handa <handa@etl.go.jp>
8926
9d7bcb2e
KH
8927 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8928 sequence at the end of the source block.
8929
ece23901
KH
8930 * ccl.c (Fccl_program_p): Docstring modified.
8931 (Fccl_execute): Likewise.
8932 (Fccl_execute_on_string): Likewise.
8933
5e30eaa2
EZ
89342000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8935
8936 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8937
290602fd
KH
89382000-08-16 Kenichi Handa <handa@etl.go.jp>
8939
8940 The following changes are mainly to fix bugs of
8941 encode/decode-coding-string failing if encoding/decoding return
8942 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8943 variable conversion_buffer.
8944
8945 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8946 decrement dst_end to avoid buffer overflow in the later call of
8947 string_as_multibyte
8948
8949 * coding.h (conversion_buffer_size, conversion_buffer)
8950 (get_conversion_buffer): Extern deleted.
8951
8952 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8953 (conversion_buffer, conversion_buffer_size): Variables deleted.
8954 (get_conversion_buffer): Function deleted.
8955 (struct conversion_buffer): New structure.
8956 (MAX_ALLOCA): New macro.
8957 (allocate_conversion_buffer): New macro.
8958 (extend_conversion_buffer, free_conversion_buffer): New functions.
8959 (ccl_coding_driver): Set coding->result.
8960 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8961 this is the last block of source.
8962 (encode_coding): Likewise. Handle the source block as the last
8963 one only when the whole source text is consumed.
8964 (decode_coding_string): Handle the case that the output buffer is
8965 too small to decode the whole source text. Use
8966 allocate_conversion_buffer, extend_conversion_buffer and
8967 free_conversion_buffer, not get_conversion_buffer.
8968 (encode_coding_string): Likewise.
8969 (init_coding): Function deleted.
52283633 8970 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8971
8972 * emacs.c (main): Don't call init_coding.
8973
52283633 8974 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8975
8976 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8977 (insert_glyphs): Likewise.
8978
8979 * w32console.c (write_glyphs): Use a locally declared
8980 conversion_buffer.
8981
b9f80d41
EZ
89822000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8983
8984 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8985 member of display_info is NULL.
8986
32dc52f7
GM
89872000-08-15 Gerd Moellmann <gerd@gnu.org>
8988
52283633 8989 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8990
32dc52f7 8991 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8992 appearances with capability `me'.
32dc52f7
GM
8993 (write_glyphs): Switch on inverse video before each face change.
8994
4eb22d33
DL
89952000-08-14 Dave Love <fx@gnu.org>
8996
8997 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8998 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8999 (lisp_free): Declare and make static.
9000
9001 * window.c: Fix embedded comment.
9002 (syms_of_window): Fix doc string.
9003
90cbf47e
GM
90042000-08-14 Gerd Moellmann <gerd@gnu.org>
9005
52283633 9006 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9007 make sure to print `C-' before `M-', like in the manual.
9008
440fc135
GM
90092000-08-11 Gerd Moellmann <gerd@gnu.org>
9010
9011 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9012 since they aren't relocated anymore.
52283633 9013 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9014
9015 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9016 partially visible line which is smaller than the window's height.
440fc135 9017
6e264fad
KH
90182000-08-11 Kenichi Handa <handa@etl.go.jp>
9019
9020 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9021 the multibyte form of eight-bit-control characters.
6e264fad
KH
9022 (Fccl_execute_on_string): Initialize ccl->multibyte.
9023
9024 * ccl.h (struct ccl_program): New member multibyte.
9025
9026 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9027
c371f69a
KH
90282000-08-11 Kenichi Handa <handa@etl.go.jp>
9029
9030 * regex.c (regex_compile) <normal_char>: Pay attention to
9031 multibyteness.
9032 (analyse_first) <exactn>: Setup fastmap correctly for
9033 eight-bit-control characters.
9034
90352000-08-11 Kenichi Handa <handa@etl.go.jp>
9036
52283633 9037 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9038
9039 * keyboard.c (make_lispy_event): Handle the new event type
9040 multibyte_char_keystroke.
9041
9042 * xterm.c: Include coding.h.
9043 (XTread_socket): Work around a bug of XmbLookupString. If the
9044 input is from XIM, decode it according to the current locale. In
9045 that case, generate multibyte_char_keystroke events.
9046
b8ddbe71
KH
90472000-08-11 Kenichi Handa <handa@etl.go.jp>
9048
9049 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9050 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9051
47589c8c
GM
90522000-08-10 Gerd Moellmann <gerd@gnu.org>
9053
9054 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9055 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9056 (move_it_in_display_line_to): Record iterator's ascent and descent
9057 before producing glyphs, and restore them when we know the glyph
9058 doesn't fit on the line.
9059 (move_it_to): Restructured so that it's easier to debug. If
9060 moving to a vpos, and not moving to an x or character position,
9061 stop as soon as the specified vpos is reached; don't move further
9062 into that line because that might change the computed line height.
9063 (try_cursor_movement): New function, extracted from the cursor
9064 movement branch of redisplay_window. If ending on a partially
9065 visible line, don't try to scroll if the cursor line is taller
9066 than the window.
9067 (redisplay_window): Use try_cursor_movement.
9068
9069 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9070 because that function doesn't cope with variable-height lines.
9071
9072 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9073 box cursor because that's better visible for large images.
52283633 9074
c51bacd6
MB
90752000-08-10 Miles Bader <miles@gnu.org>
9076
9077 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9078
bea56df7
GM
90792000-08-10 Gerd Moellmann <gerd@gnu.org>
9080
9081 * xdisp.c (Vmessages_buffer_name): New variable.
9082 (message_dolog): Use it.
9083 (syms_of_xdisp): Initialize it.
9084
99cd7364
EZ
90852000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9086
52283633 9087 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9088 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9089 redundant now that keyboard.h is included.
9090
7d093d56
EZ
90912000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9092
9093 * keyboard.c (kbd_buffer_events_waiting): New function.
9094
9095 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9096
9097 * msdos.c: Include keyboard.h.
9098 (XMenuActivate): Empty no_event events from the event buffer. If
9099 no events are left after that, call clear_input_pending.
9100 (mouse_clear_clicks): New function, code moved from mouse_init.
9101 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9102 mouse driver to ``forget'' any past clicks.
9103
9104 * Makefile.in (msdos.o): Depend on keyboard.h.
9105
41e757a6
GM
91062000-08-09 Gerd Moellmann <gerd@gnu.org>
9107
8e7bd231
GM
9108 * lisp.h (input_pending): External declaration.
9109
9110 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9111
8e7bd231
GM
9112 * xdisp.c (echo_area_display): Display thoroughly if input is
9113 pending. Bind redisplay-dont-pause to t during the redisplay.
9114 in case input is pending.
9115
9116 * dispnew.c (Qredisplay_dont_pause): New variable.
9117 (syms_of_display): Initialize and staticpro it.
9118 (update_frame_1): Don't interrupt the display for pending input if
9119 redisplay_dont_pause is set.
52283633 9120
43028b7e
GM
9121 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9122
41e757a6
GM
9123 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9124
2f2174fa
KH
91252000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9126
9127 * callproc.c (Fcall_process): Terminate the unwind-protect around
9128 the post-read-conversion of coding system.
9129
0a6fd67e
MB
9130 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9131 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9132 * buffer.h (overlays_at): Update prototype.
9133 * xdisp.c (next_overlay_change): Update call to overlays_at.
9134 * xfaces.c (face_at_buffer_position): Likewise.
9135 * textprop.c (Fget_char_property): Likewise.
9136 * xterm.c (note_mouse_highlight): Likewise.
9137
0c80756e
MB
9138 * minibuf.c (do_completion): Don't consider a simple change of
9139 case as `completion'.
9140
975f250a
KR
91412000-08-08 Ken Raeburn <raeburn@gnu.org>
9142
52283633 9143 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9144 * undo.c (record_delete): Make sure last_point_position_buffer is
9145 a buffer before comparing pointers.
9146
9147 * coding.h (decode_coding_string): Declare.
9148
9149 * intervals.h (Fprevious_single_char_property_change): Declare.
9150
9151 * textprop.c (Fprevious_single_char_property_change): Don't do
9152 arithmetic directly on lisp objects.
9153
52283633 9154 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9155
9156 * keyboard.h (menu_item_eval_property): Declare.
9157
9158 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9159 reuse as buffer name, instead of recreating (and discarding) every
9160 time a message is logged.
9161 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9162 (current_message_1, truncate_message_1, set_message_1)
9163 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9164 (current_message, truncate_echo_area, display_echo_area)
9165 (resize_echo_area_axactly): Changed calls.
b347b3fd 9166
975f250a 9167 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9168 Lisp object.
975f250a 9169 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9170 must be an integer, not a Lisp object.
975f250a 9171
46dc9912
KH
91722000-08-08 Kenichi Handa <handa@etl.go.jp>
9173
9174 * charset.c (Fchar_width): Doc fix.
9175
9f6d1a6c
GM
91762000-08-08 Gerd Moellmann <gerd@gnu.org>
9177
9178 * charset.c (Fstring_width): Doc fix.
9179
ff3d9573
GM
91802000-08-07 Gerd Moellmann <gerd@gnu.org>
9181
41e757a6 9182 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9183 line, clear ascent and descent members of the iterator structure;
9184 the height of the continued line does not affect the height of the
9185 continuation line.
9186 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9187 line taller than the window.
9188 (redisplay_window) <forced window start>: Handle case that the
9189 middle of the window is not found in any row.
9190 (dump_glyph_row): Show more information.
9191 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9192 first text line in a glyph matrix.
9193
9194 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9195 of the clip area when image doesn't have a mask.
9196
70fc58b3
GM
9197 * fns.c (sweep_weak_table): Fix survival conditions for
9198 key-or-value and key-and-value weakness.
9199
9200 * .gdbinit (xhashtable): New command.
9201
ac0e96ee
GM
9202 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9203 tables out of the list of all weak hash tables.
9204
ff3d9573
GM
9205 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9206 a new buffer is created, make sure echo_area_buffer[] references
9207 the new buffer.
9208
e0d8827b
EZ
92092000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9210
9211 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9212 the doc string.
9213
c6f35378
KH
92142000-08-07 Kenichi Handa <handa@etl.go.jp>
9215
9216 * syntax.c (skip_chars): Fix previous change. Make the handling
9217 of unibyte string consistent with that of regex search.
9218
1fd4c450
GM
92192000-08-05 Gerd Moellmann <gerd@gnu.org>
9220
e49aa397
GM
9221 * xmenu.c (popup_get_selection): Use xfree instead of free.
9222
9223 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9224
9225 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9226
9227 * callproc.c (child_setup): Use xfree instead of free.
9228
9229 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9230 instead of malloc.
9231 (run_mac_command, closedir): Use `xfree' instead of `free'.
9232
9233 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9234
9235 * eval.c (error): Use xfree instead of free.
9236
1fd4c450
GM
9237 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9238
9239 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9240 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9241
82d497fc
KH
92422000-08-05 Kenichi Handa <handa@etl.go.jp>
9243
9244 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9245 conversion.
9246
59f953a2
NF
92472000-08-04 Noah Friedman <friedman@splode.com>
9248
9249 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9250 docstring.
9251
688351f2
GM
92522000-08-04 Gerd Moellmann <gerd@gnu.org>
9253
9254 * syntax.c (skip_chars): Fix typo in error message.
9255
2dad51cc
AS
92562000-08-04 Andreas Schwab <schwab@suse.de>
9257
9258 * m/ia64.h: Moved from s/ia64.h.
9259
99bb2c60
KH
92602000-08-04 Kenichi Handa <handa@etl.go.jp>
9261
082a1df2
KH
9262 * process.c (read_process_output): Big simplification. Handle
9263 composition and post-read-conversion of coding system correctly.
9264 (send_process): Handle composition correctly.
9265
9266 * callproc.c (Fcall_process): Handle post-read-conversion of
9267 coding system if any.
9268
99bb2c60
KH
9269 * coding.c (decode_coding_iso2022): More strict check for handling
9270 single shifting.
082a1df2
KH
9271 (coding_restore_composition): Pay attention to the case that
9272 cmp_data is not set properly (because of invalid code in the
9273 source text).
9274 (run_pre_post_conversion_on_str): Include text properties in the
9275 resulting string.
9276 (decode_coding_string): Set members of coding correctly.
99bb2c60 9277
f4988be7
GM
92782000-08-03 Gerd Moellmann <gerd@gnu.org>
9279
9280 * s/ia64.h: New file.
9281
9282 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9283 Use NULL instead of 0 at the end of variable argument list of
9284 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9285 sizeof (int) < sizeof (void *).
9286
9287 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9288 of variable argument lists of XtVaGetValues and XtVaSetValues.
9289
9290 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9291 variable argument lists of XtVaGetValues and XtVaSetValues.
9292
ead53494
GM
92932000-08-02 Gerd Moellmann <gerd@gnu.org>
9294
9295 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9296 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9297
9298 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9299 prototype.
9300
9301 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9302 in call to Fsingle_key_description.
9303
9304 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9305 Callers changed.
9306
93072000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9308
9309 * window.c (display_buffer_reuse_frames): New variable.
9310 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9311 frames displaying BUFFER.
52283633 9312 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9313
10b0f752
MB
93142000-08-01 Miles Bader <miles@gnu.org>
9315
9316 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9317 when to constrain NEW_POS (they were pretty screwed up before).
9318
16425c4a
EZ
93192000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9320
9321 * msdos.c (run_msdos_command): Save and restore the master
9322 environment, for the case that child_setup signals an error.
9323 When mirroring slashes in DOS shell commands, don't fail when
9324 argv[2] has embedded blanks.
da288c14
EZ
9325 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9326 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9327 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9328
9329 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9330 using alloca; free it after run_msdos_command returns.
9331
27f73852
DL
93322000-07-27 Dave Love <fx@gnu.org>
9333
52283633
SM
9334 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9335 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9336
9337 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9338
c0261b5e
EZ
93392000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9340
9341 * editfns.c (lisp_time_argument): Fix last change.
9342
b548072f
GM
93432000-07-27 Gerd Moellmann <gerd@gnu.org>
9344
3ab82477
GM
9345 * fns.c (Fdelete): Make it work on vectors and strings in addition
9346 to lists.
9347
b548072f
GM
9348 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9349 (syms_of_fns): Initialize new variables.
52283633 9350 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9351 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9352 weakness, with t meaning the same as `key-and-value'.
9353
91ae8751
KH
93542000-07-27 Kenichi Handa <handa@etl.go.jp>
9355
9356 * coding.h (struct coding_system): Member safe_charset deleted.
9357
9358 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9359 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9360 New variables.
91ae8751
KH
9361 (coding_safe_chars): New function.
9362 (CODING_SAFE_CHAR_P): New macro.
9363 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9364 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9365 (detect_coding_iso2022): New local variable safe_chars.
9366 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9367 safe_charsets member of the coding system.
9368 (decode_coding_iso2022): New local variable safe_chars.
9369 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9370 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9371 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9372 (ENCODE_UNSAFE_CHARACTER): New macro.
9373 (encode_coding_iso2022): New local variable safe_chars. Check
9374 unsafe chars.
9375 (setup_coding_system): Delete the code to initialize
9376 coding->safe_charses
9377 (intersection, find_safe_codings): New functions.
9378 (Ffind_coding_systems_region_internal): New function.
9379 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9380 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9381 variable and initialize it.
9382
9383 * fns.c (char_table_ref_and_index): New function.
9384
9385 * lisp.h (char_table_ref_and_index): Add prototype.
9386
34a7a267
SS
93872000-07-26 Sam Steingold <sds@gnu.org>
9388
9389 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9390 (Ffloat_time): New built-in Lisp function.
34a7a267 9391
a95cb10a
GM
93922000-07-26 Gerd Moellmann <gerd@gnu.org>
9393
3353ef5a
GM
9394 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9395 for the character code.
9396
9397 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9398 GNU/Linux.
9399
a95cb10a
GM
9400 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9401 if called for a popup menu.
9402 (xmenu_show): Store help string in widget values.
9403
b4a12321
DL
94042000-07-26 Dave Love <fx@gnu.org>
9405
9406 * syswait.h: Move some definitions.
9407 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9408 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9409 perspicuous definitions.
9410 (WTERMSIG): Fix bit pattern used.
9411
13f5ad37
KH
94122000-07-26 Kenichi Handa <handa@etl.go.jp>
9413
9414 * print.c (print_object): If vector printing is truncated, print
9415 "..." to indicate it as well as the case of list printing.
9416
070fe99c
GM
94172000-07-25 Gerd Moellmann <gerd@gnu.org>
9418
969065c3
GM
9419 * xdisp.c (next_element_from_display_vector): Improve comments.
9420
9421 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9422 for the character code, and the rest for the face id as in 20.x.
9423 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9424
9425 * window.c (window_display_table): Cleaned up.
9426
070fe99c
GM
9427 * syntax.c (Fforward_word): Add last arg nil in call of
9428 Fconstrain_to_field.
9429
bad77ef7
EZ
94302000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9431
969065c3 9432 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9433 identical but for the letter-case, don't call
9434 barf_or_query_if_file_exists.
bad77ef7 9435
c28da489
MB
94362000-07-25 Miles Bader <miles@gnu.org>
9437
9438 * editfns.c (find_field): Honor special `boundary' fields.
9439 (Qboundary): New variables.
9440 (syms_of_editfns): Initialize Qboundary.
9441 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9442 Use scan_buffer instead of find_before_next_newline, because it
9443 allows us to detect the boundary case where there's a newline at
9444 the search limit.
9445 * lisp.h (Fconstrain_to_field): Update external declaration.
9446
e3c31fd5
GM
94472000-07-24 Gerd Moellmann <gerd@gnu.org>
9448
9449 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9450 if that is nil.
c28da489 9451
c66c29a2
DL
94522000-07-24 Dave Love <fx@gnu.org>
9453
9454 * s/sunos4-0.h, s/sol2.h:
9455 (LIBS_TERMCAP): Move from m/sparc.h.
9456
9457 * m/sparc.h (TERMINFO): Moved to system files (probably only
9458 relevant for sunos4 judging by its vintage).
9459 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9460 __arch64__.
9461
fbe0a958
EZ
94622000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9463
9464 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9465 name to single_keymap_panes.
9466
7d88e5c9
AS
94672000-07-24 Andreas Schwab <schwab@suse.de>
9468
9469 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9470
e024b101
GM
94712000-07-24 Gerd Moellmann <gerd@gnu.org>
9472
9473 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9474 parameters instead of using int parameters. Expect FN to accept
9475 EMACS_INT parameters.
9476 (display_echo_area, resize_echo_area_axactly, current_message)
9477 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9478 with new argument list.
9479 (resize_mini_window_1): New callback function.
9480 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9481 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9482
25c1a9ce
KH
94832000-07-24 Kenichi Handa <handa@etl.go.jp>
9484
9485 * fontset.c (fontset_ref): Remove INLINE declaration.
9486 (fontset_ref_via_base): Likewise.
9487 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9488 to downcase.
9489
7f987ac0
EZ
94902000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9491
9492 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9493 correct order of priority. If help echo was found in an overlay,
9494 use that overlay as the object in which the help echo was found.
9495
e2db3069
MB
94962000-07-22 Miles Bader <miles@gnu.org>
9497
9498 * textprop.c (Fprevious_single_char_property_change): The initial
9499 property value should be from the position preceding POSITION, not
9500 following it.
9501
5e3203e4
EZ
95022000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9503
9504 * coding.c (syms_of_coding): Doc fix for
9505 inhibit-iso-escape-detection.
9506
62145073
GM
95072000-07-21 Gerd Moellmann <gerd@gnu.org>
9508
c20aeb83
GM
9509 * xterm.c (note_mouse_highlight): Process overlays in the right
9510 order of priority.
34a7a267 9511
743934db
GM
9512 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9513
9514 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9515 overlay, use that overlay as the object in which the help was found.
743934db 9516
d1dc7e43 9517 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9518
62145073
GM
9519 * window.c (foreach_window): Instead of a fake variable argument
9520 list, take one USER_DATA argument.
9521 (foreach_window_1): Likewise, and call callback functions with two
9522 args, the window and USER_DATA.
9523 (struct check_window_data): New struct.
9524 (check_window_containing): Use it.
9525 (window_from_coordinates): Set up a struct check_window_data for
9526 foreach_window.
9527 (add_window_to_list, freeze_window_start): Change parameters
9528 according to new calling convention.
9529
9530 * window.h (foreach_window): Change prototype.
9531
9532 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9533
95342000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9535
9536 * xmenu.c (menu_help_callback): Call show_help_echo with
9537 additional arguments OBJECT and POS.
9538
11270583
KH
95392000-07-21 Kenichi Handa <handa@etl.go.jp>
9540
07b14857
KH
9541 * data.c (Faset): Allow storing any multibyte character in a
9542 string. Convert unibyte string to multibyte if necessary.
9543
11270583
KH
9544 * xfns.c (x_encode_text): New function.
9545 (x_set_name): Use x_encode_text.
9546 (x_set_title): Likewise.
9547
9548 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9549
9550 * xterm.h (x_encode_text): Add prototype.
9551
bc75b4fd
DL
95522000-07-20 Dave Love <fx@gnu.org>
9553
9554 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9555 xfree, not free.
9556
48c14970
EZ
95572000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9558
9559 * msdos.c (help_echo_window): New variable.
9560 (syms_of_msdos): Initialize and staticpro it.
9561 (IT_note_mode_line_highlight): Set help_echo_window.
9562 (IT_note_mouse_highlight): Ditto.
9563 (dos_rawgetc): Store help_echo_window in the second event produced
9564 for HELP_EVENTs.
9565
9566 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9567 Record the object that generated the help echo and the position of
9568 that object in help_echo_object and help_echo_pos. Record that
9569 some glyphs in a row are displayed in mouse-face.
9570 (IT_update_begin): Don't clear mouse highlight unless one of the
9571 enabled glyph rows is marked as being displayed in mouse-face.
9572 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9573 and position recorded in help_echo_object and help_echo_pos to the
9574 event queue.
9575 (IT_menu_display): Accept a new argument PN: the pane number of
9576 the current menu pane. Record the pane number and the item
9577 number of the item which has associated help string.
9578 (XMenuActivate): Update the prototype for help_callback in
9579 function declaration. Call IT_menu_display with the current menu
9580 pane number as an additional argument. Call help_callback with
9581 two additional arguments: the pane number and the item number of
9582 the menu item associated with the help text.
9583 (help_echo_object, help_echo_pos): New variables.
9584 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9585
9586 * msdos.h (XMenuActivate): Update prototype.
9587
4279296d
GM
95882000-07-19 Gerd Moellmann <gerd@gnu.org>
9589
47db06aa
GM
9590 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9591 Add some more prototypes.
9592
9593 * xterm.c, xterm.h: Add some more prototypes.
9594
9595 * lisp.h (Fnext_single_char_property_change): Add prototype.
9596
9597 * dispnew.c (direct_output_for_insert): Remove confusing
9598 outer local variable mouse_face_overwritten_p.
9599 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9600
4279296d
GM
9601 * alloc.c (allocate_string_data): Don't copy old string contents.
9602
670acd62
KH
96032000-07-19 Kenichi Handa <handa@etl.go.jp>
9604
9605 * coding.c (code_convert_region): Delete text properties before
9606 shrinking the conversion region.
9607
7cea38bc
GM
96082000-07-18 Gerd Moellmann <gerd@gnu.org>
9609
dc1cac59
GM
9610 * dispnew.c (update_text_area): Write the whole row if it
9611 has mouse-face in it.
9612
85a8aca9
GM
9613 * xfaces.c (face-alternative-font-family-alist): Remove
9614 DEFVAR_LISP; staticpro instead.
9615
34a7a267 9616 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9617 new arguments.
9618
9619 * keyboard.c (show_help_echo): Add parameter WINDOW.
9620 (read_char): Call show_help_echo with window extracted from Lisp
9621 help event.
9622 (gen_help_event): Add parameter WINDOW.
9623
9624 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9625
9626 * xterm.c (help_echo_window): New variable.
52283633 9627 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9628 (XTread_socket): Pass help_echo_window to gen_help_event.
9629 (syms_of_xterm): Initialize and staticpro help_echo_window.
9630
f8276b77
DL
96312000-07-18 Dave Love <fx@gnu.org>
9632
52283633 9633 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9634
088831a6
GM
96352000-07-18 Gerd Moellmann <gerd@gnu.org>
9636
3d6cd763
GM
9637 * alloc.c (allocate_string_data): If string had already data
9638 assigned, copy old contents to new string data.
9639
9640 * coding.c (syms_of_coding): Fix typo in spelling of variable
9641 `inhibit-iso-escape-detection'.
9642
088831a6
GM
9643 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9644
9645 * Makefile.in: Add dependencies on dispextern.h.
9646 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9647 `free'; both can conflict with system header files.
9648
bc8a8d55
KH
96492000-07-18 Kenichi Handa <handa@etl.go.jp>
9650
9651 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9652 undefined.
9653
069f5950
DL
96542000-07-18 Dave Love <fx@gnu.org>
9655
9656 * window.c (Fwindow_list): Declare arg `window'.
9657
aa96c820
KH
96582000-07-18 Kenichi Handa <handa@etl.go.jp>
9659
9660 * coding.c (setup_coding_system): Don't override the explicitly
9661 specified designations.
9662
06be8d32
MB
96632000-07-15 Miles Bader <miles@gnu.org>
9664
9665 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9666 from `text_property_eq' and `text_property_stickiness', respectively.
9667 (find_field, Fconstrain_to_field, char_property_eq)
9668 (char_property_stickiness): Changed to call char-property functions
9669 instead of text-property-only ones.
9670
9671 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9672 `next_single_char_property_change'). Do more error checking, and
9673 cleanup limit behavior.
9674 (Fprevious_single_char_property_change): New function.
9675 (syms_of_textprop): Initialize new subrs.
9676
9677 * xdisp.c (display_prop_end, invisible_text_between_p):
9678 Call Fnext_single_char_property_change instead of
9679 next_single_char_property_change.
9680
3fddcdc3
JR
96812000-07-15 Jason Rumney <jasonr@gnu.org>
9682
9683 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9684 after menu is finished with.
9685 (add_menu_item): Only consider wv->title as a menu title.
9686 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9687
9688 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9689 null title.
9690 (FONT_REGEXP): Remove unused macro, and its sub-components.
9691 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9692
9693 * w32term.c (help_echo_object, help_echo_pos): New variables.
9694 (note_mode_line_highlight): Store additional information about the
9695 help-echo in help_echo_object and help_echo_pos. Check both
9696 `local-map' and `keymap' properties for changing the cursor
9697 (note_mouse_highlight): Store additional information about the
9698 help-echo in help_echo_object and help_echo_pos.
9699 (note_tool_bar_highlight): Set help_echo_object to nil and
9700 help_echo_pos to -1.
9701 (w32_read_socket): Use gen_help_event instead of filling
9702 input_events manually.
9703 (syms_of_w32term): Staticpro help_echo_object.
9704 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9705 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9706 (x_clear_mouse_face): New function.
9707 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9708 (x_update_window_begin): No need to turn off the mouse
9709 highlight here.
9710 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9711 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9712 (x_fill_stretch_glyph_string): Consume runs of stretch
9713 glyphs instead of a single one.
9714 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9715 with new argument list.
9716 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9717 (x_append_glyph, x_append_composite_glyph)
9718 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9719 changes in struct glyph starting 1999-12-27. See comments for
9720 xterm.c on 2000-07-05.
9721
178c5d9c
SS
97222000-07-14 Sam Steingold <sds@gnu.org>
9723
9724 * xfaces.c (realize_x_face): Fix the last patch:
9725 check `default_face' before dereferencing.
9726
6fe533f6
DL
97272000-07-14 Dave Love <fx@gnu.org>
9728
069f5950 9729 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9730
dd7b81cf
KH
97312000-07-14 Kenichi Handa <handa@etl.go.jp>
9732
0693904a 9733 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9734 default_face's fontset, not using the default fontset.
0693904a 9735
dd7b81cf
KH
9736 * coding.c (inhibit_iso_escape_detection): New variable.
9737 (syms_of_coding): Make it a Lisp variable.
9738 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9739 nonzero, ignore ISO2022's escape sequence.
9740
d5aa31d8
GM
97412000-07-14 Gerd Moellmann <gerd@gnu.org>
9742
e5acf0ca
GM
9743 * alloca.c (malloc) [emacs]: Define as xmalloc.
9744
bd23a692
GM
9745 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9746 use that instead of the mouse position. Add parameters DX and DY.
9747
9748 * dispextern.h (Fx_show_tip): Adjust number of parameters
9749 in prototype.
9750
9662da0b
GM
9751 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9752 if HELP is a function, call it with OBJECT and POS as parameters
9753 to get the help to display.
9754 (gen_help_event, kbd_buffer_store_help_event): New functions.
9755 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9756 (read_char): Call show_help_echo with new parameters.
9757
178c5d9c 9758 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9759 Add prototypes.
9760
9761 * xterm.c (help_echo_object, help_echo_pos): New variables.
9762 (note_mode_line_highlight): Store additional information about the
9763 help-echo in help_echo_object and help_echo_pos. Check both
9764 `local-map' and `keymap' properties for changing the cursor
9765 (note_mouse_highlight): Store additional information about the
9766 help-echo in help_echo_object and help_echo_pos.
9767 (note_tool_bar_highlight): Set help_echo_object to nil and
9768 help_echo_pos to -1.
9769 (XTread_socket): Use gen_help_event instead of filling
9770 input_events manually.
9771 (syms_of_xterm): Staticpro help_echo_object.
9772
9773 * xmenu.c (menu_highlight_callback): Use
9774 kbd_buffer_store_help_event instead of setting up and input_event
9775 structure manually.
9776
9777 * xdisp.c (eval_form): GCPRO argument sexpr.
9778 (call_function): New function.
9779 (handle_single_display_prop): Use call_function and FUNCTIONP
9780 instead of checking whether if font_height is a symbol and
9781 using eval_form.
9782
9783 * eval.c (internal_condition_case_2): New function.
9784
9785 * lisp.h (FUNCTIONP): New macro.
9786 (internal_condition_case_2, call_function): Add prototypes.
9787
d5aa31d8
GM
9788 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9789 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9790 Always set `arg' member of input_events.
9791 (construct_menu_click): Unused function removed.
9792
9793 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9794
9795 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9796 (construct_drag_n_drop, x_scroll_bar_handle_click)
9797 (w32_read_socket): Always set `arg' member of input_events.
9798
9799 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9800
9801 * lisp.h (eval_form): Add prototype.
9802
9803 * xdisp.c (eval_form): Make it externally visible.
9804
0f1a9b23
GM
98052000-07-13 Gerd Moellmann <gerd@gnu.org>
9806
9807 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9808 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9809 consing. For prefix events, store the frame in the `arg' slot of
9810 the event, otherwise store the key there.
9811 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9812 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9813
9814 * xmenu.c (menu_highlight_callback): Store help string in the
9815 `arg' member of the input event; don't cons.
9816 (menubar_selection_callback): Use the `arg' slot of input events
9817 to queue additional information, instead of consing.
9818
9819 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9820
9821 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9822 TOOL_BAR_EVENTs.
9823 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9824
9825 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9826 input events to queue additional information, instead of consing.
9827
9828 * keyboard.c (kbd_buffer_gcpro): Renamed from
9829 kbd_buffer_frame_or_window. Now used for all Lisp objects
9830 referenced from the input queue.
9831 (kbd_buffer_store_event): Always use structure assignment for
9832 copying input events. Record all Lisp objects referenced from
9833 events in kbd_buffer_gcpro.
9834 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9835 differently from input events. Test for prefix menu_bar_events
9836 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9837 event in kbd_buffer_gcpro to nil.
9838 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9839 frame_or_window is equal to its arg member as prefix events.
9840 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9841 used by an input event to nil.
9842 (init_keyboard): Use two times the size of the input queue
9843 for kbd_buffer_gcpro.
9844 (syms_of_keyboard): Likewise.
9845
52283633
SM
9846 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9847 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9848
9849 * termhooks.h (struct input_event): Add member `arg'.
9850 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9851 (USER_SIGNAL_EVENT): Renamed from user_signal.
9852
9853 * xfaces.c (ASET): Remove definition.
9854
9855 * lisp.h (AREF, ASET, ASIZE): New macros.
9856
9857 * fontset.c (AREF, ASIZE): Remove definitions.
9858
9859 * fns.c (AREF): Remove definition.
178c5d9c 9860
0f1a9b23
GM
9861 * composite.c (AREF): Remove definition.
9862
712eaef2
GM
98632000-07-12 Gerd Moellmann <gerd@gnu.org>
9864
d8ee7803
GM
9865 * dispnew.c (redraw_overlapped_rows): Add missing local.
9866 (scrolling_window): Remove debug code.
9867
712eaef2
GM
9868 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9869 Before scrolling, turn off a mouse-highlight in the window
9870 being scrolled.
9871
9872 * xterm.c (x_update_window_end): Add parameter
9873 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9874 redisplay in XTframe_up_to_date.
9875 (x_clear_mouse_face): New function.
9876 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9877
9878 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9879 current glyph row.
9880 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9881 it when any row is written to that contains glyphs highlighted in
9882 mouse-face.
9883 (update_window): Call the window update end hook with new
9884 parameter MOUSE_FACE_OVERWRITTEN_P.
9885 (direct_output_for_insert): Give up if row contains mouse-face.
9886
9887 * dispextern.h (struct redisplay_interface): Add parameter
9888 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9889 (clear_mouse_face): New function pointer member.
9890
02010917
SM
98912000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9892
9893 * syntax.c (back_comment): Use one switch rather than a few `if's.
9894 Obey open_paren_in_column_0_is_defun_start.
9895 When reverting to the `slow' method, try to nicely handle the case
9896 of nested comments by checking that the comment-starter we found
9897 does indeed match the comment-ender.
9898 (scan_sexps_forward, scan_sexps_forward):
9899 Ignore excessive opening parenthesis rather than throwing an error.
9900
d76c03ea
GM
99012000-07-11 Gerd Moellmann <gerd@gnu.org>
9902
9903 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9904 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9905
9906 * dispnew.c (direct_output_forward_char): Give up if currently
9907 displaying a message instead of the minibuffer contents.
9908
9909 * xterm.c (x_update_window_begin): No need to turn off the mouse
9910 highlight here.
9911 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9912 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9913
9914 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9915 compare the mouse_face_p flags of both rows.
9916
9917 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9918
d55ead18
EZ
99192000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9920
9921 * keyboard.c (show_help_echo): Accept additional parameter
9922 ok_to_overwrite_keystroke_echo.
9923 (read_char): Call show_help_echo with a zero
9924 ok_to_overwrite_keystroke_echo argument.
52283633 9925 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9926 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9927 ok_to_overwrite_keystroke_echo argument.
9928 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9929 non-zero ok_to_overwrite_keystroke_echo argument.
9930
df75b1a3
GM
99312000-07-10 Gerd Moellmann <gerd@gnu.org>
9932
4b92c49a
GM
9933 * xdisp.c (try_window_id): If changes are all below what is
9934 displayed in the window, and point is in the window, we still
9935 might have to find point on the display.
9936
9937 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9938 glyphs instead of a single one.
9939 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9940 with new argument list.
9941 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9942
df75b1a3
GM
9943 * keymap.c (get_keymap_1): Add comment that this function can GC.
9944 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9945 comment that functions can GC.
9946 (Fset_keymap_parent): GCPRO arg KEYMAP.
9947
4314cf3e
EZ
99482000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9949
9950 * msdos.c (XMenuActivate): After exiting the menu, restore the
9951 echo area message and erase it.
9952
ab49ce15
KH
99532000-07-10 Kenichi Handa <handa@etl.go.jp>
9954
9955 * fontset.c (Ffontset_info): Make the return value more compatible
9956 with that of Emacs 20.
9957
090a072f
GM
99582000-07-07 Gerd Moellmann <gerd@gnu.org>
9959
9960 * eval.c (Fsignal): Handle case that backtrace_list is null.
9961
f92de4a6
KH
99622000-07-07 Kenichi Handa <handa@etl.go.jp>
9963
9964 * ccl.c (Fccl_execute): Typo fixed.
9965
dd8888a1
GM
99662000-07-06 Gerd Moellmann <gerd@gnu.org>
9967
e5c81191 9968 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9969
dd8888a1
GM
9970 * window.c (Fwindow_list): Reverse list at the end.
9971 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9972 means allow windows on OWINDOW's frame, only.
9973 (window_loop): Simplified; use Fwindow_list.
9974
9975 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9976
485266d0
GM
99772000-07-05 Gerd Moellmann <gerd@gnu.org>
9978
9979 * xterm.c (XTread_socket): Increment handling_signal at the start,
9980 decrement it at the end.
9981
9982 * eval.c (handling_signal): New variable.
9983 (Fsignal): Abort if handling_signal is non-zero.
9984
9985 * lisp.h (handling_signal): External declaration.
178c5d9c 9986
485266d0
GM
9987 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9988
80fcd514
KR
99892000-07-05 Ken Raeburn <raeburn@gnu.org>
9990
9991 Sound support for NetBSD through "Linux emulation" support:
9992 * config.in (HAVE_SOUNDCARD_H): Undef.
9993 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9994 * Makefile.in (LIBSOUND): New variable.
9995 (LIBES): Include it.
52283633
SM
9996 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9997 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9998 (vox_open): Use DEFAULT_SOUND_DEVICE.
9999 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10000
d5c5cddd
GM
100012000-07-05 Gerd Moellmann <gerd@gnu.org>
10002
10003 * print.c (print_error_message): If Vsignaling_function is set,
10004 show it in *Messages*.
10005
10006 * lisp.h (Vsignaling_function): External declaration.
10007
10008 * eval.c (Vsignaling_function): New variable.
10009 (Fsignal): Compute it.
10010 (syms_of_eval): Staticpro it.
10011
65171e3a
DL
100122000-07-05 Dave Love <fx@gnu.org>
10013
10014 * syswait.h: Use the autoconf recommended approach. Old code
10015 #if'd out in case we need to revert.
10016
178c5d9c 10017 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10018
e2c46326
AI
100192000-07-05 Andrew Innes <andrewi@gnu.org>
10020
10021 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10022 when non-NULL instead of __morecore, to take account of buffer
10023 memory. This also solves a problem with spurious memory warnings
10024 on Windows.
10025
10026 * ralloc.c: Make real_morecore non-static.
10027
10028 * eval.c (internal_condition_case): Comment out abort if
10029 interrupt_input_blocked is not zero.
10030
10031 * makefile.nt: Add support for `bootstrap' and related targets.
10032 Include minimal debug info in emacs.exe in release build.
10033 Remove all dependencies on lisp.h, and fixup some others.
10034
10035 * w32.c (init_environment): Install code from 20.7 for providing
10036 default values for environment variables, based on the
10037 executable's own location.
52283633 10038 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10039 (sys_socket): Install socket inheritance bug fix from 20.7.
10040
10041 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10042 here via blockinput.h).
10043
a027a91b
SM
100442000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10045
e4b31601
SM
10046 * w32menu.c (w32_menu_display_help):
10047 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10048
10049 * keyboard.h (show_help_echo): Declare.
10050
10051 * keyboard.c (show_help_echo): New function, extracted from read_char.
10052 Feval its `msg' argument if it's a cons cell.
10053 (read_char): Use it.
4cf8d9d5 10054 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10055
178c5d9c 10056 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10057 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10058 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10059 (dos_rawgetc):
10060 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10061 (note_tool_bar_highlight, w32_read_socket):
10062 Do not gratuitously ignore non-string `help-echo' properties.
10063
88d75730
GM
100642000-07-05 Gerd Moellmann <gerd@gnu.org>
10065
969f7e79
GM
10066 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10067
71201b00
GM
10068 * window.c (delete_all_subwindows): Reset Vwindow_list.
10069
88d75730
GM
10070 * xterm.c (x_append_glyph, x_append_composite_glyph)
10071 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10072 changes in struct glyph starting 1999-12-27. Some bit-fields of
10073 struct glyph were not set, which made glyphs unequal when compared
10074 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10075 effects were the result. This also depended on the contents of
10076 memory returned by xmalloc. If flickering happens again, activate
10077 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10078 gone with that, chances are that it is caused by something similar.
88d75730
GM
10079
10080 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10081
88d75730
GM
10082 * dispextern.h: Add some comments.
10083
10084 * window.c (add_window_to_list): Add parameter LIST.
10085 (window_list): Order list so that, for each frame, windows are
10086 in canonical order, and so that frames appear in the list in
10087 the order given by Vframe_list.
10088 (next_window): Reverse the handling of NEXT_P.
10089
53654733
GM
100902000-07-04 Gerd Moellmann <gerd@gnu.org>
10091
87efd256
GM
10092 * window.c (Vwindow_list): New variable.
10093 (make_window, delete_window): Set Vwindow_list to nil.
10094 (check_window_containing): New function.
10095 (window_from_coordinates): Rewritten.
10096 (add_window_to_list, window_list, candidate_window_p)
10097 (decode_next_window_args, next_window): New functions.
52283633 10098 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10099 (Fwindow_list): New function.
10100 (Fother_window): Cleaned up.
10101 (foreach_window): Add a longer "variable argument list". Let
10102 callback function return 0 to indicate that cycling over windows
10103 should stop.
10104 (foreach_window_1): Likewise.
10105 (freeze_window_start): Return int.
10106 (init_window): New function.
10107 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10108
10109 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10110 input_event with bzero.
10111 (main): Call init_window.
10112
53654733
GM
10113 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10114 a menu filter.
10115
4a8c194f
KH
101162000-07-04 Kenichi Handa <handa@etl.go.jp>
10117
10118 * composite.h (make_composition_value_copy): Extern it.
10119
10120 * composite.c (make_composition_value_copy): New function.
10121
10122 * editfns.c (Fformat): While copying text properties, make each
10123 composition property value a copy.
10124
10125 * fns.c (concat): While copying text properties, make each
10126 composition property value a copy.
10127
831a6cb0
GM
101282000-07-03 Gerd Moellmann <gerd@gnu.org>
10129
2f516940
GM
10130 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10131
178c5d9c 10132 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10133 marked already.
10134
831a6cb0
GM
10135 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10136 include those frames as candidates which have their focus
10137 redirected to the minibuffer frame.
10138
d9c4f922
SM
101392000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10140
10141 * fns.c (Fputhash): Return `value' rather than nil.
10142
3780bc22
GM
101432000-06-30 Gerd Moellmann <gerd@gnu.org>
10144
97d176db
GM
10145 * frame.c (next_frame): Don't check focus redirection in case
10146 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10147 unless their focus is redirected, which contradicts the
10148 specification of next-frame, and leads to infinite loops in
10149 certain situations when cycling through windows with next-window.
10150
dca9961d
KH
101512000-06-30 Kenichi Handa <handa@etl.go.jp>
10152
10153 * coding.c (code_convert_region): Even if the length of text is
10154 zero, try to convert it if coding->type is coding_type_ccl.
10155 (decode_coding_string, encode_coding_string): Likewise.
10156
d5483ab1
GM
101572000-06-28 Gerd Moellmann <gerd@gnu.org>
10158
af5c25e1 10159 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10160 the display if windows_or_buffers_changed.
af5c25e1
GM
10161
10162 * dispnew.c (struct row_entry): New structure.
10163 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10164 (row_table_size, old_lines, new_lines, old_lines_size)
10165 (new_lines_size, run_pool, runs_size, runs): New variables.
10166 (add_row_entry): New function.
10167 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10168 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10169 holding them in local variables. Use a larger hash table whose
10170 size depends on glyph matrix sizes. Don't use bzero to clear the
10171 hash table; instead, clear used slots only.
10172
10173 * fns.c (next_almost_prime): Make it externally visible.
10174
10175 * lisp.h (next_almost_prime): Add prototype.
10176
d5483ab1
GM
10177 * s/isc4-0.h (sigunblock): Define.
10178
10179 * s/sco5.h (sigunblock): Define.
10180
93e40f40
DL
101812000-06-27 Dave Love <fx@gnu.org>
10182
10183 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10184 (moved to osf5-0.h).
10185 [!NOT_C_CODE]: Protect string.h stuff.
10186
10187 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10188 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10189
3c4b7685
GM
101902000-06-27 Gerd Moellmann <gerd@gnu.org>
10191
97d176db 10192 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10193 below the last line from the needed window height.
10194
32cad0aa
SM
101952000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10196
10197 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10198 (Fwidget_get): Use it.
10199 (syms_of_fns): Defsubr it.
10200
2c69ced2
GM
102012000-06-26 Gerd Moellmann <gerd@gnu.org>
10202
178c5d9c 10203 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10204 display info for XIM.
10205 (xim_open_dpy): Likewise.
10206 (xim_close_dpy): Don't free the display info's XIM.
10207
10208 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10209
10210 * config.in (USE_XIM): New define.
10211
3fc720e4
GM
10212 * keymap.c (get_keyelt): For menu-items containing a `:filter
10213 FILTER', apply FILTER to the menu-item's definition to get the
10214 real definition to use.
10215
10216 * lisp.h (QCfilter): External declaration.
10217
2c69ced2
GM
10218 * xfns.c (Fimage_size): New function.
10219 (syms_of_xfns): Defsubr it.
10220
f978b2a2
AS
102212000-06-26 Andreas Schwab <schwab@suse.de>
10222
10223 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10224 Fstring_as_unibyte.
10225
94cc7892
DL
102262000-06-25 Dave Love <fx@gnu.org>
10227
52283633 10228 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10229
10230 * Makefile.in (blockinput.h): Depend on atimer.h.
10231 (atimer.h): Depend on systime.h.
10232
52283633 10233 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10234
52283633 10235 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10236
10237 * lisp.h (swap_in_global_binding): Declare.
10238
b8c24556
KR
102392000-06-24 Ken Raeburn <raeburn@gnu.org>
10240
10241 * process.c (Fopen_network_stream): Turn off atimers for duration
10242 of call to connect. (Patch from Gerd.)
10243
8cf8560b
DL
102442000-06-23 Dave Love <fx@gnu.org>
10245
511c7541
DL
10246 * ralloc.c: Maybe include unistd.h
10247
8cf8560b
DL
10248 * emacs.c (setgrp): Undefine before defining.
10249 (malloc_warning, set_time_zone_rule, index): Prototype.
10250
10251 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10252 HAVE_STRUCT_TIMEZONE.
10253
10254 * s/osf1.h: Move string.h hack here from alpha.h and make it
10255 conditional.
10256 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10257 _XOPEN_SOURCE.
10258 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10259 (SOCKLEN_TYPE): Don't define.
10260
10261 * m/alpha.h: Remove string.h hack.
10262
10263 * s/osf5-0.h: New file.
10264
10265 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10266 include time.h, done by systime.h.
10267 [__FreeBSD__]: Remove redundant includes.
10268
3fc720e4 10269 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10270 (delete_temp_file): Return Qnil to avoid warning.
10271
10272 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10273
10274 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10275 HAVE_X_WINDOWS.
10276
10277 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10278
10279 * composite.h (compose_text): Declare.
10280
10281 * xterm.c: Don't include sys/types.h unconditionally. Don't
10282 protect its inclusion with !USG (following xmenu.c).
10283
ea055732
GM
102842000-06-23 Gerd Moellmann <gerd@gnu.org>
10285
10286 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10287 in x_create_frame.
10288
74b01b80
EZ
102892000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10290
10291 * coding.c (decode_eol_post_ccl): Special handling for undecided
10292 and inconsistent EOL types.
10293
64f3a166
GM
102942000-06-22 Gerd Moellmann <gerd@gnu.org>
10295
16cf31f7
GM
10296 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10297 trough color and main window's background color.
10298
52283633 10299 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10300
10301 * xterm.h (Xt_app_con): External declaration.
10302
10303 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10304
486a103d
GM
10305 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10306
64f3a166
GM
10307 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10308 (handle_invisible_prop): Record the start of invisible text in
10309 it->add_overlay_start.
10310 (struct overlay_entry): Add member `overlay'.
10311 (handle_overlay_change): Simplify.
10312 (next_overlay_string): After having processed overlay strings at the
10313 end of the buffer, record that fact in
10314 it->overlay_strings_at_end_processed_p.
10315 (compare_overlay_entries): If before- and after-strings come
10316 from the same overlay, let before-strings come first.
10317 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10318 (load_overlay_strings): Take it->add_overlay_start into account
10319 when adding overlay strings.
10320
10321 * dispextern.h (struct it): Add member add_overlay_start.
10322
bb746ea6
DL
103232000-06-22 Dave Love <fx@gnu.org>
10324
10325 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10326
10327 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10328
a8f573f3
KH
103292000-06-22 Kenichi Handa <handa@etl.go.jp>
10330
10331 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10332 is greater than 0.
10333
9f2bbc92
DL
103342000-06-21 Dave Love <fx@gnu.org>
10335
178c5d9c 10336 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10337
3ee5041c
SM
103382000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10339
10340 * syntax.c (back_comment): Simplify string-parity counting (with
10341 the added benefit of handling multiple string-styles as long as
10342 they are not intertwined).
10343 Jump to the slow code as soon as a comment starter is found in
10344 a "string_lossage" position. Fixes the case: " /* " /* " */.
10345
4c343001
DL
103462000-06-21 Dave Love <fx@gnu.org>
10347
10348 * Makefile.in: Use GETLOADAVG_LIBS.
10349
10350 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10351 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10352
e6365855
SM
103532000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10354
10355 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10356 (Fforward_comment, scan_lists):
10357 Check the comstyle of single-char comment-starters.
10358 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10359 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10360 Check the comstyle of single-char comment-starters.
10361 Clarify control-flow around the Scomment case.
e6365855 10362
5700d2cc
DL
103632000-06-20 Dave Love <fx@gnu.org>
10364
d355bd8a
SM
10365 * fns.c (make_hash_table, maybe_resize_hash_table):
10366 Cast arg of next_almost_prime.
5700d2cc 10367
178c5d9c 10368 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10369
10370 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10371 and unistd.h.
10372
4a27bdfb
GM
103732000-06-20 Gerd Moellmann <gerd@gnu.org>
10374
a61d762c 10375 * keyboard.c (adjust_point_for_property): Check if display
52283633 10376 property should be treated as intangible by looking at its value.
a61d762c 10377
178c5d9c 10378 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10379 (display_prop_intangible_p): New functions.
10380
10381 * dispextern.h (display_prop_intangible_p): Add prototype.
10382
10383 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10384
4a27bdfb
GM
10385 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10386 argument to sigprocmask.
10387
10388 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10389 argument to sigprocmask.
10390
10391 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10392 sigprocmask_set, and pass a pointer to it to sigprocmask.
10393
10394 * sysdep.c (sigprocmask_set): New variable.
10395
10396 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10397 report_file_error.
10398
427ec082
SS
103992000-06-20 Sam Steingold <sds@gnu.org>
10400
10401 * xrdb.c: Don't declare xmalloc, xrealloc.
10402
8972fe79 104032000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10404
10405 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10406 (re_comp): Cast gettext return value to avoid complaints when
10407 !HAVE_LIBINTL.
10408
074b6efe
DL
104092000-06-20 Dave Love <fx@gnu.org>
10410
52283633 10411 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10412
5700d2cc 10413 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10414
d355bd8a 10415 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10416
10417 * m/alpha.h: Don't declare xmalloc, xrealloc.
10418
0af4f205
DL
10419 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10420
10421 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10422
10423 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10424
10425 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10426 HAVE_GETWD.
10427
074b6efe
DL
10428 * keyboard.h (poll_for_input_1): Declare.
10429
10430 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10431
10432 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10433
10434 * doprnt.c: Don't declare xmalloc, xrealloc.
10435
10436 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10437 (getenv, ctime, getwd): Removed.
10438 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10439
10440 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10441 x_set_tool_bar_lines.
10442
10443 * config.in: Add HAVE_GETWD. Move some definitions above
10444 machine/system includes.
10445
68a5e97b
KH
104462000-06-20 Kenichi Handa <handa@etl.go.jp>
10447
95417e1e
KH
10448 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10449
68a5e97b
KH
10450 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10451 contain information about ENCODING.
10452
10453 * fontset.c (FONTSET_ASCII): Use the first element of char table
10454 for an ASCII font, not defalt slot.
10455 (fontset_ref_via_base): If FONTSET doesn't contain information for
10456 C, try the default fontset.
10457 (make_fontset): Don't copy the default fontset.
10458 (fontset_font_pattern): Likewise.
10459 (accumulate_font_info): If ELT is nil, use the corresponding
10460 element in the default fontset.
10461
3b4fa1b2
DL
104622000-06-19 Dave Love <fx@gnu.org>
10463
943e731c
DL
10464 * syntax.c (Fparse_partial_sexp): Doc fix.
10465
10466 * regex.h: Test PROTOTYPES as well as __STDC__.
10467
3b4fa1b2
DL
10468 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10469 errno, strerror. Put text after #endif in comment.
10470
52283633 10471 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10472
10473 * xterm.c (x_frame_of_widget): Likewise.
10474
cdf0357b
GM
104752000-06-19 Gerd Moellmann <gerd@gnu.org>
10476
10477 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10478 to Vfundamental_mode_abbrev_table.
10479
10480 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10481 bogus objects are marked. This slows down GC by ~80 percent, but
10482 it might be worth trying when debugging GC-related problems.
10483 This feature requires conservative stack marking to be enabled.
10484
10485 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10486 returns XLookupChars, reset `modifiers' to zero.
10487
998e9f8c
DL
104882000-06-19 Dave Love <fx@gnu.org>
10489
10490 * mktime.c: Unprotoized.
10491
18e21ce8 104922000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10493
10494 * data.c (set_internal): If variable is frame-local,
10495 store the new value immediately into the frame parameter alist.
10496
140c4ac6
KR
104972000-06-19 Ken Raeburn <raeburn@gnu.org>
10498
14358466
KR
10499 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10500 in the custom handler pointer.
10501
140c4ac6
KR
10502 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10503 value, or checks for CHAR_META can fail when Lisp_Object is a
10504 union type.
10505 * keymap.c (get_keyelt): Likewise.
10506
10d7bf84
KH
105072000-06-19 Kenichi Handa <handa@etl.go.jp>
10508
10509 * ccl.h (struct ccl_program): New member eol_type.
10510 (struct ccl_spec): New member cr_carryover.
10511
10512 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10513 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10514
10515 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10516 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10517 (decode_eol_post_ccl): New function.
10518 (decode_coding): Don't detect EOL format here for CCL based coding
10519 systems.
10520 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10521 decode_eol_post_ccl after running the CCL program.
10522 (code_convert_region): Don't detect EOL format here for CCL based
10523 coding systems.
10524 (decode_coding_string): Likewise.
10525
52e386c2
KR
105262000-06-18 Ken Raeburn <raeburn@gnu.org>
10527
10528 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10529 when treating it as an integer.
10530
10531 * coding.h (encode_coding_string): Declare.
10532
10533 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10534 it as an integer.
10535
10536 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10537 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10538 to be passed to get_local_map.
10539
10540 * sound.c (Fplay_sound): Don't call make_number on
10541 Frun_hook_with_args count argument.
10542
10543 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10544 for lisp objects in X event structure data field, when lisp
10545 objects are represented with unions.
10546 (x_scroll_bar_to_input_event): Ditto.
10547
b357b9d4
KR
105482000-06-16 Ken Raeburn <raeburn@gnu.org>
10549
10550 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10551 termination of string. Fix sense of test whether
10552 Vline_number_display_limit is an integer.
b357b9d4 10553
a871441d
GM
105542000-06-16 Gerd Moellmann <gerd@gnu.org>
10555
a9021acd
GM
10556 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10557 only if HAVE_X_WINDOWS.
10558
6344985d
GM
10559 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10560 of titles.
10561
427ec082 10562 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10563 out of bounds.
10564
228b083e
EZ
105652000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10566
10567 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10568 of its headers.
10569
c25b53a2
KH
105702000-06-15 Kenichi Handa <handa@etl.go.jp>
10571
10572 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10573 start of the while loop.
10574
a6981b11
GM
105752000-06-15 Gerd Moellmann <gerd@gnu.org>
10576
e9924e52
GM
10577 * atimer.c (alarm_signal_handler): Add forward declaration.
10578
a6981b11
GM
10579 * data.c (set_internal): Remove debug code.
10580
25fa6deb
GM
105812000-06-14 Gerd Moellmann <gerd@gnu.org>
10582
dce6b995
GM
10583 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10584
9f817ea4
GM
10585 * unexec.c (toplevel) [COFF]: Include coff.h.
10586
10587 * s/lynxos.h: New file.
10588
10589 * keymap.c (Fsingle_key_description): Enclose function key and
10590 event symbol names in angle brackets.
10591
8a4e3c0c
GM
10592 * xdisp.c (setup_echo_area_for_printing): Call
10593 message_log_maybe_newline if message_buf_print is not set.
10594
10595 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10596 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10597 function does something useful even when message_buf_print is
10598 already set.
10599
52283633
SM
10600 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10601 New variables.
25fa6deb
GM
10602 (ensure_echo_area_buffers): Initialize echo buffer's
10603 truncate lines setting to nil.
10604 (with_echo_area_buffer): Don't set the echo buffer's truncate
10605 lines setting here.
8a4e3c0c 10606 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10607 of message_truncate_lines.
10608 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10609 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10610 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10611
10612 * keyboard.c (read_char): Bind message-truncate-lines to t
10613 while displaying a help-echo.
10614
10615 * lisp.h (Qmessage_truncate_lines): External declaration.
10616
163dcff3
GM
106172000-06-13 Gerd Moellmann <gerd@gnu.org>
10618
1681ead6
GM
10619 * xdisp.c (Vline_number_display_limit): Renamed from
10620 line_number_display_limit.
10621 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10622 Extend documentation string. Initialize
10623 Vline_number_display_limit to nil meaning no limit.
10624 (decode_mode_spec): Use Vline_number_display_limit with its new
10625 meaning.
10626
163dcff3
GM
10627 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10628
18e21ce8 106292000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10630
10631 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10632
163dcff3
GM
10633 * xfns.c (x_set_frame_parameters): Comment fix.
10634
10635 * frame.c (store_frame_param): Call swap_in_global_binding if the
10636 variable's current binding was chosen based on this frame.
10637
10638 * data.c (swap_in_global_binding): New function.
10639
a704139d
EZ
106402000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10641
10642 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10643 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10644
9b6610db
EZ
106452000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10646
10647 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10648
c68833d2
JR
106492000-06-12 Jason Rumney <jasonr@gnu.org>
10650
10651 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10652
10653 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10654
10655 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10656
10657 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10658
ed1056b3
GM
106592000-06-12 Gerd Moellmann <gerd@gnu.org>
10660
10661 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10662 (syms_of_xfaces): Defsubr Sdump_colors.
10663 (x_free_colors): Don't treat b&w specially on default visual.
10664 (x_free_dpy_colors): New function.
10665 (free_face_colors): Don't check visual class; it's done
10666 in x_free_colors.
10667
10668 * xterm.c (x_frame_of_widget): New function.
10669 (x_alloc_nearest_color_for_widget): Use it.
10670 (x_copy_dpy_color): New function.
10671 (x_destroy_window): Free various colors.
10672
5050a2ef
KH
106732000-06-12 Kenichi Handa <handa@etl.go.jp>
10674
10675 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10676
10677 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10678
10679 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10680
10681 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10682
10683 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10684
fb1b041d
DL
106852000-06-11 Dave Love <fx@gnu.org>
10686
10687 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10688
ff96b5f4
EZ
106892000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10690
10691 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10692
db8eeecd
GM
106932000-06-11 Gerd Moellmann <gerd@gnu.org>
10694
ed1056b3 10695 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10696 to `XEvent *'.
10697
49b71c5f
KH
106982000-06-10 Kenichi Handa <handa@etl.go.jp>
10699
c479bd55
KH
10700 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10701 (regex_compile): Fix the code for handling the case of single byte
10702 char and multibyte char being mixed in a range within [...].
10703
ff6a65c2
KH
10704 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10705 and dst_multibyte members of coding.
10706
49b71c5f
KH
10707 * charset.c (update_charset_table): Update the table
10708 bytes_by_char_head.
10709 (init_charset_once): Initialize elements of bytes_by_char_head to
10710 1 except for leading codes for private charases.
10711
10712 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10713 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10714
9e80b57d
KR
107152000-06-09 Ken Raeburn <raeburn@gnu.org>
10716
10717 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10718 access the data it doesn't point to.
10719
f83fe4b4
GM
107202000-06-08 Gerd Moellmann <gerd@gnu.org>
10721
10722 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10723 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10724 event queue. This is necessary because Emacs otherwise won't
10725 perform a switch-frame to a new frame until some other event, for
10726 example a keystroke event, forces it to do so. This has various
10727 effects, one visible being that the cursor of a frame created with
10728 C-x 5 2 or switched to with a window manager key binding like
10729 A-TAB stays hollow because selected_window isn't on the newly
10730 focused frame until the switch-frame is performed.
10731
10732 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10733 generating a switch-frame event if necessary.
10734
10735 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10736
10737 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10738 it's an integer.
10739
0890801b
KH
107402000-06-08 Kenichi Handa <handa@etl.go.jp>
10741
52283633 10742 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10743
173cbca8
GM
107442000-06-07 Gerd Moellmann <gerd@gnu.org>
10745
3091c2a6
GM
10746 * window.c (displayed_window_lines): Take empty lines at
10747 the bottom of a window into account.
427ec082 10748
f38952fe
GM
10749 * window.c (displayed_window_lines): New function.
10750 (Fmove_to_window_line): Use displayed_window_lines to determine
10751 the number of lines to move, instead of using the window's height.
10752
10753 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10754 to stop reading, even if the form read sets point to a different
10755 value when evaluated.
10756
427ec082 10757 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10758 put the cursor.
10759
6ba6c818
KH
107602000-06-07 Kenichi Handa <handa@etl.go.jp>
10761
10762 * fileio.c (e_write): Free composition data if stored in
10763 coding->cmp_data.
10764
5f1aea9a
GM
107652000-06-06 Gerd Moellmann <gerd@gnu.org>
10766
666852af
GM
10767 * xdisp.c (display_line): Set row's and iterator's
10768 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10769 Set cursor even if row ends in the middle of a character.
10770 (dump_glyph_row): Print values of new flags.
10771 (redisplay_window) <cursor movement in unchanged window>: When
10772 point has been moved forward, and PT is at the end of the cursor
10773 row, don't place the cursor in the next row if the cursor row ends
10774 in the middle of a character or at ZV.
10775
10776 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10777 (struct glyph_row): Add starts_in_middle_of_char_p and
10778 ends_in_middle_of_char_p.
10779 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10780 ends_in_middle_of_char_p flag.
10781 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10782
d13f3e2e
GM
10783 * term.c (append_glyph): Revert change of 2000-06-06.
10784
10785 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10786 padding glyph not fitting on line as whole character not
10787 fitting on line.
10788
5f1aea9a
GM
10789 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10790 this isn't true for images with `:ascent 100'.
10791
10cda9b0
KH
107922000-06-06 Kenichi Handa <handa@etl.go.jp>
10793
ed00559d
KH
10794 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10795 as modified if it is originally unmodified.
10796
10cda9b0
KH
10797 * term.c (encode_terminal_code): Change the way to check if
10798 terminal coding does any conversion.
10799 (append_glyph): Set glyph->pixel_width correctly.
10800
10801 * xdisp.c (display_line): While checking line continuation, pay
10802 attention to a padding glyph.
10803
1969fae2
GM
108042000-06-05 Gerd Moellmann <gerd@gnu.org>
10805
10806 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10807
162ccef4
DL
108082000-06-05 Dave Love <fx@gnu.org>
10809
f19f32dd
DL
10810 * xdisp.c: Include fontset.h.
10811
10812 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10813
10814 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10815
10816 * dispnew.c: Conditionally include term.h.
10817
10818 * coding.h: Declare code_convert_string_norecord.
10819
10820 * frame.h (struct frame): Use volatile unconditionally.
10821
10822 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10823
10824 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10825
10826 * systime.h: Protect against multiple inclusion.
10827 (timezone) [USG5_4]: Define as time_t.
10828
10829 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10830 (Foptimize_char_table, make_temp_name): Declare.
10831
10832 * Makefile.in (xdisp.o): Depend on fontset.h.
10833
10834 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10835
10836 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10837 (Foptimize_char_table, make_temp_name): Declare.
10838
427ec082 10839 * s/irix4-0.h:
162ccef4
DL
10840 * s/irix5-0.h:
10841 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10842
2082fe81
DL
108432000-06-02 Dave Love <fx@gnu.org>
10844
10845 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10846
dcf671d2
GM
108472000-06-02 Gerd Moellmann <gerd@gnu.org>
10848
10849 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10850 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10851 be freed.
10852
10853 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10854 glyph, use the ASCII NUL character to determine the face.
10855
d42122a3
DL
108562000-06-02 Dave Love <fx@gnu.org>
10857
10858 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10859 (VFORK_RETURN_TYPE): Remove.
427ec082 10860
d42122a3
DL
10861 * config.in: Add NO_MATHERR.
10862
dd432f16
DL
108632000-06-01 Dave Love <fx@gnu.org>
10864
90aa4ea8
DL
10865 * cmds.c (internal_self_insert): Don't check
10866 Vbefore_change_function, Vafter_change_function.
10867
10868 * insdel.c (signal_before_change, signal_after_change): Likewise.
10869
10870 * buffer.c (Vbefore_change_function, Vafter_change_function):
10871 Variables and their initializations deleted.
10872
2330c9d4
DL
10873 * callint.c (Fcall_interactively): Doc fix.
10874
dd432f16
DL
10875 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10876
bf9e8804
DL
108772000-05-31 Dave Love <fx@gnu.org>
10878
10879 * textprop.c: Revert last change -- duplicated.
10880
3694b4ab
GM
108812000-05-31 Gerd Moellmann <gerd@gnu.org>
10882
10883 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10884 in #if 0.
10885
10886 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10887
f14156cd
JR
108882000-05-31 Jason Rumney <jasonr@gnu.org>
10889
8119aab8
JR
10890 * search.c (Fre_search_forward, Fre_search_backward)
10891 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10892
f14156cd
JR
10893 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10894
4aab9be3
JR
108952000-05-30 Jason Rumney <jasonr@gnu.org>
10896
10897 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10898 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10899
52283633 10900 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10901
10902 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10903 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10904 expand a nil default_filename.
10905
10906 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10907 pointer to glyph_to_pixel_coords, not a frame.
10908
10909 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10910 coding.h to dependencies.
10911
10912 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10913
10914 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10915 window pointer to be consistent with w32term.c and xterm.c.
10916
10917 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10918 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10919 (Qline_spacing, Qcenter): New variables.
10920 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10921 (x_set_line_spacing): New function.
52283633 10922 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10923 (x_specified_cursor_type): New function.
10924 (x_set_cursor_type): Use it.
10925 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10926 and icon strings.
10927 (validate_x_resource_name, x_get_resource_string): Measure lengths
10928 of external strings in bytes.
10929 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10930 GetTextExtentPoint32 with NULL title.
10931 (Fx_create_frame): Initialize Qline_spacing.
10932 (w32_load_system_font): Initialize font->double_byte_p.
10933 (x_to_w32_charset): Use Vw32_charset_info_alist.
10934 (Image, busy cursor, tooltip functions): Merged changes from
10935 xfns.c. Not yet functional on Windows.
10936
10937 * w32gui.h (W32FontStruct): Add double_byte_p member.
10938
10939 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10940 (emacs_button_translation): Use it.
10941 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10942 in `mask' to be set.
10943
10944 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10945 menu strings.
10946
10947 * w32term.c: Format and doc changes to bring closer to xterm.c.
10948 (w32_char_font_type): New enum.
10949 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10950 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10951 (w32_encode_char): New function.
10952 (x_encode_char): Removed.
10953 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10954 x_encode_char and w32_font_is_double_byte.
10955 (x_produce_image_glyph): Use image_ascent.
10956 (x_produce_glyphs): Use new version of w32_per_char_metric and
10957 handle NULL return value. Allow extra line spacing.
10958 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10959 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10960 w32_font_type member of glyph instead.
10961 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10962 (fast_find_position): Make sure not to consider rows not visible
10963 in the window.
10964 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10965 w32_menu_display_help with input blocked, as it can abort.
10966 (x_display_and_set_cursor): Choose cursor depending
10967 on buffer-local value of cursor_type.
10968 (x_draw_bar_cursor): Add parameter WIDTH.
10969
10970 * w32term.h (CP_DEFAULT): Define.
10971 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10972
10fc3187
GM
109732000-05-30 Gerd Moellmann <gerd@gnu.org>
10974
10975 * search.c (Fre_search_forward, Fre_search_backward)
10976 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10977
d0555360
KH
109782000-05-30 Kenichi Handa <handa@etl.go.jp>
10979
10980 * coding.c (detect_coding_iso2022): Fix code for checking
10981 CODING_CATEGORY_MASK_ISO_8_2.
10982
f1ad044f
SM
109832000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10984
10985 * regex.c (PREFETCH_NOLIMIT): New function.
10986 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10987
84ec3b4b
GM
109882000-05-29 Gerd Moellmann <gerd@gnu.org>
10989
66254a13
GM
10990 * syntax.c (find_defun_start): Move test for
10991 open_paren_in_column_0_is_defun_start outside of the loop.
10992
49e70dec
GM
10993 * xdisp.c (redisplay_window): Really switch buffers when
10994 displaying mode lines, and temporarily set selected_frame to the
10995 frame of the window that's redisplayed.
10996
84ec3b4b
GM
10997 * xfaces.c (free_realized_faces): Block/unblock input.
10998 (free_realized_multibyte_face): Ditto.
10999
869a3a14
DL
110002000-05-29 Dave Love <fx@gnu.org>
11001
11002 * textprop.c (Qkeymap): New variable.
11003 (syms_of_textprop): Intern it.
11004
11005 * keymap.c: Include intervals.h.
11006 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11007
11008 * Makefile.in (keymap.o): Depend on intervals.h.
11009
11010 * keyboard.c (menu_bar_items, tool_bar_items)
11011 (Fexecute_extended_command): Deal with `keymap' property.
11012 (read_key_sequence): Track map from `keymap' property as well as
11013 `local_map'.
11014
11015 * intervals.c (get_local_map): Extra arg to allow looking for
11016 `keymap' too.
11017
11018 * intervals.h (map_property): New enum.
11019 (get_local_map): Extra arg using it.
11020 (Qkeymap): Declare.
11021
84ec3b4b 11022 * lisp.h (get_local_map): Don't declare here.
869a3a14 11023
89d0c844
KH
110242000-05-29 Kenichi Handa <handa@etl.go.jp>
11025
11026 * Makefile.in (callproc.o): Depend on composite.h.
11027
11028 * callproc.c: Include composite.h.
11029 (Fcall_process): Handle composition correctly.
11030
11031 * coding.h (coding_allocate_composition_data): Extern it.
11032 (coding_restore_composition): Likewise.
11033
11034 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11035 yet allocated, finish decoding with result
11036 CODING_FINISH_INSUFFICIENT_CMP.
11037 (coding_allocate_composition_data): Make it non-static.
11038 (coding_restore_composition): Likewise.
11039
797a084a
EZ
110402000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11041
11042 * charset.c (syms_of_charset): Revert last change.
11043
cf872af5
EZ
110442000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11045
11046 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11047 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11048 Handa.
cf872af5 11049
5b1ae051
EZ
110502000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11051
11052 * charset.c (syms_of_charset): Set width of character sets
11053 eight-bit-control and eight-bit-graphic to 1 column.
11054
34ec9ebe
GM
110552000-05-26 Gerd Moellmann <gerd@gnu.org>
11056
11057 * config.in (HAVE_SPEED_T): New define.
11058
11059 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11060 `extern speed_t'.
11061
dd854dc2
DL
110622000-05-26 Dave Love <fx@gnu.org>
11063
11064 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11065
11066 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11067 (Fsubr_arity): New function.
11068 (syms_of_data): Install them.
11069
ba9f8f95
KH
110702000-05-26 Kenichi Handa <handa@etl.go.jp>
11071
0f3e0672
KH
11072 * charset.c (init_charset_once): Set the table bytes_by_char_head
11073 correctly.
11074
cebefb44
KH
11075 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11076 the default fontset to what Emacs uses by default.
0f3e0672
KH
11077 (check_registry_encoding): This function deleted.
11078 (Fset_fontset_font): Remove the adhoc condition for the default
11079 fontset. Allow cons in FONTNAME.
cebefb44 11080
0f3e0672
KH
11081 * fns.c (map_char_table): Ignore char-table entries for
11082 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11083
7a18af49
KR
110842000-05-25 Ken Raeburn <raeburn@gnu.org>
11085
11086 * emacs.c (main): Initialize keyboard syms before initializing
11087 window code, so face names are available.
11088
d2af47df
SM
110892000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11090
11091 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11092 of an anchor at the beginning of a shy-group.
11093
fc6a6a4e
GM
110942000-05-25 Gerd Moellmann <gerd@gnu.org>
11095
11096 * xdisp.c (handle_invisible_prop): Don't try to skip over
11097 invisible text if end of text is already reached.
11098
005f0d35
DL
110992000-05-25 Dave Love <fx@gnu.org>
11100
02513cdd
DL
11101 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11102
005f0d35
DL
11103 * coding.c (encode_eol): Add null statement after label.
11104
89f6ca4e
EZ
111052000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11106
11107 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11108 2000-05-20.
11109
a4e1759e
KH
111102000-05-25 Kenichi Handa <handa@etl.go.jp>
11111
11112 * ccl.c (ccl_driver): Fix previous change.
11113
eacfd7fe
KH
111142000-05-25 Kenichi Handa <handa@etl.go.jp>
11115
46ab33a9
KH
11116 * coding.c (run_pre_post_conversion_on_str): Set point to the
11117 beginning of buffer before calling coding->post_read_conversion.
11118 (decode_coding_string): Give correct args to
11119 run_pre_post_conversion_on_str.
11120 (encode_coding_string): Likewise.
11121
eacfd7fe
KH
11122 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11123 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11124 eight-bit-graphic correctly.
11125
f8569325
DL
111262000-05-24 Kenichi HANDA <handa@etl.go.jp>
11127
11128 * fileio.c (Finsert_file_contents): Even if a file is not found,
11129 execute codes for setting up coding system. Call
11130 after-insert-file-functions unconditionally.
11131
04545643
GM
111322000-05-24 Gerd Moellmann <gerd@gnu.org>
11133
11134 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11135 BSD_PGRPS are not defined.
11136
747d90ea
KH
111372000-05-24 Kenichi Handa <handa@etl.go.jp>
11138
11139 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11140 DESCRIPTION.
11141 (syms_of_charset): Avoid building same strings.
11142
716e3b88
GM
111432000-05-23 Gerd Moellmann <gerd@gnu.org>
11144
11145 * lread.c (Fload): Add a comment about the meaning of
11146 Vuser_init_file being t.
11147
11148 * puresize.h (BASE_PURESIZE): Increase to 675000.
11149
11150 * s/gnu-linux.h (setpgrp): Don't define it here because this
11151 prevents compilation on GNU/Linux systems with glib 2.2.
11152
11153 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11154 as setpgid.
427ec082 11155
9aeb39fa
EZ
111562000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11157
11158 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11159 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11160 version.
11161 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11162
29ced61b
KH
111632000-05-23 Kenichi Handa <handa@etl.go.jp>
11164
52283633 11165 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11166
3d80f24d
KH
11167 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11168
52283633 11169 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11170
29ced61b
KH
11171 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11172
d7e00792
KH
111732000-05-22 Kenichi Handa <handa@etl.go.jp>
11174
c9d80d38
KH
11175 * keyboard.c (read_char): Allow character codes 128..255 to be
11176 handled by input-method-function.
11177
d7e00792
KH
11178 * insdel.c (adjust_markers_for_replace): Fix previous change.
11179 (adjust_after_replace): If PREV_TEXT is nil, call
11180 adjust_markers_for_insert, not adjust_markers_for_replace.
11181
087121cc 111822000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11183
087121cc
GM
11184 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11185 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11186 [HAVE_GRANDPT]: Define.
11187 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11188
11189 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11190 like SYSV_PTYS.
11191
11192 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11193
11194 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11195
c9671f81
KH
111962000-05-20 Kenichi Handa <handa@etl.go.jp>
11197
11198 The following changes are to handle 8-bit characters in a
11199 multibyte buffer/string without facing with byte combining
11200 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11201 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11202
11203 * Makefile.in (fns.o): Depend on charset.h.
11204
11205 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11206 convert it to unibyte.
11207 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11208
11209 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11210 apparent char boundary.
11211 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11212 0x80..0x9F to/from multibyte form.
11213
11214 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11215 to unibyte.
11216
11217 * callproc.c (Fcall_process): Always encode an argument string if
11218 it is multibyte. Setup src_multibyte and dst_multibyte members of
11219 process_coding properly.
ce75fd23 11220
c9671f81
KH
11221 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11222 SPLIT_NON_ASCII_CHAR.
11223
11224 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11225 as is.
11226 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11227
52283633 11228 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11229 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11230 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11231 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11232 and eight-bit-graphic.
11233 (char_to_string): Likewise. Signal an error for too large
11234 character code.
11235 (char_printable_p): Return 0 for 8-bit characters.
11236 (update_charset_table): Update iso_charset_table only when a final
11237 character is non-negative.
11238 (find_charset_in_text): Renamed from find_charset_in_str.
11239 Arguments and return value changed. Callers changed.
11240 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11241 be -1 if CHARSET is used only internally.
11242 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11243 eight-bit-graphic.
11244 (Fcharset_after): Simplified.
11245 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11246 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11247 (multibyte_chars_in_text): Simplified by assuming there's no
11248 invalid multibyte sequence.
52283633
SM
11249 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11250 (str_as_unibyte): New functions.
11251 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11252 (init_charset_once): Initialization for
11253 LEADING_CODE_8_BIT_CONTROL.
11254 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11255 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11256 eight-bit-control and eight-bit-graphic.
11257
52283633
SM
11258 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11259 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11260 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11261 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11262 (CHARSET_REVERSE_CHARSET): Likewise.
11263 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11264 eight-bit-graphic.
11265 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11266 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11267 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11268 encounter an invalid multibyte sequence.
11269 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11270 sequence is always valid.
11271 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11272 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11273 (CHAR_STRING): For 8-bit characters, call char_to_string.
11274 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11275 multibyte sequence is always valid.
11276 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11277 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11278 (str_as_unibyte): Extern them.
c9671f81 11279 (BCOPY_SHORT): Fix a bug.
52283633 11280 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11281 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11282 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11283 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11284
bd4bde7f 11285 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11286 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11287 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11288 (EMIT_BYTES): New macros.
11289 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11290 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11291 macros deleted.
11292 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11293 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11294 check the validity of multibyte sequence.
11295 (decode_coding_emacs_mule): New function.
11296 (encode_coding_emacs_mule): New macro.
11297 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11298 the source.
11299 (DECODE_ISO_CHARACTER): Just return a character code.
11300 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11301 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11302 EMIT_CHAR to produced decoded characters. Exit the loop only by
11303 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11304 block here.
11305 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11306 only position codes for an invalid character.
11307 (encode_designation_at_bol): Return new destination pointer. 5th
11308 arg DSTP is changed to DST.
11309 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11310 from the source by ONE_MORE_CHAR. Don't handle the case of last
11311 block here.
11312 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11313 macros deleted.
52283633
SM
11314 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11315 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11316 TWO_MORE_BYTES to fetch a byte from the source.
11317 (encode_eol): Pay attention to coding->src_multibyte.
11318 (detect_coding, detect_eol): Preserve members src_multibyte and
11319 dst_multibyte.
11320 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11321 (encoding_buffer_size): Set magnification to 3 for all coding
11322 systems that require encoding.
11323 (ccl_coding_driver): For decoding, be sure that the result is
11324 valid multibyte sequence.
11325 (decode_coding): Initialize coding->errors and coding->result.
11326 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11327 and raw-text, always call decode_eol. Handle the case of last
11328 block here. If not coding->dst_multibyte, convert the resulting
11329 sequence to unibyte.
11330 (encode_coding): Initialize coding->errors and coding->result.
11331 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11332 and raw-text, always call encode_eol. Handle the case of last
11333 block here.
11334 (shrink_decoding_region, shrink_encoding_region): Detect cases
11335 that we can't skip data more rigidly.
11336 (code_convert_region): Setup src_multibyte and dst_multibyte
11337 members of coding. For decoding, if the buffer is multibyte,
11338 convert the source sequence to unibyte in advance. For encoding,
11339 if the buffer is multibyte, convert the resulting sequence to
11340 multibyte afterward.
11341 (run_pre_post_conversion_on_str): New function.
11342 (code_convert_string): Deleted and divided into the following two.
11343 (decode_coding_string, encode_coding_string): New functions.
11344 (code_convert_string1, code_convert_string_norecord): Call one of
11345 above.
11346 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11347 MAKE_NON_ASCII_CHAR.
52283633
SM
11348 (Fset_terminal_coding_system_internal)
11349 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11350 and dst_multibyte members.
11351 (init_coding_once): Initialize iso_code_class with new enum
11352 ISO_control_0 and ISO_control_1.
11353
11354 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11355 devided into ISO_control_0 and ISO_control_1.
11356 (struct coding_system): New members src_multibyte, dst_multibyte,
11357 errors, and result. Delete member fake_multibyte.
11358 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11359 nonzero.
11360 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11361 nonzero.
11362
11363 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11364 (Faset): Likewise.
11365
11366 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11367 multibyte form.
11368 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11369 combining occurs.
11370 (Ftranspose_region): Delete codes for handling byte combining.
11371
11372 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11373 dst_multibyte members of coding. On handling REPLACE on unibyte
11374 buffer, convert the result of decode_coding to unibyte. On
11375 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11376 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11377 multibyteness of the source (buffer or string).
11378
11379 * fns.c (concat): Handle 8-bit characters correctly.
11380 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11381 unibyte in the result.
11382 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11383 valid multibyte form in the result.
11384 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11385 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11386 return -1, signal an error.
11387 (base64_encode_1): New arg MULTIBYTE. Get each character by
11388 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11389 character is found, return -1.
11390 (Fbase64_decode_region): Delete codes for handling byte-combining.
11391 Treat each decoded byte as a unibyte character.
11392 (Fbase64_decode_string): Return unibyte string.
11393 (Fcompare_strings, concat, string_byte_to_char): Use
11394 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11395 FETCH_STRING_CHAR_ADVANCE.
11396 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11397 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11398
11399 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11400 SPLIT_NON_ASCII_CHAR.
11401 (fontset_ref_via_base, fontset_set): Likewise
11402
11403 * insdel.c (adjust_markers_for_record_delete): Deleted.
11404 (adjust_markers_for_insert): Argument changed. Caller changed.
11405 (adjust_markers_for_replace): Likewise.
52283633
SM
11406 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11407 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11408 (copy_text): Delete unused local varialbe c_save. For converting
11409 to multibyte, be sure to make all 8-bit characters in valid
11410 multibyte form.
11411 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11412 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11413 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11414 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11415 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11416 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11417 handling byte combining.
11418 (adjust_before_replace): Deleted.
427ec082 11419
c9671f81
KH
11420 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11421 SPLIT_NON_ASCII_CHAR.
11422 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11423 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11424 (Fkey_description): Likewise.
11425
11426 * lread.c (read1): On reading multibyte string, be sure to make
11427 all 8-bit chararacters in valid multibyte form.
11428 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11429
11430 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11431 unconditionally.
11432
11433 * process.c (Fstart_process): GCPRO current_dir before calling
11434 Ffind_operation_coding_system. Encode arguments here.
11435 (create_process): Don't encode arguments here. Setup
11436 src_multibyte and dst_multibyte members of struct coding.
11437 (read_process_output): Setup src_multibyte and dst_multibyte
11438 members of struct coding. If the output is to multibyte buffer,
11439 always decode the output of the process. Adjust the
52283633 11440 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11441 (send_process): Setup coding->src_multibyte according to the
11442 multibyteness of the source.
11443
52283633 11444 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11445 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11446 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11447
52283633 11448 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11449
11450 * w16select.c (Fw16_set_clipboard_data): Setup members
11451 src_multibyte and dst_multibyte of coding. Adjusted for the
11452 change for find_charset_in_str.
11453 (Fw16_get_clipboard_data): Likewise.
11454
11455 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11456 dst_multibyte of coding.
11457 (x_to_w32_font): Likewise.
11458
11459 * w32select.c (Fw32_set_clipboard_data): Setup members
11460 src_multibyte and dst_multibyte of coding. Adjusted for the
11461 change for find_charset_in_str.
11462 (Fw32_get_clipboard_data): Likewise.
11463
11464 * xdisp.c (get_next_display_element): Handle 8-bit characters
11465 correctly.
52283633
SM
11466 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11467 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11468
11469 * xselect.c (selection_data_to_lisp_data): Setup members
11470 src_multibyte and dst_multibyte of coding. Adjusted for the
11471 change for find_charset_in_str.
11472 (lisp_data_to_selection_data): Likewise.
11473
5f64c9e0
GM
114742000-05-19 Gerd Moellmann <gerd@gnu.org>
11475
52283633 11476 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11477
5f64c9e0
GM
11478 * dispextern.h (Vimage_types): Add extern declaration.
11479
11480 * xdisp.c (Vimage_types): Moved here from xfns.c.
11481 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11482
11483 * xfns.c (Vimages_types): Moved to xdisp.c.
11484 (syms_of_xfns): Move `image-types' to xdisp.c.
11485
11486 * w32fns.c (Vimage_types): Removed.
11487 (syms_of_w32fns): Remove `image-types'.
11488
813086ea
KH
114892000-05-18 Kenichi Handa <handa@etl.go.jp>
11490
11491 * fns.c (map_char_table): Pay attention to character number of
11492 charset. Check the validity of charset at the first level. For
11493 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11494 the default value.
11495
11496 * fontset.c: Include "buffer.h".
11497 (fs_load_font): If the face has fontset, record the face ID in
11498 that fontset.
11499 (Finternal_char_font): New function.
11500 (accumulate_font_info): New function.
11501 (Ffontset_info): Rewritten for the new fontset implementation.
11502 (syms_of_fontset): Register Vdefault_fontset in the first element
11503 of Vfontset_table. Include Vdefault_fontset in
11504 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11505 function.
11506
bdaebbf0
DL
115072000-05-16 Dave Love <fx@gnu.org>
11508
11509 * m/iris5d.h: Deleted -- unused.
11510
cb613bb8
GM
115112000-05-16 Gerd Moellmann <gerd@gnu.org>
11512
b15f3b77
GM
11513 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11514 `invalid' instead of `illegal'.
11515
11516 * indent.c (Fmove_to_column): When ending within a tab, insert
11517 spaces first so that markers at the end of the tab get adjusted.
11518
835c1b36
GM
11519 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11520 buffer list that wasn't selected in that frame.
11521
cb613bb8
GM
11522 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11523 is needed on mescaline, use a 2 char prefix, and call
11524 make_temp_name with second arg non-zero.
11525
11526 * fileio.c (make_temp_name): New function, extracted from
11527 Fmake_temp_name.
11528 (Fmake_temp_name): Use it.
11529
f685bea9
EZ
115302000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11531
52283633 11532 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11533
a1b8d58b
GM
115342000-05-15 Gerd Moellmann <gerd@gnu.org>
11535
11536 * Makefile.in (lisp): Add env.elc.
11537
11538 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11539
a265079f
GM
115402000-05-12 Gerd Moellmann <gerd@gnu.org>
11541
11542 * search.c (Freplace_match): Handle case of `\N' in the
11543 replacement when there's no group N.
11544
da4496b6
GM
115452000-05-11 Gerd Moellmann <gerd@gnu.org>
11546
0ace421a
GM
11547 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11548 of the message to message_dolog.
11549
1172eb8d
GM
11550 * keyboard.c (read_char): Don't clear current message for help
11551 events; let the code handling help events handle this. Change
11552 code detecting help events that should be ignored.
11553
da4496b6
GM
11554 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11555 we're interating over a string.
11556
0623e40f
DL
115572000-05-09 Dave Love <fx@gnu.org>
11558
11559 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11560 that offset before writing. Move gcpro region past call of
11561 Ffile_regular_p.
11562
bae2503b
DL
115632000-05-04 Dave Love <fx@gnu.org>
11564
11565 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11566
ec82fb2f
GM
115672000-05-04 Gerd Moellmann <gerd@gnu.org>
11568
11569 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11570 of inserted characters when BUF equals the current buffer, and PT
11571 is in front of or equal to FROM.
11572
cbf18892
GM
115732000-05-03 Gerd Moellmann <gerd@gnu.org>
11574
4ff40dd0
GM
11575 * xdisp.c (handle_single_display_prop): If display property value
11576 is invalid, or something not supported on the frame, restore
11577 iterator's position to what it was initially. Make sure to return
11578 0 for invalid and unsupported property values.
11579
cbf18892
GM
11580 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11581 that x_per_char_metric returns null.
11582
1b0672c3
GM
115832000-05-02 Gerd Moellmann <gerd@gnu.org>
11584
576da55d
GM
11585 * xterm.h (struct face): Add forward declaration.
11586 (struct image): Ditto.
11587 (image_ascent): Add prototype.
11588
11589 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11590 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11591 image_ascent instead of using IMAGE_ASCENT.
11592
11593 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11594 (IMAGE_ASCENT): Removed.
11595
11596 * xfns.c (Qcenter): New variable.
11597 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11598 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11599 (image_ascent): New function.
11600 (lookup_image): Recognize `:ascent center'.
11601 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11602 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11603 (xbm_load): Don't set image's ascent here.
11604 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11605 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11606 check ascent values here.
11607 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11608 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11609 (syms_of_xfns): Initialize Qcenter.
11610
1b0672c3
GM
11611 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11612 to the limits, increase the limits.
11613
0d7811ed
KH
116142000-05-01 Kenichi Handa <handa@etl.go.jp>
11615
11616 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11617 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11618
a943a5ca
GM
116192000-04-28 Gerd Moellmann <gerd@gnu.org>
11620
11621 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11622 taller than the window.
11623
5dba1e29
KH
116242000-04-28 Kenichi Handa <handa@etl.go.jp>
11625
11626 * xfaces.c (realize_x_face): Fix the argument of the second
11627 xassert. BASE_FACE may not be a face for ASCII.
11628
353964e3
GM
116292000-04-27 Gerd Moellmann <gerd@gnu.org>
11630
c76e04a8
GM
11631 * print.c (print_object): Treat print-length < 0 as nil.
11632
11633 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11634
11635 * s/freebsd.h (TERMCAP_OBJ): Removed.
11636 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11637
11638 * lread.c (read1): Don't treat period followed by certain
11639 characters as symbol start.
11640
11641 * xfns.c (slurp_file): New function.
11642 (xbm_image_p): Handle case of in-memory XBM files.
11643 (xbm_scan): Rewritten to work on memory buffers instead of files.
11644 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11645 Work on memory buffers instead of files. If DATA is null test
11646 if buffer looks like an in-memory XBM file.
11647 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11648 memory buffers instead of files.
11649 (xbm_file_p): New function.
11650 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11651
353964e3
GM
11652 * lread.c (end_of_file_error): New function.
11653 (read1): Call it instead of signaling `end-of-file' directly.
11654
427ec082 11655 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11656 with Fprinc instead of Fprin1.
11657
24d744ac
KR
116582000-04-26 Ken Raeburn <raeburn@gnu.org>
11659
11660 * window.c (freeze_window_start): Check that minibuffer scroll
11661 window isn't nil before extracting the window structure pointer
11662 from it.
11663
11664 * undo.c (record_delete): If we hit the end of the undo list, stop
11665 picking elements apart.
11666
7464346d
GM
116672000-04-26 Gerd Moellmann <gerd@gnu.org>
11668
11669 * xdisp.c (display_line): If lines are continued, restore
11670 iterator's ascent/descent information to the values before the
11671 first glyph not fitting on the line.
11672
612839b6
GM
116732000-04-25 Gerd Moellmann <gerd@gnu.org>
11674
11675 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11676 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11677
11678 * dispnew.c (increment_matrix_positions): Renamed from
11679 increment_glyph_matrix_buffer_positions.
11680 (increment_row_positions): Renamed from
11681 increment_glyph_row_buffer_positions.
11682
11683 * dispextern.h: Change names of renamed functions from dispnew.c
11684 in prototypes.
11685
cc181e95
GM
116862000-04-24 Gerd Moellmann <gerd@gnu.org>
11687
abfcc168
GM
11688 * fileio.c (Fdo_auto_save): Create directories for auto-save
11689 list file if necessary.
11690
cc181e95
GM
11691 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11692 from buffer or frame.
11693 (automatic_hscrolling_p): New variable.
11694 (hscroll_windows): Scroll windows horizontally only if automatic
11695 hscrolling is allowed.
11696 (syms_of_xdisp): New variable `automatic-hscrolling'.
11697
11698 * frame.h (struct frame): Add member extra_line_spacing.
11699
11700 * xfns.c (x_set_line_spacing): New function.
11701 (Fx_create_frame): Set line spacing from resources.
11702 (Qline_spacing): New variable.
11703 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11704
cc181e95
GM
11705 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11706
11707 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11708 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11709 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11710 extra_line_spacing from default value.
11711 (init_buffer_once): Initialize default value of extra_line_spacing.
11712
11713 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11714 and extra3.
11715
11716 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11717 prompt_width. Add extra line spacing.
11718
11719 * term.c (produce_glyphs): Remove reference to struct it's
11720 prompt_width.
11721
11722 * dispextern.h (struct it): Remove member prompt_width, add
11723 extra_line_spacing.
11724
58827478
GM
117252000-04-22 Gerd Moellmann <gerd@gnu.org>
11726
11727 * dispnew.c (update_frame_line): When writing a whole line, make
11728 sure cursor is in the right row afterwards, otherwise a use of
11729 capability `ch' in cmgoto might leave the cursor in the row below.
11730
25a87f42
GM
117312000-04-21 Gerd Moellmann <gerd@gnu.org>
11732
11733 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11734
11735 * keyboard.c (timer_check): Fix typo in comment.
11736
54edf5c2
KH
117372000-04-21 Kenichi Handa <handa@etl.go.jp>
11738
11739 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11740 name change: ch -> character.
11741
3a64eef5
GM
117422000-04-20 Gerd Moellmann <gerd@gnu.org>
11743
11744 * keyboard.c (echo_message_buffer): New variable.
11745 (echo_now): Set echo_message_buffer to the echo area buffer used
11746 to display the echo.
11747 (cancel_echoing): Reset echo_message_buffer to nil.
11748 (read_char): Code rewritten that handles canceling an echo or
11749 echoing a dash, respectively.
11750
11751 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11752 directory doesn't exist.
11753
6142fdcb
DL
117542000-04-19 Dave Love <fx@gnu.org>
11755
11756 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11757 (concat): Don't allow numeric args.
11758 (Fconcat): Doc change.
6142fdcb 11759
ac6b5352
SM
117602000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11761
11762 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11763 instead define end_match(1|2) more carefully.
11764 Use GET_CHAR_BEFORE_2 for `begline'.
11765
cb9215e4
GM
117662000-04-19 Gerd Moellmann <gerd@gnu.org>
11767
5e3dac3f
GM
11768 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11769 on 64-bit systems where NULL is defined as `0'.
11770
11771 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11772 the `variable argument list' to make it work on Alpha.
11773
cb9215e4
GM
11774 * m/alpha.h (_LP64) [!_LP64]: Define.
11775 (ORDINARY_LINK): Define for NetBSD.
11776
11777 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11778
f532dca0
DL
117792000-04-19 Dave Love <fx@gnu.org>
11780
c750667e
DL
11781 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11782 change.
11783
11784 * Makefile.in (LIBS): Don't use.
11785 (GETLOADAVG_OBJ): Define again.
11786 (otherobj): Add GETLOADAVG_OBJ.
11787
f532dca0
DL
11788 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11789
1c7e22fd
GM
117902000-04-18 Gerd Moellmann <gerd@gnu.org>
11791
f6d3257b
GM
11792 * lread.c (read_filtered_event): Cancel and start busy cursor.
11793
427ec082 11794 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11795 that the per-character metrics may be null.
11796
e10f64e7
GM
117972000-04-17 Gerd Moellmann <gerd@gnu.org>
11798
0daee095
GM
11799 * buffer.c (clone_per_buffer_values): New function.
11800 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11801 clone_per_buffer_values if CLONE is not nil.
11802
e10f64e7
GM
11803 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11804
38687d43
DL
118052000-04-16 Dave Love <fx@gnu.org>
11806
11807 * Makefile.in: Remove obsolete localcpp stuff.
11808 (GETLOADAVG_OBJ): Don't define.
11809 (obj): Move LIBOBJS...
11810 (otherobj): ... to here.
11811 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11812 whitespace-only lines after the continuation (Irix).
11813
c21c7262
GM
118142000-04-14 Gerd Moellmann <gerd@gnu.org>
11815
11816 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11817
11818 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11819
314767c0
DL
118202000-04-14 Dave Love <fx@gnu.org>
11821
11822 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11823 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11824 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11825 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11826 NLIST_STRUCT.
11827
11828 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11829 autoconfiscated HAVE_GETLOADAVG.
11830
11831 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11832 BROKEN_MKTIME.
11833
a2522dca
GM
118342000-04-14 Gerd Moellmann <gerd@gnu.org>
11835
11836 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11837 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11838
33744b5d
DL
118392000-04-14 Dave Love <fx@gnu.org>
11840
c21c7262 11841 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11842 (INTERVAL_SRC): Convert to make variable.
11843 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11844 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11845 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11846 add LIBOBJS.
11847 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11848 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11849 (shortlisp): Add facemenu, float-sup, frame.
11850 (SOME_MACHINE_LISP): Remove them from here.
11851 (LIBES): Change unused LDLIBS to autoconf LIBS.
11852
11853 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11854
9d3d5916
KH
118552000-04-14 Kenichi Handa <handa@etl.go.jp>
11856
11857 * composite.c (update_compositions): If FROM and TO are not in a
11858 valid range, do nothing.
11859
198e3c7a
GM
118602000-04-13 Gerd Moellmann <gerd@gnu.org>
11861
52283633 11862 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11863
52283633 11864 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11865
11866 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11867 as TERMCAP_OBJ.
11868
055a28c9
EZ
118692000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11870
11871 * fileio.c (a_write): Remove redundant semi-colons.
11872 (e_write): Return -1 if failed to write all the data.
11873 This fixes the changes made at 1999-12-15.
11874
f5c75033
DL
118752000-04-12 Dave Love <fx@gnu.org>
11876
11877 * fns.c (mapcar1): Test for null vals to support mapc.
11878 (Fmapc): New function.
11879
0c3cfc51
EZ
118802000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11881
11882 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11883 (IT_frame_up_to_date): Support the buffer local value of
11884 cursor-type, if defined.
11885
33465a31
DL
118862000-04-10 Dave Love <fx@gnu.org>
11887
11888 * editfns.c (preceding-char, following-char): Doc fix.
11889
6ed56568
KR
118902000-04-10 Ken Raeburn <raeburn@gnu.org>
11891
11892 * Makefile.in (temacs): Revert 2000-03-12 change.
11893
7cf80d4e
JR
118942000-04-10 Jason Rumney <jasonr@gnu.org>
11895
11896 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11897
34f3f342
GM
118982000-04-10 Gerd Moellmann <gerd@gnu.org>
11899
1a1b1895
GM
11900 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11901 area buffer, if it's not set up yet.
11902
34f3f342
GM
11903 * indent.c (compute_motion): Set immediate_quit.
11904
be0dbdab
GM
119052000-04-09 Gerd Moellmann <gerd@gnu.org>
11906
52283633 11907 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11908 (realize_tty_face): Suppress boldness if colors are the inverse of
11909 the default colors, and tty_suppress_bold_inverse_default_colors_p
11910 is set.
11911 (Ftty_suppress_bold_inverse_default_colors): New function.
11912 (syms_of_xfaces): Defsubr it.
11913
be0dbdab
GM
11914 * buffer.c (Frestore_buffer_modified_p): New function.
11915 (syms_of_buffer): Defsubr it.
11916
e8413c3b
KR
119172000-04-08 Ken Raeburn <raeburn@gnu.org>
11918
87f67317
KR
11919 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11920 charset id (int) argument, not a charset (Lisp_Object).
11921
e8413c3b
KR
11922 * coding.h (code_convert_string): Declare.
11923 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11924 object, as the fourth argument to code_convert_string.
11925
52283633 11926 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11927 (Fset_fontset_font): Use EQ to compare lisp objects.
11928
7c752c80
KR
119292000-04-05 Ken Raeburn <raeburn@gnu.org>
11930
c0333abc
KR
11931 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11932 a pointer that looks like a lisp object.
11933 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11934 zero, instead see whether it's an integer object, since they can't
11935 have intervals.
11936 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11937
52283633
SM
11938 * dispnew.c (allocate_matrices_for_frame_redisplay)
11939 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11940 to convert between (unsigned) int values and lisp integers.
11941 * keyboard.c (read_key_sequence): Likewise.
11942 * lread.c (substitute_object_recurse): Likewise.
11943 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11944 * minibuf.c (do_completion, Fminibuffer_complete_word)
11945 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11946 * term.c (produce_special_glyphs): Likewise.
11947
11948 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11949 * print.c (print_preprocess, print_object): Likewise.
11950
11951 * search.c (compile_pattern): Use NILP when checking for nil.
11952
74e49b38
KR
11953 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11954 __OPTIMIZE__]: Provide a GNU C macro version that handles
11955 lisp-object unions.
11956 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11957 field, to better cope with ENABLE_CHECKING and calls that modify a
11958 Lisp_Object using its old value.
11959
685e5ed2
GM
119602000-04-04 Gerd Moellmann <gerd@gnu.org>
11961
c407c570
GM
11962 * window.c (compare_window_configurations): Signal an error
11963 if parameters C1 or C2 aren't window configurations.
11964
685e5ed2
GM
11965 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11966 AFTER_POTENTIAL_GC calls around calls to functions that can
11967 signal an error and thus invoke the debugger.
11968
587a49ab
GM
119692000-04-03 Gerd Moellmann <gerd@gnu.org>
11970
62f20204
GM
11971 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11972 an error if decoding fails.
11973
587a49ab
GM
11974 * keyboard.c (lispy_mouse_names): Variable removed.
11975 (Vlispy_mouse_stem): New variable.
11976 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11977 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11978 for any mouse button number. Increase size of mouse_syms and
11979 button_down_location as needed. Call modify_event_symbol with
11980 different arguments.
11981 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11982 Call modify_event_symbol with different arguments.
11983 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11984 for any button number. Call modify_event_symbol with different
11985 arguments.
11986 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11987 Accept a string for NAME_ALIST_OR_STEM.
11988
11989 * lisp.h (larger_vector): Add prototype.
11990
11991 * fns.c (larger_vector): Make externally visible.
11992
11993 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11994
2d1675e4
SM
119952000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11996
11997 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11998 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11999 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12000 we are between str1 and str2.
12001 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12002 (PATFETCH): Use `TRANSLATE'.
12003 (PATFETCH_RAW): Fetch multibyte char if applicable.
12004 (PATUNFETCH): Remove.
12005 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12006 When writing a char, write it directly into the pattern buffer rather
12007 than going needlessly through a temp char-array.
12008 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12009 multibyte magic and remove the useless `#ifdef emacs'.
12010 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12011 buffer.
12012
12013 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12014 conditional on `emacs'.
12015
12016 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12017
cc2d8c6b
KR
120182000-04-01 Ken Raeburn <raeburn@gnu.org>
12019
12020 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12021 non-union-type versions of XMARK and friends here, because XMARK
12022 and friends won't work on an integer field if NO_UNION_TYPE is not
12023 defined.
52283633 12024 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12025
52283633 12026 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12027 (syms_of_composite): Delete local var NARGS, pass an int as first
12028 argument to Fmake_hash_table.
12029
2387b382
KR
12030 * editfns.c (text_property_stickiness): Use NILP to test
12031 Lisp_Object boolean value.
12032 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12033 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12034 problems reading from and changing the same lisp value in an
12035 XSETSTRING call.
12036
27660e89
GM
120372000-04-01 Gerd Moellmann <gerd@gnu.org>
12038
12039 * term.c (TN_no_color_video): New variable.
12040 (term_init): Intitialize TN_no_color_video.
12041 (enum no_color_bit): New enumeration.
12042 (MAY_USE_WITH_COLORS_P): New macro.
12043 (turn_on_face): Use it to determine if attributes may be used
12044 combined with colors.
12045
3578db3c
KR
120462000-04-01 Ken Raeburn <raeburn@gnu.org>
12047
12048 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12049 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12050 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12051 proper accessor macros.
12052 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12053 (grow_mini_window): Fix typo getting int value of root->height.
12054
6fc556fd
KR
12055 * xdisp.c (compute_string_pos): Fix order of arguments to
12056 string_pos_nchars_ahead.
12057 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12058 count arg to variable-arg routines like Frun_hook_with_args and
12059 Fformat.
587a49ab
GM
12060 (back_to_previous_visible_line_start)
12061 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12062 fixed-arg routines like Fget_char_property and Fmake_string.
12063 (reconsider_clip_changes): Use XINT when comparing integer lisp
12064 objects, or passing them as int arguments.
587a49ab
GM
12065 (mark_window_display_accurate, insert_left_trunc_glyphs)
12066 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12067 storing or passing integer values as lisp objects.
12068 (set_cursor_from_row, highlight_trailing_whitespace): Use
12069 INTEGERP, not implicit test against zero, for glyph object.
12070 (try_window_id): Don't use make_number when we want an int value.
12071
12072 * xfaces.c (xlfd_symbolic_value): Make last argument a
12073 Lisp_Object, to be consistent with callers.
12074 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12075 (lface_hash): Apply XFASTINT to lisp values before folding in.
12076
12077 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12078 fill in window width and height. Pass an int, not a lisp object,
12079 as first arg to Finsert.
12080
6e7b2457
GM
120812000-04-01 Gerd Moellmann <gerd@gnu.org>
12082
610d841e
GM
12083 * xfaces.c (realize_basic_faces): Block input while realizing
12084 the faces.
12085
6e7b2457
GM
12086 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12087
12088 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12089
aa110c0c
GM
120902000-03-31 Gerd Moellmann <gerd@gnu.org>
12091
12092 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12093 or ASCII, handle case that per-char metric is null.
aa110c0c 12094
8801a864
KR
120952000-03-30 Ken Raeburn <raeburn@gnu.org>
12096
c6129d7e
KR
12097 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12098
52283633
SM
12099 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12100 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12101 pointer, using eassert.
12102 * frame.h (XFRAME): Likewise.
12103
52283633
SM
12104 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12105 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12106 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12107 * data.c (set_internal): Likewise.
52283633
SM
12108 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12109 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12110 * fileio.c (auto_save_1): Likewise.
12111 * insdel.c (check_markers): Likewise.
12112 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12113 * undo.c (record_insert): Likewise.
12114 * vmsproc.c (child_sig): Likewise.
12115 * window.c (unshow_buffer, window_loop): Likewise.
12116 * xterm.c (x_erase_phys_cursor): Likewise.
12117
8e7af858
GM
121182000-03-30 Gerd Moellmann <gerd@gnu.org>
12119
12120 * xfns.c (free_image_cache): Free the cache structure itself
12121 last, after all its members have been freed.
12122
12123 * lisp.h (xstrdup): Add prototype.
12124
12125 * alloc.c (xstrdup): Moved here from xfaces.c.
12126 (allocating_for_lisp): Variable removed.
52283633 12127 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12128
12129 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12130 of Fsymbol_value.
12131 (xstrdup): Moved to alloc.c.
12132
e0b8c689
KR
121332000-03-29 Ken Raeburn <raeburn@gnu.org>
12134
b96f9fb7
KR
12135 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12136
12137 * emacs.c (main): Fix sense of no-loadup test.
12138
e0b8c689
KR
12139 * config.in (ENABLE_CHECKING): Undef.
12140
12141 * lisp.h (struct interval): Replace "parent" field with a union of
12142 interval pointer and Lisp_Object; add new bitfield to use as
12143 discriminant. Change other flag fields to bitfields.
12144 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12145 is defined and the supplied test fails, print a message and abort.
12146 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12147
12148 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12149 pointers; abort if the value looks like a lisp object.
52283633
SM
12150 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12151 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12152 Modify for new interval parent definition.
12153
52283633
SM
12154 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12155 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12156 addressable lisp object in the interval structure.
12157 (die): New function.
12158 (suppress_checking): New variable.
12159
12160 * intervals.c (interval_start_pos): Just return 0 if there's no
12161 parent object.
12162
f83c5440
GM
121632000-03-29 Gerd Moellmann <gerd@gnu.org>
12164
12165 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12166 and earlier Emacs versions.
12167
12168 * keyboard.c (Ftop_level): Cancel busy-cursor.
12169
12170 * eval.c (call_debugger): Cancel busy-cursor.
12171
fdce64ff
KH
121722000-03-29 Kenichi Handa <handa@etl.go.jp>
12173
12174 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12175 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12176
f6a3f532
SM
121772000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12178
12179 * regex.c (analyse_first): New function obtained by ripping out most
12180 of re_compile_fastmap and generalizing it a little bit so that it
12181 can also just return whether a given (sub)pattern can match the empty
12182 string or not.
12183 (regex_compile): Use `analyse_first' to decide whether the loop-check
12184 needs to be done or not for *, +, *? and +? (the loop check is costly
12185 for non-greedy repetition).
12186 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12187
e9b309ac
DL
121882000-03-28 Dave Love <fx@gnu.org>
12189
52283633 12190 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12191
e9b309ac
DL
12192 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12193
ed0767d8
SM
121942000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12195
12196 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12197 an expression.
12198 (enum re_opcode_t): Update description of succeed_n.
12199 (PATFETCH): Always define.
12200 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12201 operators, char classes, shy-groups and intervals).
12202 Optimize special cases of intervals so as to only use succeed_n and
12203 jump_n when really needed.
12204 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12205 that we don't have to handle the special cases any more.
12206 Simplify on_failure_jump handling as well.
12207
e11e7e46
JR
122082000-03-28 Jason Rumney <jasonr@gnu.org>
12209
12210 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12211
88faab89
GM
122122000-03-27 Gerd Moellmann <gerd@gnu.org>
12213
182ff242
GM
12214 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12215
12216 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12217
182ff242
GM
12218 * alloc.c (mark_maybe_object): New function.
12219 (mark_memory): Use it.
12220 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12221 (setjmp_tested_p, longjmp_done): New variables.
12222 (test_setjmp): New function.
12223 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12224 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12225
c1005d06
GM
12226 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12227 to DEC_TEXT_POS and INC_TEXT_POS.
12228
12229 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12230 with parameter MULTIBYTE_P.
12231
52283633 12232 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12233
7439e5b9 12234 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12235 buffers because it looks for multibyte character byte sequences
12236 which don't exist in unibyte text.
7439e5b9 12237
d9c545da
GM
12238 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12239
11fd416e 12240 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12241 [DEBUG_X_COLORS]: New functions.
12242 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12243
12244 * xfns.c (x_set_cursor_color): Get color reference counts right.
12245
12246 * xterm.c (x_copy_color): New function.
12247 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12248
12249 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12250 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12251 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12252 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12253 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12254 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12255 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12256 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12257 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12258 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12259
11fd416e
GM
12260 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12261 names for handling per-buffer variables.
d9c545da
GM
12262
12263 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12264 instead of MAX_BUFFER_LOCAL_VARS.
12265 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12266
12267 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12268
88faab89
GM
12269 * xfns.c (x_specified_cursor_type): New function.
12270 (x_set_cursor_type): Use it.
12271
12272 * buffer.h (struct buffer): Add cursor_type.
12273
d80f42b7
SM
122742000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12275
12276 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12277 (print_partial_compiled_pattern, re_compile_fastmap):
12278 Handle new opcode.
d80f42b7
SM
12279 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12280 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12281 executing it as well as when popping it off the stack to find infinite
12282 loops in non-greedy repetition operators.
12283
89e80928
GM
122842000-03-26 Gerd Moellmann <gerd@gnu.org>
12285
3d4ff2dd
GM
12286 * doc.c (Qfunction_documentation): New variable.
12287 (syms_of_doc): Initialize Qfunction_documentation.
12288 (Fdocumentation): If FUNCTION is a symbol with non-nil
12289 `function-documentation' property, return a documentation derived
12290 from that.
12291
bd96bd79
GM
12292 * buffer.c (syms_of_buffer): Add default-cursor-type.
12293 (init_buffer_once): Don't let cursor_type have a local value
12294 in every buffer.
12295
19d1bc27
GM
12296 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12297 on buffer-local value of cursor_type.
12298 (x_draw_bar_cursor): Add parameter WIDTH.
12299
12300 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12301 (init_buffer_once): Set default cursor_type value to t.
12302 Mark cursor_type as local everywhere.
12303 (syms_of_buffer): New per-buffer variable cursor-type.
12304
89e80928
GM
12305 * buffer.h (struct buffer): Remove member local_var_flags,
12306 add local_flags.
12307 (MAX_BUFFER_LOCAL_VARS): New macro.
12308 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12309 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12310 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12311 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12312
52283633 12313 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12314
12315 * category.c (Fset_category_table): Use new macros for per-buffer
12316 variables.
12317
12318 * buffer.c (buffer_permanent_local_flags): Make a char array.
12319 (max_buffer_local_idx): New variable.
12320 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12321 for new handling of per-buffer variables.
12322 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12323 (init_buffer_once): Initialize per-buffer vars differently.
12324 Set max_buffer_local_idx.
12325
12326 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12327 variables.
12328
52283633 12329 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12330
12331 * data.c (do_symval_forwarding, store_symval_forwarding)
12332 (find_symbol_value, set_internal, default_value, Fset_default)
12333 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12334 per-buffer variables.
12335
12336 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12337
9a0dd3dc
GM
123382000-03-24 Gerd Moellmann <gerd@gnu.org>
12339
b68c375f
GM
12340 * xterm.c (x_term_init): Unblock input around call1 of
12341 Qvendor_specific_keysyms.
12342
9a0dd3dc
GM
12343 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12344 (find_defun_start): Consider an open parenthesis in column 0
12345 a defun start only if open_paren_in_column_0_is_defun_start is set.
12346 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12347
7973e637
SM
123482000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12349
12350 * eval.c (Fautoload): Add entry in load-history (if after dump).
12351 * lread.c (load-history): Update docstring.
12352
39210e90
GM
123532000-03-24 Gerd Moellmann <gerd@gnu.org>
12354
12355 * indent.c (Fvertical_motion): Always use the current buffer.
12356 Temporarily change the window's buffer, if necessary.
12357
72db3ab5
GM
123582000-03-23 Gerd Moellmann <gerd@gnu.org>
12359
12360 * xterm.c (fast_find_position): Make sure not to consider rows
12361 not visible in the window.
12362
990b2375
SM
123632000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12364
12365 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12366 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12367
ff4df011
JR
123682000-03-22 Jason Rumney <jasonr@gnu.org>
12369
12370 * w32menu.c (single_submenu): Set help string to NULL if none.
12371 (w32_menu_show): Set help string correctly.
12372 (add-menu-item): Set help string in MIIM_DATA for menu item.
12373 Load SetMenuItemInfoA explicitly.
12374 (w32_menu_display_help): New function.
427ec082 12375
ff4df011
JR
12376 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12377 (QCdata): Moved to xdisp.c.
12378
12379 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12380 (Vw32_charset_to_codepage_alist): Removed.
12381 (Vw32_charset_info_alist): New variable.
52283633
SM
12382 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12383 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12384 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12385 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12386 with TODO comment.
12387 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12388 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12389 Define Vw32_charset_info_alist and w32_charset symbols.
12390
123912000-03-22 Jason Rumney <jasonr@gnu.org>
12392
12393 * makefile.nt (w32bdf.obj): Update dependencies.
12394
12395 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12396
12397 * w32fns.c: Include fontset.h after dispextern.h.
12398 (Fx_create_frame): Do not create fontset.
12399 (w32_load_system_font): Doc fix.
12400 (Fx_close_connection): Free full_name if it is not shared.
12401
12402 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12403 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12404 Callers updated.
ff4df011
JR
12405 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12406 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12407 (w32_font_is_double_byte): New function, needs body.
12408 (x_append_glyph): Set glyph->glyph_not_available_p.
12409 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12410 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12411 character, convert it to a unibyte character.
12412 (struct glyph_string): Delete member `charset'.
12413 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12414 calculating it is found.
12415 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12416 the case that per char metric is not available correctly.
12417 (x_fill_glyph_string): Handle the case that the specific glyph is
12418 not available correctly.
12419 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12420 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12421 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12422 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12423 fontset. Don't call FS_LOAD_FONT.
12424
439d5cb4
KR
124252000-03-22 Ken Raeburn <raeburn@gnu.org>
12426
12427 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12428 (INT_LISPLIKE): New macro.
12429 (NULL_INTERVAL_P): Use it.
52283633
SM
12430 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12431 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12432 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12433
12434 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12435 explicit references to "parent" field of struct interval and
12436 associated unclean type conversions.
52283633
SM
12437 * intervals.c (create_root_interval, root_interval, rotate_right)
12438 (rotate_left, balance_possible_root_interval, split_interval_right)
12439 (split_interval_left, interval_start_pos, find_interval)
12440 (next_interval, previous_interval, update_interval)
12441 (adjust_intervals_for_insertion, delete_node, delete_interval)
12442 (adjust_intervals_for_deletion, merge_interval_right)
12443 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12444 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12445 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12446 Likewise.
12447 * syntax.c (update_syntax_table): Likewise.
12448
12449 * intervals.c (reproduce_tree_obj): New function, like
12450 reproduce_tree but takes a Lisp_Object for the parent. Declare
12451 with prototype.
12452 (graft_intervals_into_buffer): Use it when appropriate.
12453 (reproduce_tree): Declare with prototype.
12454 (balance_possible_root_interval): Check that the parent is a lisp
12455 object before trying to examine its type.
12456
ee1c5b21
GM
124572000-03-22 Gerd Moellmann <gerd@gnu.org>
12458
12459 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12460 as strings only if both are known to be strings.
12461
12462 * s/openbsd.h (LIBS_TERMCAP): Undef.
12463
1fb352e0
SM
124642000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12465
12466 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12467 definitions for non-Emacs compilation.
12468 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12469 outside of `#ifdef emacs'.
12470 (print_partial_compiled_pattern): Update.
12471 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12472 (re_compile_fastmap): Merge handling of charset and charset_not (for
12473 emacs and non-emacs compilation as well).
12474 Similarly for (not)categoryspec and (not)syntaxspec.
12475 Don't use the fastmap when reaching `anychar' since the added
12476 complexity is not justified.
12477 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12478 and (not)syntaxspec. Merge (not)categoryspec.
12479
fdaa1f77
KH
124802000-03-22 Kenichi Handa <handa@etl.go.jp>
12481
52283633
SM
12482 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12483 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12484 --without-x.
fdaa1f77 12485
d152fb46
DL
124862000-03-21 Dave Love <fx@gnu.org>
12487
12488 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12489 doc string.
12490
d2cafc8c
GM
124912000-03-21 Gerd Moellmann <gerd@gnu.org>
12492
12493 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12494 (lface_fully_specified_p): Don't check contents of
12495 LFACE_FONT_INDEX because that attribute is optional.
12496 (realize_x_face): Remove now unwarranted xassert.
12497
9111d4b5
KH
124982000-03-21 Kenichi HANDA <handa@etl.go.jp>
12499
12500 The following changes are to make font selection based on
12501 characters, not charset. In addition, they recover fontset
12502 facilities while utilizing the new font selection mechanism.
12503
6c4bfdc0
KH
12504 * Makefile.in (fontset.o): Depend on dispextern.h.
12505
12506 * alloc.c (mark_face_cache): Don't mark face->registry.
12507
9111d4b5
KH
12508 * dispextern.h (struct glyph): New member glyph_not_available_p.
12509 Use 22 bits for face_id.
12510 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12511 (struct face): Delete member registry, new member ascii_face.
12512 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12513 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12514 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12515 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12516
12517 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12518 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12519 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12520 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12521 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12522 (fs_free_face_fontset, fontset_font_pattern)
12523 (face_suitable_for_char_p, face_for_char)
12524 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12525 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12526 (FS_LOAD_FACE_FONT): New macro.
12527
12528 * fontset.c: All codes rewritten or adjusted for the change of
12529 fontset implementation. Now fontset is represented by char table.
52283633
SM
12530 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12531 Variables removed.
9111d4b5 12532 (my_strcasecmp): Function removed.
52283633 12533 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12534 (AREF, ASIZE): New macros.
52283633
SM
12535 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12536 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12537 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12538 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12539 (fontset_id_valid_p, font_family_registry, fontset_name)
12540 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12541 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12542 New functions.
12543 (fs_load_font): New arg FACE. Caller changed.
12544 (fs_query_fontset): Argument changed. Caller changed.
12545 (Fquery_fontset): call fs_query_fontset.
12546 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12547 Functions removed.
52283633
SM
12548 (clear_fontset_elements, check_registry_encoding)
12549 (check_fontset_name): New functions.
9111d4b5
KH
12550 (syms_of_fontset): Set char-table-extra-slots property of fontset
12551 to 3. Staticpro and initialize Vfontset_table and
12552 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12553
12554 * frame.h (struct frame): Member `fontset_data' removed.
12555 (FRAME_FONTSET_DATA): Macro removed.
12556
12557 * frame.c (make_frame): Don't allocate f->fontset_data.
12558 (Fdelete_frame): Don't free f->fontset_data.
12559
6c4bfdc0
KH
12560 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12561
9111d4b5
KH
12562 * xdisp.c (charset_at_position): Function removed.
12563 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12564 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12565 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12566 Likewise.
12567 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12568 FACE_FOR_CHARSET.
52283633
SM
12569 (get_next_display_element, append_space)
12570 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12571
12572 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12573 Variables removed.
12574 (clear_font_table, frame_update_line_height, load_face_font):
12575 Adjusted for the change of fontset implementation.
12576 (load_face_fontset_font): Function removed.
12577 (pixel_point_size): New function.
12578 (font_list): Argument type changed. Caller changed.
12579 (LFACE_FONT): New macro.
12580 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12581 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12582 Lisp_Object. Determine the font name by actually loading a font
12583 by the specified pattern. Set LFACE_FONT (lface) to the specified
12584 pattern. Even if a font is not found, don't try alternatives.
12585 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12586 (set_font_frame_param): If `font' is specified in lface, use it.
12587 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12588 (lface_same_font_attributes_p): Likewise.
12589 (make_realized_face): Arguent changed. Caller changed. Set
12590 face->ascii_face to face itself.
12591 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12592 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12593 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12594 (free_realized_multibyte_face): New function.
12595 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12596 changed. Caller changed.
12597 (try_font_list): Argument type changed.
12598 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12599 (choose_face_font): Argument changed. Handle fontset properly.
12600 (choose_face_fontset_font): Function removed.
12601 (realize_default_face, realize_named_face): Don't remove the
12602 former face here.
12603 (realize_face): Argument changed. Caller changed. Remove face
52283633 12604 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12605 (realize_x_face): Argument changed. Caller changed. For a
12606 multibyte character, share fontset with base_face. For a single
52283633 12607 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12608 (realize_tty_face): Argument changed. Caller changed.
12609 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12610 (face_at_buffer_position): Don't check multibyte_p for returning
12611 DEFAULT_FACE_ID.
12612 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12613 FACE_SUITABLE_FOR_CHARSET_P.
12614 (syms_of_xfaces): Remove code for Qx_charset_registry and
12615 Vface_default_registry.
12616
6c4bfdc0
KH
12617 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12618 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12619 (x_per_char_metric): Don't try FONT->default_char. Even if
12620 pcm->width is zero, glyph bits may exist.
12621 (x_encode_char): Always initialize char2b->byte1.
12622 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12623 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12624 (x_append_glyph): Set glyph->glyph_not_available_p.
12625 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12626 it->charset. Handle the case that per char metric is not
12627 available. If it->multibyte_p is zero and it->c is a multibyte
12628 character, convert it to a unibyte character.
12629 (struct glyph_string): Delete member `charset'.
12630 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12631 the case that per char metric is not available correctly.
12632 (x_fill_glyph_string): Handle the case that the specific glyph is
12633 not available correctly.
12634 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12635 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12636 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12637 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12638 fontset. Don't call FS_LOAD_FONT.
12639
12640 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12641 (x_create_tip_frame): Likewise.
12642 (Fx_close_connection): Free full_name of font_info.
12643
12644 * fns.c (optimize_sub_char_table): New function.
12645 (Foptimize_char_table): New function.
12646 (syms_of_fns): Defsubr Soptimize_char_table.
12647
b33dd3b0
GM
126482000-03-20 Gerd Moellmann <gerd@gnu.org>
12649
12650 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12651 only if buffer is displayed in some window.
12652
12653 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12654 (try_window_reusing_current_matrix): Don't call scroll run
12655 function if run's current and desired position are the same;
12656 this prevents cursor flickering.
12657
4e8a9132
SM
126582000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12659
12660 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12661
12662 * regex.c (RE_STRING_CHAR): New macro.
12663 (GET_CHAR_AFER_2): Remove.
12664 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12665 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12666 (print_partial_compiled_pattern, re_compile_fastmap)
12667 (re_match_2_internal): Remove on_failure_jump_exclusive.
12668 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12669 optimization only need to work for * (ie. can use of_keep_string_jump).
12670 Remove the special case for .*\n since it is now covered by the general
12671 optimization.
12672 (re_search_2): Don't bother with `room'.
12673 (skip_one_char): New function.
12674 (skip_noops): Simplify since `memory' is not needed any more.
12675 (mutually_exclusive_p): Restructure slightly to use `switch' and
12676 add handling for "all" remaining cases.
12677 (re_match_2_internal): Change on_failure_jump_smart to use
12678 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12679 rather than on_failure_jump_exclusive.
12680
2136fdd4
GM
126812000-03-19 Gerd Moellmann <gerd@gnu.org>
12682
12683 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12684 number of bits per RGB because it's everywhere used as the depth
12685 of the visual.
12686
12687 * term.c (calculate_costs): Remove code dealing with X frames.
12688
18e21ce8 126892000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12690
12691 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12692
d7b511c4
GM
126932000-03-18 Gerd Moellmann <gerd@gnu.org>
12694
12695 * lread.c (read_integer): Unread the last char not consumed.
12696
16b5d424
GM
126972000-03-17 Gerd Moellmann <gerd@gnu.org>
12698
12699 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12700 which are in the process of being deleted.
16b5d424 12701
1fa28578
GM
127022000-03-16 Gerd Moellmann <gerd@gnu.org>
12703
83488cce
GM
12704 * Makefile.in (mostlyclean): Add `*.core'.
12705 (clean): Add `bootstrap-emacs'.
12706
1fa28578
GM
12707 * lread.c (read_integer): New function.
12708 (read1): Support read syntax #o, #x, #b, #r.
12709
99633e97
SM
127102000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12711
1fa28578
GM
12712 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12713 make sure POINTER_TO_OFFSET gives the same value before and after
12714 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12715 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12716 (debug): Now only active if > 0 rather than if != 0.
12717 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12718 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12719 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12720 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12721 (store_op1, store_op2, insert_op1, insert_op2)
12722 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12723 (group_in_compile_stack): Move to after its arg's types are
12724 declared and add a prototype.
99633e97 12725 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12726 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12727 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12728 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12729 indentation of the greedy-op and shy-group code.
99633e97
SM
12730 (at_(beg|end)line_loc_p): Fix argument's types.
12731 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12732 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12733 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12734 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12735 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12736 QUIT unconditionally.
99633e97 12737
699238d9
GM
127382000-03-15 Gerd Moellmann <gerd@gnu.org>
12739
12740 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12741 a sole completion.
12742
12743 * process.c (send_process): Add a hint that the function
12744 can call Lisp code to its comment.
12745
12746 * lread.c (load_dangerous_libraries): New variable.
12747 (Vbytecomp_version_regexp): New variable.
12748 (safe_to_load_p): New function.
12749 (Fload): Handle files not compiled with Emacs specially.
12750 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12751
34e23e5a
GM
127522000-03-14 Gerd Moellmann <gerd@gnu.org>
12753
9c763cca
GM
12754 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12755
12756 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12757 support functions only if HAVE_X11R6_XIM is defined.
12758 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12759
12760 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12761
12762 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12763 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12764 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12765
12766 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12767 (HAVE_X11R6_XIM): Define.
12768
12769 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12770
34e23e5a
GM
12771 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12772 If set, call XSynchronize.
12773
66f0296e
SM
127742000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12775
34e23e5a
GM
12776 * regex.c: Declare a new type `re_char' used throughout the code
12777 for the string char type. It's `const unsigned char' to match the
12778 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12779 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12780 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12781 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12782 code duplication.
66f0296e
SM
12783
12784 * charset.h (GET_CHAR_AFTER_2): Remove.
12785 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12786
854a025c
KR
127872000-03-12 Ken Raeburn <raeburn@gnu.org>
12788
12789 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12790 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12791 of them try to use backquotes.
12792
b9d2c7e2
DL
127932000-03-12 Dave Love <fx@gnu.org>
12794
12795 * unexelf.c: Restore changes of 1999-10-19.
12796 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12797 fix its type and alignment; copy it from current process.
12798
5e5dff44
GM
127992000-03-12 Gerd Moellmann <gerd@gnu.org>
12800
9b2f3c38
GM
12801 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12802 has been found. Fix bug not computing timer's predecessor.
12803
427ec082 12804 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12805 file name.
12806
e1cff360
GM
12807 * window.c (Fsave_window_excursion): Doc fix.
12808
52283633 12809 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12810
e411ce4b
EZ
128112000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12812
12813 * msdos.c (vga_installed): New function, code moved from
12814 dos_set_window_size.
12815 (Qbar, Qcursor_type, outside_cursor): New variables.
12816 (syms_of_msdos): Intern and staticpro them.
12817 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12818 shape used outside Emacs when called for the first time.
12819 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12820 cursor shape used outside Emacs.
12821 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12822 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12823 type has changed.
12824 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12825 parameters specify the cursor. Make qreverse a global
12826 variable (renamed to Qreverse).
12827
80460654
GM
128282000-03-09 Gerd Moellmann <gerd@gnu.org>
12829
12830 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12831
95cd4c40
SM
128322000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12833
12834 This is a big redesign of failure-stack and register handling, prompted
12835 by bugs revealed when trying to add shy-groups. Overall, what happened
12836 is that loops are now structured a little differently, groups can be
12837 shy and the code is a little simpler.
12838
12839 * regex.h: Update the copyright.
12840 (RE_SHY_GROUPS): New value.
12841 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12842 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12843
80460654
GM
12844 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12845 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12846 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12847 for (start|stop)_memory since they now only take one argument (the
12848 second has becomes unnecessary).
52283633 12849 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12850 (print_compiled_pattern): Use %ld to printf long ints and flush to
12851 make debugging a little easier.
95cd4c40
SM
12852 (union fail_stack_elt): Make the integer unsigned.
12853 (struct fail_stack_type): Add a `frame' element.
12854 (INIT_FAIL_STACK): Init `frame' as well.
12855 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12856 (DEBUG_PUSH, DEBUG_POP): Remove.
12857 (NUM_REG_ITEMS): Remove.
12858 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12859 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12860 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12861 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12862 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12863 New macros.
80460654
GM
12864 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12865 address pushed is not the destination of the jump but the source
12866 of it instead.
95cd4c40
SM
12867 (NUM_FAILURE_ITEMS): Remove.
12868 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12869 registers before the actual failure point). Don't hardcode any
12870 meaning for str==NULL anymore.
95cd4c40 12871 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12872 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12873 Remove.
95cd4c40
SM
12874 (REG_UNSET_VALUE): Use NULL (why not?).
12875 (compile_range): Remove declaration since it doesn't exist.
12876 (struct compile_stack_elt_t): Remove inner_group_offset.
12877 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12878 (regex_grow_registers): Remove dead code.
12879 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12880 (regex_compile): Add shy-groups Change loops to use
12881 on_failure_jump_smart&jump instead of
12882 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12883 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12884 variable to me). Use `jump' instead of `jump_past_alt' and don't
12885 bother with push_dummy_failure in alternatives since it is now
12886 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12887 emacs' for (re)allocating the stack.
12888 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12889 from loop when bufp->can_be_null rather than jumping to `done'.
12890 Avoid jumping backwards so as to ensure termination. Use
12891 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12892 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12893 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12894 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12895 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12896 (lowest_active_reg, highest_active_reg)
12897 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12898 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12899 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12900 variables. Push register (in `start_memory') on the stack rather
12901 than storing it in old_reg(start|end). Remove the cycle detection
12902 from `stop_memory', replaced by the use of on_failure_jump_loop
12903 for greedy loops. Add code for the new on_failure_jump_<foo>.
12904 Remove ad-hoc code in `on_failure_jump' to push more registers in
12905 the case of a loop. Take out code from `maybe_pop_jump' into
12906 separate functions and adapt it to the semantics of
12907 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12908 and push_dummy_failure. Remove dummy_failure handling and
12909 handling of `failures to jump to on_failure_jump' (this last one
12910 was already dead code, it seems).
12911 (group_match_null_string_p, alt_match_null_string_p)
12912 (common_op_match_null_string_p): Remove.
95cd4c40 12913
7397acc4
DL
129142000-03-08 Dave Love <fx@gnu.org>
12915
12916 * config.in: Don't depend on __STDC__ for volatile.
12917 Add POINTER_TYPE, PTR, PROTOTYPES.
12918
12919 * hftctl.c, strftime.c: Use PROTOTYPES.
12920 * eval.c (find_handler_clause): Likewise.
12921
12922 * mem-limits.h: Use POINTER_TYPE.
12923
12924 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12925 (memory_warnings): Declare using POINTER_TYPE.
12926
5e91ff9e
GM
129272000-03-08 Gerd Moellmann <gerd@gnu.org>
12928
feab4fba
GM
12929 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12930
52283633 12931 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12932
5e91ff9e
GM
12933 * xfns.c: Remove obsolete code in #if 0.
12934 (Fx_focus_frame): New function.
12935
a735b7e1
KH
129362000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12937
12938 * coding.c (coding_category_name): Add coding-category-utf-8,
12939 coding-category-utf-16-be, coding-category-utf-16-le.
12940 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12941 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12942 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12943 (detect_coding_utf_8): New function.
12944 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12945 UTF_16_LOW_SURROGATE_P): New macros.
12946 (detect_coding_utf_16): New function
12947 (detect_coding_mask): When priorities are specified, skip any
12948 categories that have `nil' coding-system. Fix bug of returning
12949 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12950 returns a mask not set in PRIORITIES.
12951 (detect_eol_type_in_2_octet_form): New function.
12952 (detect_eol): selects detect_eol_type_XXX to call according to
12953 cooding->category_idx.
12954 (detect_coding_system): Remove `nil' coding-system in the result.
12955 (Fupdate_coding_systems_internal): Update all coding-categories.
12956
52283633
SM
12957 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12958 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12959 New macros.
12960 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12961 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12962 (CODING_CATEGORY_IDX_UTF_16_LE)
12963 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12964 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12965 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12966 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12967
9994cc69
GM
129682000-03-07 Gerd Moellmann <gerd@gnu.org>
12969
e9b4e5ff
GM
12970 * doc.c (Fdocumentation_property): If value is not a string,
12971 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12972
f7daf1e1
GM
12973 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12974 close the display with XtCloseDisplay. This caused a bus error
12975 on OpenWindows.
12976
9994cc69
GM
12977 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12978 complete but not unique.
12979
4336c705
GM
129802000-03-06 Gerd Moellmann <gerd@gnu.org>
12981
18bb0684
GM
12982 * process.c (send_process): Remove local variable `procname' that
12983 might become invalid when a GC happens. Instead, access the
12984 process name slot directly.
12985
4336c705
GM
12986 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12987 orig_height if set.
12988
12989 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12990 orig_height if set.
12991
515d0d0e
EZ
129922000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12993
12994 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12995 glyph matrices have been freed.
12996
100b3cbb
GM
129972000-03-05 Gerd Moellmann <gerd@gnu.org>
12998
50df5e5a 12999 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13000 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13001
13002 * xfns.c (QCdata): Moved to xdisp.c.
13003
13004 * xdisp.c (QCdata): Moved here from xfns.c.
13005 (syms_of_xdisp): Initialize QCdata.
13006
13007 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13008
13009 * window.c (coordinates_in_window): Use
13010 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13011 FRAME_INTERNAL_BORDER_WIDTH.
13012
100b3cbb 13013 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13014 it is obviously invalid.
100b3cbb
GM
13015
13016 * xterm.c (x_term_init): Create a colormap if not using the
13017 default visual.
13018
13019 * xterm.h (select_visual): Change prototype.
13020
13021 * xfns.c (select_visual): Rewritten. Recognize user-specified
13022 visual classes.
13023 (visual_classes): New variable.
13024
64d739c4
GM
130252000-03-04 Gerd Moellmann <gerd@gnu.org>
13026
13027 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13028 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13029 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13030 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13031 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13032 XtNcolormap resources.
13033 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13034 (Fx_create_frame): Initialize color members of x_output structure.
13035 (xpm_load): Pass colormap to XPM lib.
13036
13037 * xfaces.c (x_free_colors): Access colormap of frame using
13038 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13039 when default colormap is used.
13040
13041 * xterm.c (x_term_init): Set Colormap member of x_display_info
13042 structure. Copy colormap if resource `privateColormap' is
13043 specified (PseudoColor only).
13044 (x_setup_relief_color): Access colormap of frame using
13045 FRAME_X_COLORMAP.
13046
13047 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13048 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13049
c3cee013
JR
130502000-03-04 Jason Rumney <jasonr@gnu.org>
13051
13052 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13053 other non-platform-specific equivalents.
64d739c4 13054 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13055 specific functions and macros as their w32 equivalents where
13056 non-platform-specifics are not available.
13057 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13058 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13059 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13060 (frame_update_line_height): Use macros to access f->output_data.
13061 (defined_color): Remove FIXME comments; fixed.
13062 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13063 into #ifdef blocks. Add WINDOWSNT blocks.
13064 (Fx_list_fonts): Use macros for accessing font data.
13065 (set_lface_from_font_name): Different default fonts for X and
13066 WINDOWSNT.
13067 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13068 scalable for backward compatibility.
64d739c4 13069 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13070 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13071
64d739c4 13072 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13073 syms_of_w32faces.
13074
13075 * makefile.nt (w32faces.obj): Remove.
13076 (xfaces.obj): Add.
13077
807cc41c
JR
130782000-03-03 Jason Rumney <jasonr@gnu.org>
13079
13080 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13081 correct parameters.
13082
0007072a
KR
130832000-03-03 Ken Raeburn <raeburn@gnu.org>
13084
13085 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13086 standard ELF definitions here if the system header does not.
13087
71a6ba55
GM
130882000-03-03 Gerd Moellmann <gerd@gnu.org>
13089
13090 * xterm.c (PER_CHAR_METRIC): Removed.
13091 (x_per_char_metric_1, x_default_char): New functions.
13092 (x_per_char_metric): If font's default char is invalid, return
13093 metrics of a suitably chosen usable default char.
13094 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13095 char, replace occurrences of unprintable chars with a suitably
13096 chosen usable default char.
71a6ba55 13097
900fa1f1
GM
130982000-03-02 Gerd Moellmann <gerd@gnu.org>
13099
42f55fe0
GM
13100 * xterm.c (note_mouse_highlight): Return quickly if frame's
13101 glyph matrices have been freed.
13102
13103 * dispnew.c (free_glyphs): Block input while freeing matrices.
13104
900fa1f1
GM
13105 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13106
52283633
SM
13107 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13108 Use x_free_colors.
900fa1f1
GM
13109
13110 * dispextern.h (x_free_colors): Add prototype.
13111
13112 * xfaces.c (x_free_colors): New function.
13113 (unload_color, free_face_colors): Use it.
13114
2f950292
EZ
131152000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13116
13117 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13118
13119 * window.c [MSDOS]: Include msdos.h.
13120
54d04320
DL
131212000-03-02 Dave Love <fx@gnu.org>
13122
13123 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13124
13125 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13126 set C_OPTIMIZE_SWITCH for gcc.
13127
0ba93ac4
KH
131282000-03-02 Kenichi Handa <handa@etl.go.jp>
13129
13130 * coding.c (coding_save_composition): Be sure to allocate
13131 composition data area in coding even if there's no composition in
13132 the current run.
13133
a2bc11d4
JR
131342000-03-01 Jason Rumney <jasonr@gnu.org>
13135
13136 * w32term.c: Equivalent changes to those made to xterm.c on
13137 2000-02-25 and 2000-02-24.
13138
13139 * w32fns.c: Equivalent changes to those made to xfns.c on
13140 2000-02-25 and 2000-02-21.
13141
13142 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13143 correct line-end convention is followed.
13144
13145 * w32menu.c [HAVE_BOXES]: Remove #undef.
13146 (single_keymap_panes): Remove code for simulating checkmarks.
13147 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13148 Remove code for drawing simulated checkmarks.
13149 (w32_menu_show): make unibyte help string correctly.
13150 (add_menu_item): draw standard Windows checkmarks. Draw radio
13151 buttons as radio buttons if possible.
13152
72d19d75
GM
131532000-03-01 Gerd Moellmann <gerd@gnu.org>
13154
2df636f4
GM
13155 * sysdep.c (start_of_text): Don't define this function for NetBSD
13156 with ELF.
13157
427ec082 13158 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13159 Don't define.
13160 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13161 (LINKER): Don't undef if __NetBSD__ is defined.
13162
13163 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13164
13165 * fileio.c [__NetBSD__]: Define `unix'.
13166
72d19d75
GM
13167 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13168
ed4d0512
GM
131692000-02-29 Gerd Moellmann <gerd@gnu.org>
13170
50b1039f
GM
13171 * atimer.c (start_atimer): Don't abort when timers are stopped.
13172 (append_atimer_lists): New function.
13173 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13174 arbitrary lists of stopped and running atimers.
13175
ed4d0512
GM
13176 * atimer.c (cancel_atimer): Handle canceling an atimer when
13177 some timers are stopped.
13178
13179 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13180 after canceling it.
13181
13182 * fns.c (maybe_resize_hash_table): Handle case of new size
13183 coming out as being the same as old size.
13184
387023ee
JR
131852000-02-27 Jason Rumney <jasonr@gnu.org>
13186
13187 * makefile.nt: Add atimer.h to dependencies.
13188 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13189 * w32console.c: Only disable window system features for dispextern.h
13190 (initialize_w32_display): Build a display info for the console.
13191 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13192 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13193 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13194 as 2 button mice.
13195 * w32gui.h (struct W32FontStruct): Revert last change after change
13196 to xdisp.c.
13197 * w32menu.c (single_submenu): Set up help string.
13198 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13199 (w32_dialog_show): Set up help string.
13200 * w32term.c (w32_display_info_for_display): Remove unused function.
13201 (w32_draw_bitmap): Use pre-built bitmaps.
13202 (w32_initialize_display_info): New function to initialize parts of
13203 display info that are common to both GUI and console frames.
13204 (w32_term_init): Use w32_initialize_display_info. Do not set
13205 Vw32_num_mouse_buttons here, as it is not called for console
13206 frames. Build bitmaps for indicating truncated lines etc.
13207 (x_delete_display): Destroy pre-built bitmaps.
13208 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13209 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13210
4516715a
DL
132112000-02-27 Dave Love <fx@gnu.org>
13212
13213 * lisp.h: Add a bunch of prototypes.
13214
171ca836
KH
132152000-02-26 Kenichi Handa <handa@etl.go.jp>
13216
13217 * keyboard.c (read_char): Set `usec' correctly.
13218
4013921d
KH
132192000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13220
13221 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13222 `lambda', set reg[RRR] to the map index.
13223 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13224 reg[RRR] to 0. Otherwise, set it to -1.
13225
9244a058
GM
132262000-02-25 Gerd Moellmann <gerd@gnu.org>
13227
2df636f4 13228 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13229
18e21ce8 132302000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13231
f43d79c1
GM
13232 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13233 and contains a `:', prepend `/:'.
13234
13235 * window.c (select_window_1): If selected_window is nil,
13236 don't "swap out" the buffer's point.
13237 (Fset_window_configuration): Set selected_window to nil
13238 before calling Fselect_window.
13239 (unshow_buffer): Don't set point in buffer from window's point
13240 if another more recently selected window also shows the buffer.
13241
bed0c171
GM
132422000-02-25 Gerd Moellmann <gerd@gnu.org>
13243
449c3c52
GM
13244 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13245
f5b58615
GM
13246 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13247 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13248 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13249 New variables.
f5b58615
GM
13250 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13251 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13252 (hide_busy_cursor): New functions.
13253 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13254
13255 * minibuf.c (read_minibuf): Cancel busy-cursor.
13256
13257 * keyboard.c (command_loop_1): Call start_busy_cursor before
13258 Fcommand_execute and cancel_busy_cursor after it.
13259 (timer_check): Remove busy-cursor code.
13260 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13261 cursor timer.
13262
13263 * process.c (wait_reading_process_input): Remove busy-cursor code.
13264
13265 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13266 Fx_hide_busy_cursor.
13267
13268 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13269 Remove prototyoes.
13270 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13271
13272 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13273
13274 * xterm.c (XTread_socket): Remove busy-cursor code.
13275
4eb8436f
GM
13276 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13277 (build_frame_matrix_from_leaf_window): Put code handling
13278 glyph row's not being a slice of a frame row in #if 0.
13279 (sync_window_with_frame_matrix_rows): New function.
13280 (frame_row_to_window): New function.
13281 (mirror_line_dance): Handle copies between windows.
13282
3cb65b0e
GM
13283 * lread.c (Fload): Use `xfree' instead of `free'.
13284 (init_obarray): Use `xmalloc' instead of `malloc'.
13285
bed0c171
GM
13286 * window.c (Fset_window_buffer): Set WINDOW to the window
13287 after decoding.
2add4349
GM
13288 (coordinates_in_window): Take frame's internal border width
13289 into account.
bed0c171 13290
42088c12
GM
132912000-02-24 Gerd Moellmann <gerd@gnu.org>
13292
13293 * xterm.c (x_display_and_set_cursor): Display cursor of
13294 non-selected windows depending on the setting of
13295 cursor_in_non_selected_windows.
13296
13297 * xdisp.c (cursor_in_non_selected_windows): New variable.
13298 (syms_of_xdisp): DEFVAR_BOOL it.
13299
d1e103b2
GM
133002000-02-23 Gerd Moellmann <gerd@gnu.org>
13301
723e779c
GM
13302 * data.c (Fstring_to_number): If number is greater than what
13303 fits into an integer, return a float.
13304
d1e103b2
GM
13305 * eval.c (specbind): Remove references to
13306 keyword_symbols_constant_flag.
13307
13308 * data.c (keyword_symbols_constant_flag): Removed.
13309 (Fmakunbound, set_internal, syms_of_data): Remove references to
13310 keyword_symbols_constant_flag.
13311
13312 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13313
214f877f
KH
133142000-02-23 Kenichi Handa <handa@etl.go.jp>
13315
13316 * syntax.c (multibyte_syntax_as_symbol): New variable.
13317 (syms_of_syntax): Declare it as a Lisp variable.
13318 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13319 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13320 nonzero, treat all multibyte characters as symbol.
52283633 13321 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13322
130adcb7
EZ
133232000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13324
3cb65b0e 13325 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13326 a deleted frame.
130adcb7 13327
17cbbf95
GM
133282000-02-21 Gerd Moellmann <gerd@gnu.org>
13329
13330 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13331
13332 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13333 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13334
beb0bc36
DL
133352000-02-21 Dave Love <fx@gnu.org>
13336
13337 * frame.c (Vmouse_position_function): New variable.
13338 (Fmouse_position): Use it.
13339 (syms_of_frame): Install it.
13340
13341 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13342
1d92afcd
GM
133432000-02-20 Gerd Moellmann <gerd@gnu.org>
13344
13345 * fileio.c (Finsert_file_contents): Unbind the binding of
13346 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13347
13348 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13349 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13350 (specbind, unbind_to): Handle most common case of non-constant
13351 symbol with trivial value specially.
13352
13353 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13354
18e21ce8 133552000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13356
13357 * data.c (Fmake_variable_buffer_local): Doc fix.
13358 Init found_for_buffer to 0.
13359 (Fmake_variable_frame_local): If the variable has already
13360 been buffer-local, set the check_frame field.
13361
1d4311c3
EZ
133622000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13363
13364 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13365 produced for CODING_MODE_LAST_BLOCK requires.
13366
2dc95ddd
DL
133672000-02-18 Dave Love <fx@gnu.org>
13368
13369 * keyboard.c (echo_keystrokes): Remove declaration.
13370 (Vecho_keystrokes) New variable.
13371 (read_char, record_menu_key, read_key_sequence): Use it to allow
13372 use of float value.
13373 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13374
13375 * lread.c: Undef feature selection macros before defining.
13376
f0930f35
GM
133772000-02-18 Gerd Moellmann <gerd@gnu.org>
13378
13379 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13380 for symbols other than the symbol in question.
13381
e3d4de90
DL
133822000-02-17 Dave Love <fx@gnu.org>
13383
13384 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13385
0b378936
GM
133862000-02-17 Gerd Moellmann <gerd@gnu.org>
13387
d621caf7
GM
13388 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13389
0b378936
GM
13390 * alloc.c (enum mem_type): Compile unconditionally.
13391
3b451f74
EZ
133922000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13393
13394 * xfaces.c (tty_defined_color): Don't return faulire indication
13395 for unspecified-fg and unspecified-bg pseudo-colors.
13396
10689a01
GM
133972000-02-17 Gerd Moellmann <gerd@gnu.org>
13398
1216f5e4
GM
13399 * alloc.c (mark_object): Don't mark symbol names in pure space.
13400 (gc_sweep): Don't unmark symbol names in pure space.
13401
13402 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13403 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13404 [GC_MARK_STACK]: New defines.
427ec082 13405 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13406 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13407
13408 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13409
13410 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13411 allocate_buffer instead of xmalloc.
13412
13413 * alloc.c (toplevel): Include setjmp.h.
13414 (PURE_POINTER_P): New define.
13415 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13416 (Vdead) [GC_MARK_STACK]: New variable.
13417 (lisp_malloc): Add parameter TYPE, call mem_insert if
13418 GC_MARK_STACK is defined.
13419 (allocate_buffer): New function.
427ec082 13420 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13421 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13422 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13423 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13424 (MEM_NIL) [GC_MARK_STACK]: New define.
13425 (struct mem_node) [GC_MARK_STACK]: New structure.
13426 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13427 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13428 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13429 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13430 (mark_stack) [GC_MARK_STACK]: New functions.
13431 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13432 (clear_marks): Removed.
13433 (gc_sweep): Set free conses' car, free floats' type, free
13434 symbols' function to Vdead. Use lisp_free to free buffers.
13435 (init_alloc_once): Initialize Vdead.
13436 (survives_gc_p): Return non-zero for pure objects.
13437
13438 * alloc.c: Add comments throughout the file.
13439
2503c8b1
GM
13440 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13441 that unblocks alarms.
13442
8389e1e2
GM
13443 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13444 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13445 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13446
10689a01 13447 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13448
bfc17d18
KH
134492000-02-17 Kenichi Handa <handa@etl.go.jp>
13450
4a09dee0
KH
13451 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13452 avoid infinite error signaling. Allocate sufficient memory for
13453 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13454
2b927d02
SM
134552000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13456
13457 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13458 depends on the previous behavior.
13459
b49cb764
GM
134602000-02-16 Gerd Moellmann <gerd@gnu.org>
13461
13462 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13463
99e95407
GM
134642000-02-15 Gerd Moellmann <gerd@gnu.org>
13465
13466 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13467
13468 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13469 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13470 write(2).
13471
6ffd3cf7
RS
134722000-02-15 Richard M. Stallman <rms@gnu.org>
13473
13474 * data.c (set_internal): Don't make variable buffer-local
13475 if within a let-binding for the same buffer.
13476 (let_shadows_buffer_binding_p): New function.
13477
13478 * eval.c (specbind): For buffer-local value,
13479 record the current buffer also.
13480 (unbind_to): Cope with that change.
13481
cad53475
GM
134822000-02-15 Gerd Moellmann <gerd@gnu.org>
13483
13484 * window.c (Fsave_window_excursion): Doc fix.
13485
1aa963c8
SM
134862000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13487
13488 * syntax.c (back_comment): Make sure we only consider comment-starters
13489 of the relevant style and return -1 in case of a failure to find the
13490 beginning of the comment.
13491 (Fforward_comment): If back_comment fails, go back to the position just
13492 after the comment-end.
13493 (scan_lists): Add comment describing a very minor bug.
13494
b9b84fd3
SM
134952000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13496
13497 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13498 `completion-regexp-list' in the docstring.
13499
3a28db80
DL
135002000-02-14 Dave Love <fx@gnu.org>
13501
13502 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13503
fb4a568d
SM
135042000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13505
13506 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13507 to Emacs' syntax. Also fix the comment about set/not-set meanings
13508 since Emacs syntax is not the value 0 any more.
13509 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13510 since it's now part of RE_SYNTAX_EMACS.
13511
1063ebb5
DL
135122000-02-12 Dave Love <fx@gnu.org>
13513
52283633 13514 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13515
fb07a302
GM
135162000-02-12 Gerd Moellmann <gerd@gnu.org>
13517
13518 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13519
aaf2320c
DL
135202000-02-12 Dave Love <fx@gnu.org>
13521
13522 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13523
13524 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13525 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13526 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13527
13528 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13529
13530 * s/nextstep.h: Don't define HAVE_ALLOCA.
13531
13532 * config.in: Add vfork bits.
13533
eedf8bde
GM
135342000-02-12 Gerd Moellmann <gerd@gnu.org>
13535
13536 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13537 unwind function to undo the effect of stopping atimers.
13538
52283633 13539 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13540
13541 * atimer.c (stopped_atimers): New variable.
13542 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13543 New functions.
13544
13545 * atimer.h (stop_other_atimers, run_all_atimers)
13546 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13547
eedf8bde
GM
13548 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13549
8476c2f8
KR
135502000-02-11 Ken Raeburn <raeburn@gnu.org>
13551
13552 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13553 library may depend on jpeg.
13554 (atimer.o): Depends on atimer.c.
13555
0e85e4a3
KH
135562000-02-11 Kenichi Handa <handa@etl.go.jp>
13557
13558 * insdel.c (del_range_1): Call update_compositions.
13559 (del_range_both): Call update_compositions just once..
13560
97fa0cc8
DL
135612000-02-10 Dave Love <fx@gnu.org>
13562
13563 * xfns.c (create_frame_xic): Fix initialization of automatic
13564 aggregates for pcc.
13565
25566a3c
KH
135662000-02-09 Kenichi Handa <handa@etl.go.jp>
13567
13568 * ccl.c (CCL_MAKE_CHAR): New macro.
13569 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13570 registers by CCL_MAKE_CHAR before calling translate_char.
13571 <CCL_TranslateCharacterConstTbl> Likewise.
13572
69da54ba
DL
135732000-02-08 Dave Love <fx@gnu.org>
13574
13575 * lread.c (__EXTENSIONS__): Define.
13576
f7136ee8
GM
135772000-02-08 Gerd Moellmann <gerd@gnu.org>
13578
13579 * puresize.h (BASE_PURESIZE): Increase to 650000.
13580
7768790b
EZ
135812000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13582
13583 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13584 the help message.
13585
38fd211b
EZ
135862000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13587
13588 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13589 md, mh, mb, mr, and me to the fake termcap entry.
13590
66e4690f
KR
135912000-02-06 Ken Raeburn <raeburn@gnu.org>
13592
13593 * sound.c (sound_cleanup): Don't call device close routine if the
13594 function pointer is null.
13595
a75dfea0
AI
135962000-02-06 Andrew Innes <andrewi@gnu.org>
13597
13598 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13599 around image definitions and prototypes.
13600 (gamma_correct) [WINDOWSNT]: New prototype.
13601
13602 * w32term.c (x_make_frame_visible): Replace call to
13603 input_poll_signal with poll_for_input.
13604
13605 * window.c [WINDOWSNT]: Include w32term.h.
13606
13607 * xdisp.c [WINDOWSNT]: Include w32term.h.
13608
13609 * makefile.nt: Add dependencies on w32gui.h.
13610 (OBJ1): Include atimer.obj.
13611 ($(BLD)\atimer.obj): New dependency rule.
13612
13613 * w32.c (sigmask): New function (does nothing).
13614 (sigunblock): Ditto.
13615
13616 * frame.c [WINDOWSNT]: Include w32term.h.
13617
13618 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13619
13620 * lread.c (syms_of_lread): Fix literal newlines.
13621
13622 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13623 the string constant limit (2048 bytes) in MSVC.
13624 (main): Ditto.
13625
59ddecde
GM
136262000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13627
52283633 13628 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13629 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13630 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13631 dispatch the event.
13632
07590973
DL
136332000-02-04 Dave Love <fx@gnu.org>
13634
13635 * fileio.c: Remove some unused vars.
13636 (_GNU_SOURCE): Define (for euidaccess).
13637
13638 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13639
13640 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13641 gcpro1, gcpro2.
13642 (read_minibuf): Deal with allow_props correctly.
13643
649351f9
EZ
136442000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13645
13646 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13647
66e4690f 136482000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13649
13650 * search.c (compile_pattern): If a cache entry has a nil regexp,
13651 fill in that entry instead of clobbering a previously cached
13652 string regexp.
13653
66e4690f 136542000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13655
13656 * puresize.h (BASE_PURESIZE): Increase to 610000.
13657
d240a249
GM
136582000-02-02 Gerd Moellmann <gerd@gnu.org>
13659
13660 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13661 can GC.
13662
ca91fb26
KH
136632000-02-02 Kenichi Handa <handa@etl.go.jp>
13664
25660570
KH
13665 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13666 instead of incrementing ic directly.
13667 <CCL_WriteExprConst> Likewise.
13668 <ccl_set_expr>: Set ic to jump_address.
13669
ca91fb26
KH
13670 * fileio.c (e_write): Fix the handling of
13671 CODING_FINISH_INSUFFICIENT_SRC.
13672
2ede9689
DL
136732000-02-01 Dave Love <fx@gnu.org>
13674
13675 * editfns.c (Fpropertize): Doc fix.
13676
13677 * process.c (Fstart_process): Doc fix.
13678
13679 * eval.c: Fix various doc strings not to duplicate information
13680 from help-manyarg-func-alist.
13681
52283633 13682 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13683
13684 * doc.c (Vhelp_manyarg_func_alist): New variable.
13685 (Fdocumentation): Use it.
13686 (syms_of_doc): Define it.
13687
b6680a0e
GM
136882000-01-31 Gerd Moellmann <gerd@gnu.org>
13689
2cb750ba
GM
13690 * xterm.c (xim_open_dpy): Remove unused local variable.
13691
52283633 13692 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13693
13694 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13695 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13696
b6680a0e
GM
13697 * fns.c (sweep_weak_table): New function.
13698 (sweep_weak_hash_tables): Use it. Keep on marking until there
13699 is no more change.
13700
994c5afe
GM
137012000-01-30 Gerd Moellmann <gerd@gnu.org>
13702
13703 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13704 that XTread_socket does not crash by trying to call XNoOp on a
13705 closed display.
427ec082 13706
f00276e3
JR
137072000-01-30 Jason Rumney <jasonr@gnu.org>
13708
13709 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13710 Change selected_frame to SELECTED_FRAME ().
13711 (w32_console_mouse_position): Remove #ifndef MULE from around
13712 `insist' parameter.
13713
13714 * makefile.nt: Remove dosfns.obj.
13715
13716 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13717
13718 * w32fns.c (w32_defined_color): Check for valid frame before
13719 applying gamma correction. Eliminate dependency on frame elsewhere.
13720 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13721 (w32_to_x_font): Use resx and resy not height_in and width_in.
13722 (x_to_w32_font): Doc fix.
13723 (xlfd_strip_height): New function to strip and return font height.
13724 (w32_font_match): Compare height separately from rest of xlfd
13725 spec, using xlfd_strip_height.
13726
13727 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13728 width_in. Use w32_defined_color in place of defined_color.
13729
13730 * w32faces.c: Merge more of DOS and X specifics in preparation for
13731 merge with xfaces.c.
13732 (defined_color): Remove FIXME comment.
13733 (tty_color_name): Provide w32-specific function.
13734 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13735
13736 * w32console.c (turn_on_face, turn_off_face): Removed.
13737 (w32_face_attributes): New function.
13738 (Global_variables): Reduce scope where possible.
13739 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13740 fill attribute.
13741 (hl_mode): Don't modify text attributes.
13742 (write_glyphs): Don't do anything if len <= 0. Use
13743 w32_face_attributes to get attributes for drawing. Write
13744 terminating codes using char_attr_normal.
13745 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13746 (update_begin, update_end): Likewise.
13747 (vga_stdcolor_name): New function.
13748 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13749 (Fset_screen_color): Remove char_attr_reverse.
13750
b08e8bb2
GM
137512000-01-29 Gerd Moellmann <gerd@gnu.org>
13752
13753 * xfns.c (xic_set_preeditarea): Take window parameter and
13754 window-relative pixel-positions.
13755
13756 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13757 is its frame's selected window.
13758 (xim_instantiate_callback): Likewise.
13759
13760 * xfns.c (x_create_im): Removed.
13761 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13762 (supported_xim_styles): Renamed from supported_styles.
13763 (best_xim_style): Renamed from best_style.
13764 (create_frame_xic): Renamed from xic_create_frame.
13765 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13766
b08e8bb2
GM
137672000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13768
13769 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13770 our frames, call XFilterEvent with 2nd parameter `None'.
13771 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13772 returning XBufferOverflow.
52283633 13773 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13774 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13775 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13776 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13777 (xim_initialize, xim_close)
13778 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13779 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13780 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13781 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13782
13783 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13784 and `xim_styles'.
13785 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13786 `xic_style' and `xic_xfs'.
13787 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13788 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13789 (FRAME_XIM): Removed.
13790
13791 * xfns.c (supported_styles): New variable.
13792 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13793 (xic_create_xfontset, best_style, xic_create_frame)
13794 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13795 (xic_set_xfontset): New functions.
13796
142e109c
DL
137972000-01-28 Dave Love <fx@gnu.org>
13798
13799 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13800
13801 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13802
b02786f9
GM
138032000-01-28 Gerd Moellmann <gerd@gnu.org>
13804
d060bc9f
GM
13805 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13806 for *scratch* if it already existed.
13807
b02786f9
GM
13808 * emacs.c (USAGE): New macro.
13809 (main): Use it to display usage information.
13810
2c52d7e4
EZ
138112000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13812
13813 Support for the menu-help feature:
13814
52283633 13815 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13816
13817 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13818 part of the line to the termscript file.
13819 (IT_clear_to_end): Clear the entire line, not just its beginning.
13820 (menu_help_message, prev_menu_help_message): New variables.
13821 (IT_menu_make_room): Make room for the help_text member.
13822 (IT_menu_display): New argument disp_help; all callers changed.
13823 If disp_help is non-zero, store the help text of the active menu
13824 item in menu_help_message.
13825 (XMenuAddPane): Initialize the help_text member to NULL.
13826 (XMenuAddSelection): New argument help_text. Store it in the
13827 XMenu structure.
13828 (XMenuActivate): New argument help_callback. If the value of
13829 menu_help_message has changed since the last time, display the
13830 menu help message text while waiting for the mouse to move. Clear
13831 the echo area before exiting.
13832 (XMenuDestroy): Free the help_text member.
13833
ffe0bcd1
GM
138342000-01-27 Gerd Moellmann <gerd@gnu.org>
13835
13836 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13837 XMenuAddSelection. Pass help callback to XMenuActivate.
13838 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13839
50dbd23f
EZ
138402000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13841
13842 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13843 and EMACS_SET_USECS.
13844
f5941bf8
GM
138452000-01-26 Dave Love <fx@gnu.org>
13846
6c67ddee
DL
13847 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13848
f5941bf8
GM
13849 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13850 an error may be signalled.
13851
9e49c990
GM
138522000-01-26 Gerd Moellmann <gerd@gnu.org>
13853
fc3cb460
GM
13854 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13855 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13856
9e49c990
GM
13857 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13858
d0c037d8
GM
138592000-01-25 Gerd Moellmann <gerd@gnu.org>
13860
13861 * charset.c (Fstring): If there is a multibyte char among
13862 the args, always return a multibyte string.
13863
e12489f9
GM
138642000-01-25 Gerd Moellmann <gerd@gnu.org>
13865
13866 * sysdep.c (sys_select): Turn atimers off and on instead of
13867 recording and restoring old alarm handler
13868
13869 * process.c (toplevel): Include atimer.h.
13870 (create_process_1): Rewritten.
13871 (create_process): Use atimers instead of alarm.
13872 (wait_reading_process_input) [hpux]: Turn atimers off instead
13873 of turning off SIGALRM.
13874 (wait_reading_process_input): Turn off atimers instead off
13875 calling stop_polling.
13876
13877 * emacs.c (main): Call init_atimer.
13878
13879 * keyboard.c (toplevel): Include systime.h and atimer.h.
13880 (polling_for_input): Removed because unused.
13881 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13882 (poll_timer): New variable.
13883 (poll_for_input, poll_for_input_1): New functions.
13884 (start_polling, stop_polling): Rewritten.
13885
13886 * keyboard.h (polling_for_input): Removed.
427ec082 13887
e12489f9
GM
13888 * atimer.h, atimer.c: New files.
13889
13890 * Makefile.in (obj): Add atimer.o.
13891 (atimer.o): New target.
13892
13893 * blockinput.h (pending_atimers): Add extern declaration.
13894 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13895
13896 * lisp.h (popup_activated_flag): Add extern declaration.
13897
13898 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13899 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13900 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13901
13902 * xterm.c (toplevel): Include atimer.h.
13903 (toolkit_scroll_bar_interaction): New variable.
13904 (Fxt_process_timeouts): Removed.
13905 (x_process_timeouts): New function.
13906 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13907 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13908 (x_make_frame_visible): Call poll_for_input_1 instead of
13909 input_poll_signal. Don't call alarm.
13910 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13911
1e5279b9
DL
139122000-01-24 Dave Love <fx@gnu.org>
13913
6c67ddee 13914 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13915 Don't use -cckr -- apparently not now necessary.
13916
edf6aeb8
EZ
139172000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13918
13919 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13920 screen boundary.
13921
9badad41
JR
139222000-01-23 Jason Rumney <jasonr@gnu.org>
13923
13924 * w32fns.c (w32_defined_color): Apply gamma correction before
13925 trying to map to the palette.
13926 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13927 to w32_clear_rect.
13928
13929 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13930 here. Callers changed to always pass real device context.
13931 (w32_draw_bitmap): Likewise.
13932 (w32_get_glyph_overhangs): Likewise.
52283633 13933 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13934 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13935 pfnSetScrollInfo and SetScrollRange.
13936 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13937 back into MULE characters after decoding them.
13938 (x_get_glyph_face_and_encoding): Likewise.
13939 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13940 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13941 (x_produce_glyphs): Calculate per char metrics for a character
13942 that we know exists in default font when font_not_found_p is true.
13943
63bd786b
JR
139442000-01-22 Jason Rumney <jasonr@gnu.org>
13945
13946 * makefile.nt (intervals.obj, composite.obj): New modules.
13947 (composite.h): Added as dependency where appropriate.
13948
13949 * w32gui.h (XGCValue): New struct for emulating X GCs.
13950
13951 * w32term.h (XCharStruct): New struct for emulating X.
13952
13953 * w32console.c (turn_on_face, turn_off_face): New functions.
13954 (change_line_highlight): New prototype for new redisplay.
13955 (write_glyphs): Support multibyte text. Support faces.
13956
52283633 13957 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13958
13959 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13960 throughout. struct frame * in place of FRAME_PTR.
13961 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13962 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13963 (w32_get_arg): Renamed from x_get_arg.
13964 (Fx_file_dialog): New function.
13965 (w32_list_fonts): Check cache before asking system.
13966 (Vw32_enable_synthesized_fonts): New variable.
13967 (Vw32_enable_italics): Obsolete, removed.
13968
13969 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13970 Use SELECTED_FRAME macro.
13971
13972 * w32menu.c: Add skeleton support for help strings on menus.
13973 (add_menu_item): Native checkbox and radio support added, but not
13974 yet enabled due to bugs.
13975 (push_menu_item): Add parameters type, selection and help.
13976 Callers updated.
13977 Formatting changes to reduce unnecessary diffs with xmenu.c.
13978
13979 * w32select.c (Fw32_set_clipboard_data): Update call to
13980 find_charset_in_str.
13981
13982 * w32term.c: Complete rewrite for new redisplay based on new
13983 xterm.c with necessary sections merged back in from old w32term.c.
13984
6ffd3cf7 139852000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13986
13987 * data.c (set_internal): Further fix in same criterion.
13988
6ffd3cf7 139892000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13990
13991 * data.c (set_internal): Fix the criteria for whether
13992 to swap out the old cached binding.
13993
60af03f1
DL
139942000-01-19 Dave Love <fx@gnu.org>
13995
13996 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13997
f9be074f
KH
139982000-01-18 Kenichi Handa <handa@etl.go.jp>
13999
14000 * regex.c (re_compile_fastmap): While checking a range table for
14001 `charset', skip flag bits for a character class correctly.
14002
52b8dbf9
GM
140032000-01-17 Gerd Moellmann <gerd@gnu.org>
14004
d36100c9
GM
14005 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14006
52283633 14007 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14008
14009 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14010 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14011
14012 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14013 MENU_ITEMS_ITEM_.*.
14014 (MENU_ITEMS_ITEM_HELP): New enumerator.
14015 (push_menu_item): Add parameter HELP. Record help in menu_items.
14016 (single_menu_item, single_submenu, list_of_items): Call
14017 push_menu_item with new parameter.
14018 (single_submenu): Set help string in widget value.
14019 (menu_highlight_callback): New function.
14020 (set_frame_menubar): Call lw_create_widget with new
14021 parameter list.
14022 (xmenu_show, xdialog_show): Ditto.
14023
3139018f
GM
140242000-01-13 Gerd Moellmann <gerd@gnu.org>
14025
14026 * sound.c (Fplay_sound): Improve doc string.
14027
83c8f461
RS
140282000-01-11 Richard M. Stallman <rms@gnu.org>
14029
14030 * lisp.h (set_internal): Enter the new arg.
14031
14032 * eval.c (specbind): Record buffer-local variables specially,
14033 indicating which buffer's binding was saved.
14034 (unbind_to): Restore buffer-local variables specially
14035 in the proper buffer.
14036
14037 * data.c (set_internal): New arg BUF.
427ec082 14038
83c8f461
RS
14039 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14040 * data.c (Fset): Pass new arg to set_internal.
14041 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14042
1fab1775
GM
140432000-01-11 Gerd Moellmann <gerd@gnu.org>
14044
52283633 14045 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14046
83c8f461 140472000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14048
14049 * minibuf.c (Ftry_completion): Doc fix.
14050
7a85e4df
GM
140512000-01-11 Gerd Moellmann <gerd@gnu.org>
14052
14053 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14054 vector, too.
14055
a970dae4
AS
140562000-01-11 Andreas Schwab <schwab@suse.de>
14057
14058 * coding.c (code_convert_region): Initialize total_skip.
14059
c65d14ee
DL
140602000-01-08 Dave Love <fx@gnu.org>
14061
14062 * eval.c (Fuser_variable_p): Check customizability too.
14063
834938d2
GM
140642000-01-07 Gerd Moellmann <gerd@gnu.org>
14065
14066 * minibuf.c (Fcompleting_read): Doc fix.
14067
e0303cd6
GM
140682000-01-05 Gerd Moellmann <gerd@gnu.org>
14069
8a26744b
GM
14070 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14071 -L /usr/local/lib.
14072
e0303cd6
GM
14073 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14074 Check that input style is supported before trying to create an
14075 IC for it.
14076 (x_window): Call x_create_im.
427ec082 14077
2e471eb5
GM
140782000-01-04 Gerd Moellmann <gerd@gnu.org>
14079
560a7bd2
GM
14080 * xfns.c (current_gif_memory_src): New variable.
14081 (gif_load): Record the address of the current memory source
14082 in current_gif_memory_src.
14083 (gif_read_from_memory): Use current_gif_memory_src.
14084
f9ee84a3
GM
14085 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14086 macros statement form.
14087
d1299cde
GM
14088 * sound.c (struct sound): Renamed from struct sound_file.
14089 (struct sound): Add members `data' and `header_size'.
14090 (enum sound_attr): Add SOUND_DATA.
14091 (current_sound, current_sound_device): Variables renamed from
14092 sound_file and sound_device.
14093 (parse_sound): Parse :data.
14094 (parse_sound): Handle sound data in strings.
14095 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14096 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14097 needed header size.
14098 (wav_play, au_play): Play sounds from string data.
14099
2e471eb5
GM
14100 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14101
14102 * lisp.h: Add prototype for allocate_string_data.
14103
52283633 14104 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14105
14106 * alloc.c (mark_buffer): Remove code in #if 0.
14107 (gc_sweep): Ditto.
14108 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14109 (strings_consed): New variable.
14110 (allocate_string): Set it.
14111 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14112 (Fmemory_use_counts): Return strings_consed. Use Flist.
14113
14114 * alloc.c: General cleanup in comments etc. Remove conditional
14115 compilation for `standalone'.
14116
14117 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14118
14119 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14120 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14121 (DONT_COPY_FLAG): Removed.
14122 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14123 (struct sdata, struct sblock): New
14124 (struct string_block): Rewritten.
14125 (STRINGS_IN_STRING_BLOCK): New macro.
14126 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14127 (large_sblocks, string_blocks, string_free_list): New variables.
14128 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14129 (init_strings): Rewritten.
14130 (allocate_string, allocate_string_data, compact_small_strings)
14131 (free_large_strings, sweep_strings): New functions.
14132 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14133 (struct string_block_head, current_string_block)
14134 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14135 (STRING_PAD): Removed.
14136 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14137 (Fgarbage_collect): Don't set mark bit in large strings.
14138 (mark_object): Mark strings differently. Mark symbol names
14139 differently.
14140 (survives_gc_p): Test marked strings differently.
427ec082 14141 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14142 symbol names.
14143 (compact_strings): Removed.
14144
42608ba8
EZ
141452000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14146
14147 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14148 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14149
e0a09e1a
KH
141502000-01-04 Kenichi Handa <handa@etl.go.jp>
14151
dd9f0750 14152 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14153 in a non-empty buffer.
dd9f0750 14154
3c0f3b15 14155 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14156
44cd3ae5
GM
141572000-01-03 Gerd Moellmann <gerd@gnu.org>
14158
14159 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14160 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14161
14162 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14163
c182a70f
EZ
141642000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14165
14166 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14167 need to test for MSDOS frames.
14168
24480d5b
EZ
141692000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14170
14171 * dosfns.c (unspecified_colors): Remove.
14172 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14173 unspecified_bg.
14174 (msdos_stdcolor_name): Return strings for unspecified fore- and
14175 back-ground colors.
14176
14177 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14178 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14179 (tty_color_name): Return Lisp strings for unspecified fore- and
14180 back-ground colors.
14181 (Finternal_set_lisp_face_attribute): Remove the special treatment
14182 for Qunspecified_{f,b}g.
52283633 14183 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14184
047f434a
GM
141852000-01-03 Gerd Moellmann <gerd@gnu.org>
14186
14187 * xdisp.c (reseat_at_next_visible_line_start): Position before
14188 newline only if ending up on a newline.
14189 (next_element_from_ellipsis): Return success. Handle case of
52283633 14190 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14191 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14192 returns 0.
14193
d684c676
EZ
141942000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14195
14196 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14197 (Fcolor_supported_p): Renamed from face-color-supported-p.
14198
5fe1d139
EZ
141992000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14200
14201 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14202 list of colors renamed to tty-defined-color-alist.
14203 (tty_color_name): Pass the frame to tty-color-by-index.
14204 (realize_tty_face): tty-color-alist is now a function which
14205 accepts the frame as argument.
14206
52283633 14207 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14208
816be8b8
EZ
142092000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14210
14211 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14212 encode_terminal_code.
14213
b635321e
EZ
142142000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14215
14216 * dispnew.c (mode_line_string): Support termcap frames as well.
14217
9b784e96
GM
142182000-01-01 Gerd Moellmann <gerd@gnu.org>
14219
27189709
GM
14220 * syntax.c (Fforward_word): Undo previous change.
14221
14222 * editfns.c (Fconstrain_to_field): Don't constrain if
14223 inhibit-field-text-motion is non-nil.
14224 (Fline_beginning_position): Undo previous change.
14225 (Fline_end_position): Ditto.
14226
14227 * syntax.c (Fforward_word): Notice field boundaries only if
14228 inhibit-field-text-motion is nil.
14229
14230 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14231
14232 * editfns.c (Vinhibit_field_text_motion): New variable.
14233 (inhibit-field-text-motion): New DEFVAR_LISP.
14234 (Fline_beginning_position, Fline_end_position): Notice field
14235 boundaries only if inhibit-field-text-motion is nil.
14236
45158a91
GM
14237 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14238 All calls adjusted.
14239 (x_build_heuristic_mask): Likewise.
14240 (xbm_load_image_from_file): Change error output.
14241 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14242 (gif_load, gs_load, x_kill_gs_process): Ditto.
14243
9b784e96
GM
14244 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14245 color indices when accessing raster pixels.
63cec32f
GM
14246 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14247 one of :file or :data.
14248 (enum pbm_keyword_index): Add PBM_DATA.
14249 (pbm_format): Add :data.
14250 (pbm_image_p): Allow either :file or :data.
14251 (pbm_read_file): New function.
14252 (pbm_scan_number): Rewritten to read from string.
14253 (pbm_load): Support :data.
9b784e96 14254
2cb085db 14255See ChangeLog.8 for earlier changes.
6922b018
KH
14256
14257;; Local Variables:
49b3bd82 14258;; coding: iso-2022-7bit
6922b018 14259;; End:
2a34a036
GM
14260
14261 Copyright (C) 2001 Free Software Foundation, Inc.
14262 Copying and distribution of this file, with or without modification,
14263 are permitted provided the copyright notice and this notice are preserved.