(struct face) <colors_copied_bitwise_p>: New
[bpt/emacs.git] / src / ChangeLog
CommitLineData
dd387b25
GM
12001-10-31 Gerd Moellmann <gerd@gnu.org>
2
3 * xfaces.c (realize_x_face): If C is not a single-byte character,
4 set the face's colors_copied_bitwise_p instead of the defaulted_p
5 members which have a different meaning.
6 (free_face_colors): Do nothing for a face whose colors have been
7 copied bitwise.
8
9 * dispextern.h (struct face) <colors_copied_bitwise_p>: New
10 member.
11
2e1280f8
PJ
122001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
13
14 * marker.c: Change doc-string comments to `new style' [w/`doc:'
15 keyword].
16
b9d9a9b9
GM
172001-10-31 Gerd Moellmann <gerd@gnu.org>
18
19 * fns.c (require_unwind): Return Lisp_Object.
20
48400103
PJ
212001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
22
fa1361cb
PJ
23 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
24 (last-input-char): Revert doc-string to be the same as the
25 doc-string of `last-input-event'.
26
48400103
PJ
27 * xdisp.c: Fix typos in comments.
28
eafa3196
GM
292001-10-31 Gerd Moellmann <gerd@gnu.org>
30
31 * window.c (grow_mini_window): Handle case that the root
32 window is already smaller than the nominal mininum height.
33
747d3f2a
SM
342001-10-30 Stefan Monnier <monnier@cs.yale.edu>
35
bf9bb76f
SM
36 * emacs.c (main): Don't call keys_of_macros any more.
37
38 * lisp.h (keys_of_macros): Remove.
39
40 * macros.c (keys_of_macros): Remove.
41
747d3f2a
SM
42 * xfaces.c (Fface_attribute_relative_p): Declare args.
43
5e905a57
JR
442001-10-30 Jason Rumney <jasonr@gnu.org>
45
46 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
47 (enum_font_cb2): Ignore fonts with vertical orientation.
48
3a426197
RS
492001-10-30 Richard M. Stallman <rms@gnu.org>
50
51 * keyboard.c (Finput_pending_p): Doc fix.
52
a742d646
GM
532001-10-30 Gerd Moellmann <gerd@gnu.org>
54
259cf6bc
GM
55 * xterm.c (x_after_update_window_line): Don't run the code
56 clearing in borders for rows whose visible height is 0.
57
3f99f948
GM
58 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
59 resized_p flag is set. If not set, use the much less flickering
60 method previously used.
61
62 * dispnew.c (change_frame_size_1): Set frame's resized_p.
63
64 * frame.h (struct frame) <resized_p>: New member.
65
b4a3be43
GM
66 * lread.c (to_multibyte): Ensure read_buffer is at least twice
67 as large as the number of bytes to convert.
747d3f2a 68
a742d646
GM
69 * lread.c (to_multibyte): New function.
70 (read1): Use it.
71
cacbb9e9
EZ
722001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
73
74 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
75
99cb6b2f
GM
762001-10-30 Gerd Moellmann <gerd@gnu.org>
77
327f42ee 78 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
79 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
80 if the row's fill_line_p is set and drawing the last glyph with
81 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 82
99cb6b2f
GM
83 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
84
8e8223e2
SM
852001-10-29 Stefan Monnier <monnier@cs.yale.edu>
86
87 * xmenu.c: Include coding.h and charset.h.
88 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
89 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
90 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
91 Explicitly set wv->help. Use `TRUE' rather than `True'.
92 (menu_help_callback): Use empty_string.
93
94 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
95 (Fx_popup_dialog): Explicitly init f.
96 (w32_menu_display_help): Use empty_string.
97
4d083a8f
RS
982001-10-29 Richard M. Stallman <rms@gnu.org>
99
b2304472
RS
100 * fns.c (Frequire): Detect recursive try to require the same
101 feature 3 or more levels deep, and get error.
102 (require_unwind): New subroutine.
103 (require_nesting_list): New variable.
104 (syms_of_fns): Init and staticpro it.
105
4d083a8f
RS
106 * print.c (print_object): Clarify indication of insertion type.
107
2fe41216
EZ
1082001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
109
90480000
EZ
110 * coding.c (syms_of_coding): Document that locale-coding-system is
111 used for decoding input on X.
112
2fe41216
EZ
113 * window.c (Fscroll_left, Fscroll_right): Doc fix.
114
74e79967
PJ
1152001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
116
117 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
118 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
119
60ebcfe8
GM
1202001-10-29 Gerd Moellmann <gerd@gnu.org>
121
9a7bdceb
GM
122 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
123 use NO_CURSOR if cursor_in_non_selected_windows is false.
124
3f08fcd2
GM
125 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
126 the slant attribute if FRAME is t.
127
0ccfdad2
GM
128 * xfns.c (x_set_internal_border_width): Set frame garbaged
129 when X window doesn't exist yet.
130
ef253080
GM
131 * xterm.c (x_after_update_window_line): Clear internal border
132 in different circumstances.
133
60ebcfe8
GM
134 * xterm.c (XTread_socket) <KeyPress>: Don't use
135 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
136 <handa@etl.go.jp>.
137
73d25f9c
EZ
1382001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
139
140 * m/ibms390.h: New file. From Adam Thornton
141 <athornton@sinenomine.net>.
142
cac1daf0
GM
1432001-10-28 Gerd Moellmann <gerd@gnu.org>
144
053b3256
GM
145 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
146
cac1daf0
GM
147 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
148 a loop counter.
149
13b1a09c
PJ
1502001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
151
186486eb
PJ
152 * emacs.c: Use argv[0] instead of emacs when -t was specified.
153
4707d2d0
PJ
154 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
155 keyword].
156 Fix typos in comments.
157
d883731c
PJ
158 * emacs.c (bug_reporting_address): New function.
159 Use it when displaying usage message.
160
04012254
PJ
161 * minibuf.c (read_minibuf): Remove unused external declaration of
162 variable `Qread_only'.
163
13b1a09c
PJ
164 * keymap.c (access_keymap): Remove unused variable `charset'.
165
5bbf4378
MB
1662001-10-28 Miles Bader <miles@gnu.org>
167
168 * xfaces.c (merge_face_heights): Handle TO being relative as well.
169 Remove #ifdef'd-out code.
170 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
171 (syms_of_xfaces): Initialize them.
172
1ce1e4ee
JR
1732001-10-27 Jason Rumney <jasonr@gnu.org>
174
175 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
176 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
177 position using the system caret.
178
179 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
180 (w32_system_caret_height, w32_system_caret_x)
181 (w32_system_caret_y): New variables for tracking system caret.
182 (w32_initialize): Initialize them.
c2d53558 183 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 184
c2d53558
SM
185 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
186 New messages types.
1ce1e4ee
JR
187
188 * w32term.c (note_mouse_highlight): Clear old help_echo.
189
4e30ce42
PJ
1902001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
191
bb4600a4
PJ
192 * xterm.c: Fix typo in a comment.
193
7db35a48
PJ
194 * emacs.c: Fix typos in comments.
195 Remove unnecessary spaces.
196 Change doc-string comments to `new style' [w/`doc:' keyword].
197 (USAGE2): Fix typos in usage string.
198
a7248e4f
PJ
199 * xterm.c: Fix typo in a comment.
200
4e30ce42
PJ
201 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
202 emacs.c.
203
62725a92
GM
2042001-10-27 Gerd Moellmann <gerd@gnu.org>
205
798dbe1f 206 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 207 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
208 farther backward when target_y was not reached.
209
62725a92
GM
210 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
211 Display errno only if non-zero.
212 (sound_warning): New function.
213 (vox_configure): Don't treat failing to set sample rate as error.
214 (various places): Improve error messages.
215
d4e34d24
EZ
2162001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
217
944e6f60
EZ
218 * fileio.c (Faccess_file): Run the argument filename through
219 Fexpand_file_name, before using it.
220
d4e34d24
EZ
221 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
222 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
223
38d2af0c
GM
2242001-10-26 Gerd Moellmann <gerd@gnu.org>
225
da80a8d5
GM
226 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
227
38d2af0c
GM
228 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
229 Fix clearing in the case of scroll bars on the right.
c2d53558 230
56f508dd
EZ
2312001-10-26 Juanma Barranquero <lektu@terra.es>
232
233 * w32gui.h (XImage): Add a dummy typedef.
234
fbd5ceb2
GM
2352001-10-26 Gerd Moellmann <gerd@gnu.org>
236
c2d53558 237 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 238
b23236fb
EZ
2392001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
240
241 * frame.c (Fframe_parameter): Fix last change.
242
879eadc3
GM
2432001-10-25 Gerd Moellmann <gerd@gnu.org>
244
75700ff2
GM
245 * frame.c (Fframe_parameter): Fix a bug whereby some
246 ``artificial'' frame parameters, like `minibuffer' were not
247 obtained by calling Fframe_parameters.
248
dfe92a6a
GM
249 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
250 cursor differently.
251
879eadc3
GM
252 * xdisp.c (move_it_vertically_backward): Compute line height
253 differently. Add heuristic to try to be more compatible to 20.x.
254
e1010ebe
SM
2552001-10-25 Stefan Monnier <monnier@cs.yale.edu>
256
d73a471b
SM
257 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
258
d6da5a06
GM
259 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
260 boolean.
e1010ebe 261
f66bd220
MB
2622001-10-25 Miles Bader <miles@gnu.org>
263
264 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
265 BG is a pointer to a structure, not a structure.
266 (gif_format, png_format): Add missing commas.
267
d436d538
RS
2682001-10-24 Richard M. Stallman <rms@gnu.org>
269
270 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 271 (syms_of_xfaces): Defsubr it.
d436d538 272
075c507b
PJ
2732001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
274
275 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
276 variable `area'.
277
d492b584
PJ
2782001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
279
c2d53558 280 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 281
e2a57b34
MB
2822001-10-25 Miles Bader <miles@gnu.org>
283
284 * dispextern.h (struct image): Add `background',
285 `background_valid', and `background_transparent' fields.
286 (image_background, image_background_transparent): New declarations.
287 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
288 * xfns.c (image_background, image_background_transparent)
289 (four_corners_best): New functions.
c2d53558 290 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
291 (gs_format): Add `:background' entry.
292 (lookup_image): Set IMG's background color if specified.
293 (pbm_load, xbm_load_image, png_load): Set IMG's background field
294 when appropriate.
295 (x_clear_image_1): Reset `background_valid' and
296 `background_transparent_valid' fields.
297 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
298 calculating it here. Set IMG's background_transparent field.
299 (enum xpm_keyword_index): Add XPM_BACKGROUND.
300 (enum png_keyword_index): Add PNG_BACKGROUND.
301 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
302 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
303 (enum gif_keyword_index): Add GIF_BACKGROUND.
304 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 305 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
306 Pre-calculate image background color where necessary.
307 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
308 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
309 color to use for image glyph reliefs.
310
b547b6e8
GM
3112001-10-24 Gerd Moellmann <gerd@gnu.org>
312
d9e3b8c6
GM
313 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
314 in full-width rows.
c2d53558 315
b547b6e8
GM
316 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
317 Fix clearing of area not covered by scroll bar.
318
2beb36f9
PJ
3192001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
320
321 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
322 and `real_start'.
c2d53558 323 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
324 (glyph_rect): Remove unused variable `area'.
325
76cb5e06
GM
3262001-10-24 Gerd Moellmann <gerd@gnu.org>
327
bdbdebff 328 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
329
330 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
331 (row_containing_pos): Take additional argument DY.
332 Treat rows ending in middle of char differently.
62e33982
GM
333 (display_line): Handle tabs on window systems differently.
334
335 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
336 with additional argument.
337
338 * dispextern.h (row_containing_pos): Adjust prototype.
339
76cb5e06
GM
340 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
341 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
342 (try_window_id, try_window_reusing_current_matrix)
343 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
344 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
345
996fee11
PJ
3462001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
347
c9e60620
PJ
348 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
349 gnuemacs).
350 (HAVE_BOXES): Fix typo in comment.
351 (push_menu_pane): Fix typo in comment.
352
3b552d56
PJ
353 * xdisp.c: (display_prop_string_p): Remove unused local declaration
354 of `Qwhen'.
355 (single_display_prop_string_p): Remove unused local declarations
356 of `Qwhen' and `Qmargin'.
357 (string_buffer_position): Remove unused variable `around'.
358 (store_frame_title): Remove unused variable `width'.
359
15c565ac
PJ
360 * window.c: Don't define max.
361 (coordinates_in_window): Remove unused variable `uy'.
362
a8818eb9
PJ
363 * widget.c: Don't define max.
364
996fee11
PJ
365 * process.c: Don't define max.
366 (create_process): Remove unused variable `buffer'.
367
496e1a5b
GM
3682001-10-23 Gerd Moellmann <gerd@gnu.org>
369
c2d53558 370 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 371
5905ae8b
EZ
3722001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
373
374 * xfaces.c (Finternal_set_lisp_face_attribute)
375 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
376 frame is on a windowed display.
377
24db49fb
GM
3782001-10-23 Gerd Moellmann <gerd@gnu.org>
379
c2d53558
SM
380 * dispnew.c (sync_window_with_frame_matrix_rows):
381 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
382 of marginal areas.
383
c2d53558 384 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 385
f0487f05
EZ
3862001-10-23 Andreas Schwab <schwab@suse.de>
387
388 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
389 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
390
f0a48a01
GM
3912001-10-23 Gerd Moellmann <gerd@gnu.org>
392
c2d53558 393 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
394 REAL_END. Notice if cursor gets overwritten.
395 (notice_overwritten_cursor): Take X positions as parameters.
396 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
397 around call to x_draw_glyphs.
398
a50a10a0
PJ
3992001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
400
fc11dff0
PJ
401 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
402 instead of C) and usage.
a50a10a0 403
fc11dff0
PJ
404 * editfns.c (char-to-string): Fix argument names (use CHAR instead
405 of C) and usage.
a50a10a0
PJ
406
407 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
408 `left', `max_width' and `max_height'.
409
8738febd
GM
4102001-10-23 Gerd Moellmann <gerd@gnu.org>
411
412 * xdisp.c (display_line): For a tab continued to the next line,
413 set row's ends_in_middle_of_char_p.
414
653c329b
GM
4152001-10-22 Gerd Moellmann <gerd@gnu.org>
416
417 * xdisp.c (display_line): Fix computation of continuation lines
418 width for TABs.
419
f958c5ac
PJ
4202001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
421
7ba51063
PJ
422 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
423 `Qlaplace'.
424
f958c5ac
PJ
425 * fileio.c: Remove unused code.
426
eb360291
MB
4272001-10-22 Miles Bader <miles@gnu.org>
428
429 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
430 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
431 Remove `DOC_STRINGS_IN_COMMENTS' cases.
432
98515cf0
JR
4332001-10-21 Jason Rumney <jasonr@gnu.org>
434
435 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
436
93026d88
EZ
4372001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
438
439 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
440 (Finsert_string): Avoid the multi-line string literals warning.
441
c9a95b79
MB
4422001-10-22 Miles Bader <miles@gnu.org>
443
444 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
445 (Fdocumentation): Don't use it.
446 (syms_of_doc): Don't initialize it.
447
448 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
449 * print.c (Fwith_output_to_temp_buffer): Likewise.
450 * window.c (Fsave_window_excursion): Likewise.
c2d53558 451 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 452 (Fsave_restriction): Likewise.
c2d53558
SM
453 * eval.c (Frun_hooks, Frun_hook_with_args)
454 (Frun_hook_with_args_until_failure)
455 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
456 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
457 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
458 (Funwind_protect, Fcondition_case): Likewise.
459 * coding.c (Ffind_operation_coding_system): Likewise.
460 * keyboard.c (Ftrack_mouse): Likewise.
461
a3b10252
MB
4622001-10-21 Miles Bader <miles@gnu.org>
463
c2d53558 464 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
465 (Fmake_hash_table): Add usage: string to doc string.
466 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 467 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
468 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
469 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
470 (Fml_prefix_argument_loop): Likewise.
471
c6f73eec
PJ
4722001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
473
c2d53558 474 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 475
c6f73eec
PJ
476 * sysdep.c (init_sys_modes): Change doc-string comments to `new
477 style' [w/`doc:' keyword].
478
479 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
480 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
481 comments to `new style' [w/`doc:' keyword].
482
3cf3436e
JR
4832001-10-21 Jason Rumney <jasonr@gnu.org>
484
485 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
486
c169b8f1
JR
487 * w32term.c (remember_mouse_glyph): New function.
488 (w32_mouse_position): Use it.
489 (note_mouse_movement): If the mouse moved off the glyph, remember
490 its new position.
c2d53558 491
4fdd691b
JR
492 * w32term.h (struct w32_output): Correct spelling of x_compatible.
493 (w32_display_info): Add mouse_face_overlay.
494
c169b8f1
JR
495 * w32term.c (notice_overwritten_cursor): Renamed from
496 note_overwritten_text_cursor. Rewritten to take glyph widths into
497 account.
498 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
499 (fast_find_string_pos): New function.
500 (fast_find_position): Return the correct vpos. Add parameter
501 STOP. In the final row, stop before glyphs having STOP as object.
502 Don't consider glyphs that are not from a buffer.
503 (fast_find_position) [0]: Add a presumably more correct version
504 for after 21.1.
505 (expose_window_tree, expose_frame): Don't compute intersections here.
506 (expose_window): Do it here instead.
507 (expose_window_tree, expose_window, expose_line): Return 1 when
508 overwriting mouse-face.
509 (expose_window): If W is the window currently being updated, mark
510 the frame garbaged.
511 (expose_frame): If mouse-face was overwritten, redo it.
512 (x_use_underline_position_properties): New variable.
513 (syms_of_xterm): DEFVAR_BOOL it.
514 (x_draw_glyph_string): Add comment to use it in future.
515 (x_draw_glyph_string): Restore clipping after drawing box.
516 Fix a computation of the underline position.
517 (w32_get_glyph_string_clip_rect): Minor cleanup.
518 (x_fill_stretch_glyph_string): Remove an assertion.
519 (x_produce_glyphs): Don't convert multibyte characters
520 to unibyte characters in unibyte buffers.
521 (cursor_in_mouse_face_p): New function.
522 (x_draw_stretch_glyph_string): Use it to choose a different GC
523 when drawing a cursor within highlighted text. Don't draw
524 background again if it has already been drawn.
525 (x_draw_glyph_string_box): Don't draw a full-width
526 box just because the glyph row's full_width_p flag is set.
527 (x_draw_glyphs): Fix computation of rightmost x for
528 full-width rows.
529 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
530 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
531 change bottom shadow accordingly. Some cleanup.
532 (x_update_window_end): Handle overwritten mouse face
533 also for tool bar windows.
534 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
535 DRAW is DRAW_IMAGE_RAISED.
536 (clear_mouse_face): Return 1 if text with mouse face was
537 actually redrawn. Make the function static. Reset
538 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
539 optimize away highlighting if we pass over that same overlay again.
540 (note_mouse_highlight): Call mouse_face_overlay_overlaps
541 to detect a case where we have to highlight a different region
542 despite not having left the currently highlighted region.
543 Set mouse_face_overlay in the x_display_info. Avoid changing the
544 mouse pointer shape when show_mouse_face has already done it, or
545 there is no need. Handle mouse-face and help-echo in strings.
546 (glyph_rect): New function.
547 (w32_mouse_position): Use it to raise the threshold for mouse
548 movement event generation.
549 (w32_initialize_display_info): Initialize the x_display_info's
550 mouse_face_overlay.
551 (w32_set_vertical_scroll_bar): Don't clear a zero height
552 or width area.
553 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
554 a widget to zero height.
555
3cf3436e 556 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 557 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
558 equivalents in menu_items.
559 (w32_menu_show): Don't overwrite an item's name with its key
560 description in case the description is a multibyte string.
561 (single_submenu): Some cleanup.
562
563 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
564 (postprocess_image): New function.
565 (lookup_image): Call it for all image types except PostScript.
566 (x_kill_gs_process): Call postprocess_image.
567 (tiff_error_handler, tiff_warning_handler): New functions.
568 (tiff_load): Install them as handlers.
569 (x_kill_gs_process): Recognize if someone has cleared the image
570 cache under us.
571 (valid_image_p): Protect better against invalid image
572 specifications. Previous code could signal an error.
573 (Fx_hide_tip, Fshow_tip): Doc fix.
574 (Fv_max_tooltip_size): New variable.
575 (syns_of_xfns): DEFVAR_LISP it.
576 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
577 window buffer to *tip* right after creating the frame. Set frame's
578 window_width. Use a maximum tooltip size specified by
579 Vx_max_tooltip_size, if that has valid contents.
580 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
581 Make sure the tooltip is completely visible.
582 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
583 (Fx_create_frame): Adjust the frame's height for presence
584 of the tool bar before calling x_figure_window_size.
585 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
586 when the window gets smaller.
587 (x_set_foreground_color): Set frame's cursor_pixel.
588 (x_set_foreground_color, x_set_background_color): Cleaned up.
589 (x_set_font): Handle case of x_new_fontset returning the same name
590 as before, although there was a change in fontsets.
591
386ca361
MB
5922001-10-21 Miles Bader <miles@gnu.org>
593
c2d53558 594 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
595 (Flogxor): Add usage: string to doc string.
596 * charset.c (Fstring): Likewise.
597 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
598 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
599
14ff1ee0
PJ
6002001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
601
03be2694
PJ
602 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
603
604 * alloc.c: Reindent DEFUNs with doc: keywords.
605
606 * abbrev.c (Finsert_abbrev_table_description): Reindent.
607
14ff1ee0
PJ
608 * frame.c: Change doc-string comments to `new style' [w/`doc:'
609 keyword].
610
71431a0e
GM
6112001-10-20 Gerd Moellmann <gerd@gnu.org>
612
6aa97356 613 * (Version 21.1 released.)
71431a0e 614
39f624fa
PJ
6152001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
616
c2d53558 617 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
618
619 * xdisp.c (invisible_text_between_p): Put prototype inside #if
620 0 because unused.
621
622 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
623 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
624 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 625
abcce93a
MB
6262001-10-20 Miles Bader <miles@gnu.org>
627
628 The following changes remove the glyph_row `inverse_p' field,
629 which is never set anymore, due to other changes:
630
631 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
632 (reassert_line_highlight, change_line_highlight): Declarations removed.
633 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
634 (line_hash_code, row_equal_p, fake_current_matrices)
635 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
636 (update_frame_line, update_frame_line, update_frame_line):
637 Don't use `inverse_p' field.
638 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
639 change_line_highlight_hook.
640 (XTreassert_line_highlight, x_change_line_highlight):
641 Functions removed.
c2d53558 642 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
643 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
644 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
645 `inverse_p' field.
c2d53558 646 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
647 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
648 (w32_reassert_line_highlight, x_change_line_highlight):
649 Functions removed.
650 * w32console.c (reassert_line_highlight, change_line_highlight):
651 Functions removed.
652 (initialize_w32_display): Don't set reassert_line_highlight_hook
653 or change_line_highlight_hook.
654 (hl_mode): Function removed.
c2d53558
SM
655 (reset_terminal_modes, set_terminal_modes, update_begin)
656 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
657 (clear_frame, ins_del_lines): Don't call it.
658 * termhooks.h (reassert_line_highlight_hook)
659 (change_line_highlight_hook): Declarations removed.
660 * term.c (reassert_line_highlight_hook)
661 (change_line_highlight_hook): Variables removed.
662 (reassert_line_highlight, change_line_highlight): Functions removed.
663 * msdos.c (IT_reassert_line_highlight)
664 (IT_change_line_highlight): Functions removed.
665 (internal_terminal_init): Don't set reassert_line_highlight_hook
666 or change_line_highlight_hook.
667 (highlight): Variable removed.
c2d53558 668 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
669 (IT_set_terminal_modes): Don't set or use it.
670
671 The following changes remove inverse-video support for terminals
672 that use a `magic cookie' standout mode. Due to changes in the
673 way mode-lines are displayed, such support no longer works
674 anyway, and it's probable that almost no one uses such terminals
675 anymore:
676
677 * term.c (standout_requested): Variable removed.
678 (update_end, highlight_if_desired): Don't use it.
679 (chars_wasted, copybuf): Variables removed.
680 (write_standout_marker): Function removed.
c2d53558 681 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
682 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
683 Don't use `chars_wasted' or `copybuf'.
684 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
685 Set `costs_set' to true.
686 (cursor_to, clear_end_of_line): Test `costs_set' instead of
687 `chars_wasted'.
688 (clear_end_of_line): Function removed.
689 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
690 (clear_to_end): Call `clear_end_of_line' instead of
691 `clear_end_of_line_raw'.
54800acb
MB
692 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
693 (term_init): Don't set them.
694 Turn off any standout/underline modes that require magic cookies.
c2d53558 695 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
696 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
697 Remove special processing for magic-cookie standout modes.
698 (turn_off_face, turn_on_face): Remove special processing for
699 underline magic-cookie glitch.
abcce93a 700
0b5f679f
RS
7012001-10-19 Richard M. Stallman <rms@gnu.org>
702
703 * eval.c (syms_of_eval): Doc fixes.
704
5a4a5bd4
GM
7052001-10-19 Gerd Moellmann <gerd@gnu.org>
706
707 * xdisp.c (redisplay_internal): Don't clear echo area if the
708 mini-window is selected.
709
79f1f96c
MB
7102001-10-19 Miles Bader <miles@gnu.org>
711
b57c2708
MB
712 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
713 doesn't take precedence if the affected property's value is nil.
714
715 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
716
79f1f96c
MB
717 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
718 with fields and suggest using `forward-line' to avoid them.
719 * editfns.c (Fline_beginning_position, Fline_end_position):
720 Clarify documentation.
721
ef879104
SM
7222001-10-18 Stefan Monnier <monnier@cs.yale.edu>
723
724 * keymap.c (current_minor_maps): `override' only shadows its
725 correspondent in minor-mode-map-alist, not the whole tail.
726
97f4db8c
AI
7272001-10-18 Andrew Innes <andrewi@gnu.org>
728
729 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
730 optimization. The fontp->encoding array was not being initialized
731 correctly when compiled with optimizations by MSVC.
732
e6b70fd8
GM
7332001-10-18 Gerd Moellmann <gerd@gnu.org>
734
30903479 735 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 736
0e804d38
AI
7372001-10-17 Andrew Innes <andrewi@gnu.org>
738
739 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
740
741 * w32fns.c (w32_load_system_font): Cache codepage for font, in
742 font_info.charset field.
743
744 * w32term.c (w32_encode_char): Get cached codepage from font_info,
745 rather than working it out by calling w32_codepage_for_font for
746 every glyph.
747
66e5868a
AI
7482001-10-17 Andrew Innes <andrewi@gnu.org>
749
750 * w32term.c (w32_read_socket): Determine clipping rectangle for
751 the entire frame, including areas covered by scrollbars and the
752 menubar. This avoids internal arguments about whether a frame is
753 fully obscured or not.
754
15b00083
GM
7552001-10-17 Gerd Moellmann <gerd@gnu.org>
756
23e8bd86
GM
757 * xdisp.c (try_window_id): Undo last change. Give up if
758 window ends in strings.
30903479 759
9c6ba6d1 760 * xdisp.c (try_window_id): Don't display lines after the window
30903479 761 end if the rest of the window after the window end was already blank.
23e8bd86 762
30903479 763 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
764 for the release of 21.1.
765
30903479 766 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 767
945220bd
MB
7682001-10-17 Miles Bader <miles@gnu.org>
769
770 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
771 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
772 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
773 Change doc-string comments to `new style' [w/`doc:' keyword].
774 (DOC_STRINGS_IN_COMMENTS): Macro removed.
775 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
776 out make-docfile.
777
14242528
MB
7782001-10-16 Miles Bader <miles@gnu.org>
779
780 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
781
3ddf952f
GM
7822001-10-16 Gerd Moellmann <gerd@gnu.org>
783
784 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
785 *scratch*.
786
f3fbd155
KR
7872001-10-16 Ken Raeburn <raeburn@gnu.org>
788
789 Avoid the assumption that car and cdr slots of cons cells are
790 addressable lvalues; this allows for easier experimentation with
791 other lisp implementations that may not permit such accesses for
792 various reasons. Not quite complete -- buffer.c still needs some
793 work, and w32/mac files need rechecking -- so compile-time
794 enforcement is left disabled for now.
795
796 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 797 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
798 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
799 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
800 (XSETCAR, XSETCDR): New macros.
801 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
802 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
803 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
804 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
805 XSETCDR.
806 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
807 * buffer.c (record_buffer, Fbury_buffer)
808 (swap_out_buffer_local_variables, recenter_overlay_lists)
809 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
810 fields of a cons cell respectively.
811 * callint.c (quotify_args, Fcall_interactively): Likewise.
812 * ccl.c (Fregister_code_conversion_map): Likewise.
813 * coding.c (detect_coding_system): Likewise.
814 * composite.c (get_composition_id, make_composition_value_copy):
815 Likewise.
30903479
SM
816 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
817 (swap_in_symval_forwarding, set_internal, Fset_default)
818 (Fmake_variable_buffer_local, Fmake_local_variable)
819 (Fmake_variable_frame_local): Likewise.
f3fbd155 820 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 821 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 822 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
823 * minibuf.c (get_minibuffer): Likewise.
824 * search.c (Fmatch_data): Likewise.
825 * textprop.c (extend_property_ranges): Likewise.
c2d53558 826 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
827 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
828 Likewise.
829 * w32term.c (x_delete_display): Likewise.
830 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
831 Likewise.
c2d53558 832 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 833 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 834 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
835 (Fread_file_name): Use XSETCAR.
836 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
837 CHECK_NUMBER_CDR.
838 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
839 * frame.c (Fmake_terminal_frame): Use XSETCDR.
840 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
841 CHECK_NUMBER_CDR.
842 * keyboard.c (read_char): Alter list traversal to avoid taking the
843 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
844 (parse_menu_item): Use XSETCAR and XSETCDR.
845 (reach_char_x_menu_prompt): Use XSETCAR.
846 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
847 (Fcommand_execute): Use XSETCDR.
848 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
849 (openp): Change list traversal to avoid using XCAR as lvalue.
850 (read_list): Use XSETCDR.
851 * process.c (wait_reading_process_input): Change wait_for_cell
852 handling to avoid taking addresses of cons cell slots.
30903479
SM
853 * xselect.c (x_own_selection, x_handle_selection_clear)
854 (x_clear_frame_selections): Use XSETCDR.
855 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
856 (x_handle_property_notify, x_get_foreign_selection)
857 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 858
502150e5
PJ
8592001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
860
018ba359
PJ
861 * buffer.c: Put doc strings in comments.
862
30903479 863 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 864
b56ba8de
SS
8652001-10-15 Sam Steingold <sds@gnu.org>
866
867 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
868
6a0b793a
PJ
8692001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
870
30903479
SM
871 * process.c (process-inherit-coding-system-flag)
872 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
873 in comment.
874
a1f17501 875 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 876 arguments. Put doc strings in comments.
a65da641
PJ
877
878 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 879
aa601ad0
GM
8802001-10-15 Gerd Moellmann <gerd@gnu.org>
881
30903479 882 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 883
aa601ad0
GM
884 * window.c (select_window_1): Unfreeze window start. Remove a
885 doubled test for WINDOW being live.
886
288148a1
PJ
8872001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
888
dd8d1e71
PJ
889 * fns.c (Fmapconcat): Fix typo in a doc string.
890
288148a1
PJ
891 * dispnew.c (Fsleep_for): Fix typo in a doc string.
892
9f5eb4a3
GM
8932001-10-15 Gerd Moellmann <gerd@gnu.org>
894
895 * xterm.c (x_draw_glyph_string): Restore clipping after
896 drawing box.
897
dbae44c8
PJ
8982001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
899
30903479 900 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 901
0c88c937
SM
9022001-10-14 Stefan Monnier <monnier@cs.yale.edu>
903
56378db4
GM
904 * indent.c (skip_invisible): Use new retval of
905 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 906
845e4cf4
SM
907 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
908 If a parent is reached and noinherit is set, exit immediately.
909 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
910
0c88c937
SM
911 * s/ms-w32.h (EXEC_SUFFIXES):
912 * s/msdos.h (EXEC_SUFFIXES):
913 * process.h (EXEC_SUFFIXES): Remove.
914
915 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
916 (decode_suffixes): Remove.
917
918 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
919 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
920 (invisible_ellipsis_p): Remove.
0c88c937
SM
921
922 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
923 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
924 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
925 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
926 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 927
d19be8a9
PJ
9282001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
929
04d7d066
PJ
930 * lisp.h (Ftop_level): Add prototype.
931
d624284c
PJ
932 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
933 (XTread_socket): Improve style of comments to follow other
934 comments.
935
a87414f9
PJ
936 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
937 is already prototyped in included lisp.h).
938
d19be8a9
PJ
939 * frame.c (Fset_mouse_position): Improve style of comment to
940 follow other comments.
941 (Fset_mouse_pixel_position): Improve style of comment to follow
942 other comments.
943 (Fmake_frame_visible): Doc fix and typo in comment.
944 (Fmake_frame_invisible): Doc fix and typo in comment.
945 (Ficonify_frame): Fix typo in comment.
946
c061c855
GM
9472001-10-14 Gerd Moellmann <gerd@gnu.org>
948
37f6b5b6 949 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 950 * term.c, alloc.c: Put doc strings in comments.
c061c855 951
e641b454
GM
9522001-10-13 Gerd Moellmann <gerd@gnu.org>
953
954 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
955 Provide definitions for doc strings in comments.
956
957 * fns.c: Put doc strings in comments.
958
51724e26
EZ
9592001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
960
961 * dired.c (file_name_completion): Ignore a candidate directory if
962 it matches an element in completion-ignored-extensions that ends
963 in a slash.
964 (syms_of_dired) <completion-ignored-extensions>: Mention the above
965 feature in the doc string.
966 (Ffile_name_completion): Ditto.
967
be5fc59b
SM
9682001-10-12 Stefan Monnier <monnier@cs.yale.edu>
969
5a1373f3
SM
970 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
971
972 * xfns.c (syms_of_xfns): Update calls to Fprovide.
973
974 * lisp.h (Fprovide): Update prototype.
975 (Ffeaturep, invisible_p): Remove.
976
bbc4a3d3 977 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
978 (DOLIST, LOOP_PROPVAL): New macros.
979 (invisible_p, invisible_ellipsis_p): Use them.
980 (invisible_noellipsis_p): New function.
981 (syms_of_xdisp): Use empty_string.
982
983 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
984
985 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
986 (syms_of_lread) <Vafter_load_alist>: Update docstring.
987
988 * print.c (Fwith_output_to_temp_buffer): Align with
989 internal_with_output_to_temp_buffer.
990 (print_preprocess): Use traverse_intervals_noorder.
991 (print_object): Update call to traverse_intervals.
992
993 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
994 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
995
996 * intervals.c (traverse_intervals_noorder): New function.
997 (search_for_interval, count_intervals): Use it.
998 (traverse_intervals): Use less stack space and drop `depth' arg.
999
1000 * fns.c (Ffeaturep): Add new `subfeature' arg.
1001 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1002 (Qsubfeatures): New var.
1003 (syms_of_fns): Initialize it.
1004
026f408d
SM
1005 * keymap.c (Fkey_description): Use empty_string.
1006 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1007 (syms_of_keymap): Setup inheritance between maps.
1008 Don't export Sdescribe_bindings_internal any more.
1009
be5fc59b
SM
1010 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1011
3365175e
GM
10122001-10-12 Gerd Moellmann <gerd@gnu.org>
1013
1014 * xterm.c (notice_overwritten_cursor): Renamed from
1015 note_overwritten_text_cursor. Rewritten to take glyph widths into
1016 account.
1017
2ab7765c
EZ
10182001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1019
1020 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1021 multi-line strings without a trailing "\n\".
1022
311346bb
PJ
10232001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1024
1025 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1026 defined.
1027
2168e04d
SM
10282001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1029
026f408d
SM
1030 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1031
c0ec53ad
SM
1032 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1033 * w32proc.c (sys_spawnve):
1034 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1035 * w32.c (check_windows_init_file):
1036 * sound.c (Fplay_sound):
026f408d 1037 * emacs.c (init_cmdargs):
c0ec53ad
SM
1038 * process.c (Fstart_process): Update calls to openp.
1039
1040 * callproc.c (Vexec_suffixes): New var.
1041 (Fcall_process): Update call to openp.
1042 (decode_suffixes): New function.
1043 (syms_of_callproc): Init exec-suffixes.
1044
1045 * lread.c (Vload_suffixes, default_suffixes): New vars.
1046 (openp): Take a lisp list of suffixes.
1047 Check for file-name-handlers even if the file was absolute already.
1048 (syms_of_lread): Declare load-suffixes.
1049 (Fload): Fix up call to openp.
1050 Don't bother checking for file-name-handler at the very beginning.
1051
f6333468
SM
1052 * keymap.h (Fcopy_keymap): Don't export.
1053
1054 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1055 (Vload_suffixes, Vexec_suffixes): Declare.
1056 (openp): Update prototype.
f6333468
SM
1057
1058 * emacs.c (empty_string): New var.
1059 (syms_of_emacs): Initialize it.
1060
1061 * search.c (wordify): Use it.
1062
1063 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1064 selected window if it's not displayed there. Handle the case
1065 when the window is dedicated.
1066 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1067
1068 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1069
2168e04d
SM
1070 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1071 Remove left_ok and right_ok.
1072 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1073 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1074 new meaning of b_property.
1075
1076 * syntax.c (update_syntax_table): Simplify.
1077 (Fforward_comment): Don't skip quoted chars when going backward.
1078
13d95cc0
GM
10792001-10-11 Gerd Moellmann <gerd@gnu.org>
1080
beb0990f
GM
1081 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1082 in case I is of some unsigned type, in which case
1083 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1084 comparison becomes bogus.
1085
cb938d46
GM
1086 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1087 (Fuser_full_name): Fix bug treating a float as a fixnum.
1088
1089 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1090
1091 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1092
13d95cc0
GM
1093 * lisp.h (circular_list_error): Add prototype.
1094
1095 * data.c (Qcircular_list): New variable.
1096 (circular_list_error): New function.
1097 (syms_of_data): Initialize it Qcircular_list.
1098
e35f6ff7
SM
10992001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1100
1101 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1102 casefiddle.c, buffer.c: Include keymap.h.
1103
619632ac
GM
11042001-10-10 Gerd Moellmann <gerd@gnu.org>
1105
1106 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1107 options. From Dave Love <d.love@dl.ac.uk>.
1108
5e5388f6
GM
11092001-10-09 Gerd Moellmann <gerd@gnu.org>
1110
1111 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1112 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1113
14a3dff7
GM
1114 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1115 unsigned char.
1116 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1117
76ba8daf
AI
11182001-10-08 Andrew Innes <andrewi@gnu.org>
1119
1120 * lisp.h [max]: Undef min and max before redefining them.
1121
1122 * w32gui.h: Do not undef min and max.
1123
1124 * w32heap.h: Do not undef min and max.
1125
1126 * s/ms-w32.h: Do not undef min and max.
1127
166253cb
SM
11282001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1129
1130 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1131
0c4d9527
SS
11322001-10-08 Sam Steingold <sds@gnu.org>
1133
1134 * keymap.c (current-active-maps): Quote newlines (compilation error).
1135
14bfa771
EZ
11362001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1137
1138 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1139 bindings.elc, since otherwise doc strings in bindings.el get wrong
1140 offsets in etc/DOC.
1141
bdb7aa47
SM
11422001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1143
9985827f
SM
1144 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1145
1146 * keyboard.h (map_prompt): Remove.
1147
1148 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1149 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1150
bdb7aa47
SM
1151 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1152
1153 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1154
1155 * keyboard.c (map_prompt): Remove.
1156 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1157 Use Fkeymap_prompt.
1158
1159 * keymap.h: New file. Extracted from lisp.h.
1160
9985827f
SM
1161 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1162 (accessible_keymaps_1): New function.
1163 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1164 (Fwhere_is_internal): Use Fcurrent_active_maps.
1165 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1166 Insert in current buffer rather than standard-output.
1167 Don't call `help-mode'. Export to elisp.
1168 (describe_buffer_bindings): New wrapper.
1169 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1170 and Sdescribe_buffer_bindings.
1171
402c9a51
GM
11722001-10-08 Gerd Moellmann <gerd@gnu.org>
1173
9985827f 1174 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1175 Remove code setting signal handler.
1176
9985827f 1177 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1178 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1179
3fe81fdf
PJ
11802001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1181
1182 * keyboard.c: Don't define min/max.
1183
55fa7820
GM
11842001-10-08 Gerd Moellmann <gerd@gnu.org>
1185
9985827f 1186 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1187 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1188 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1189 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1190 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1191 Don't define min/max.
1192
1193 * lisp.h (min, max): New macros.
1194
55fa7820
GM
1195 * puresize.h (BASE_PURESIZE): Increase to 725000.
1196
1aad31e4
PJ
11972001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1198
9180dc8c
PJ
1199 * xfaces.c (free_frame_menubar): Add prototype.
1200
01f67d2c
PJ
1201 * lisp.h (init_window): Add prototype.
1202
1203 * editfns.c: Include ctype.h.
1204
1205 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1206 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1207 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1208 variable `sb'.
1209
5f351ff1
PJ
1210 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1211 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1212 `popup_activated_flag' and `title'.
1213
479dfe87
PJ
1214 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1215
dff49fc8
PJ
1216 * emacs.c (main): Remove extra `;'.
1217
248ac615
PJ
1218 * atimer.h (struct atimer): Fix typos in a comment.
1219
1220 * atimer.c: Fix typo.
1221
af232c7d
PJ
1222 * Makefile.in: Fix typo.
1223
1224 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1225
d876f455
MB
12262001-10-07 Miles Bader <miles@gnu.org>
1227
1228 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1229
0037e2f2
KR
12302001-10-07 Ken Raeburn <raeburn@gnu.org>
1231
b056f36d
KR
1232 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1233 Lisp_Object.
1234
0037e2f2
KR
1235 * lisp.h (Ffield_end): Declare.
1236
1a4372ef
GM
12372001-10-07 Gerd Moellmann <gerd@gnu.org>
1238
a4a74e8c
GM
1239 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1240
1241 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1242
1243 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1244
1245 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1246
1a4372ef
GM
1247 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1248 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1249
1250 * alloc.c (inhibit_garbage_collection): Simplify.
1251 (Fmemory_use_counts): Ditto.
1252
9985827f 1253 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1254 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1255 most-negative-fixnum.
1256
9985827f 1257 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1258 (FIXNUM_OVERFLOW_P): New macros.
1259
4650e362
MB
12602001-10-06 Miles Bader <miles@gnu.org>
1261
1262 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1263 scroll_bar_bottom_shadow_pixel fields.
1264 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1265 for the shadows, and tell the toolkit about them if we succeed.
1266 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1267 Free scroll-bar shadow colors.
1268 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1269 Free scroll-bar shadow colors when the background color changes.
1270 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1271 Initialize scroll-bar shadow-color fields.
1272
ace64e0a
GM
12732001-10-05 Gerd Moellmann <gerd@gnu.org>
1274
1275 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1276
ec66bdc7
MB
12772001-10-05 Miles Bader <miles@gnu.org>
1278
9985827f
SM
1279 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1280 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1281 New functions (were in simple.el).
9985827f 1282 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1283 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1284 (syms_of_minibuf): Initialize them.
1285
a0fb4492
GM
12862001-10-05 Gerd Moellmann <gerd@gnu.org>
1287
1288 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1289 (tiff_load): Install them as error and warning handler.
1290
0bcf87c1
AI
12912001-10-04 Andrew Innes <andrewi@gnu.org>
1292
1293 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1294 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1295 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1296 (x_to_w32_charset): Handle private format for unknown charsets.
1297 Handle wildcards in charset spec, by ignoring them.
1298 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1299 "*-" prefix from charset.
1300 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1301 handle the truncated font spec form constructed by font_list_1, so
1302 that we correctly identify the charset fields. Don't remove "*-"
1303 prefix from charset.
1304 (w32_list_synthesized_fonts): Fix argument to alloca.
1305
c89e4bc5
GM
13062001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1307
1308 * window.h (MINI_WINDOW_P): Use NILP.
1309
1310 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1311
1312 * termhooks.h (struct input_event): Use proper type for `kind'.
1313
13142001-10-04 Gerd Moellmann <gerd@gnu.org>
1315
1316 This handles unknown keysyms better than before. For example,
1317 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1318 Emacs formerly completely ignored F5. With the change, it derives
1319 a key symbol from the name of the X keysym, `ccaron' in this case.
1320 Reported by Martin Buchholz.
1321
1322 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1323 unknown keysyms.
1324
1325 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1326 that EVENT->code isn't a function key, use the keysym's name.
1327
13282001-10-04 Gerd Moellmann <gerd@gnu.org>
1329
1330 FOREACH is a macro that should make it easier to loop over Lisp
1331 lists with checks for cycles and proper lists.
1332
1333 * lisp.h (LIST_END_P, FOREACH): New macros.
1334
13352001-10-04 Gerd Moellmann <gerd@gnu.org>
1336
1337 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1338 called for a lost connection. Prevent dumping core in this case.
1339 Instead print the X error, and exit. On user request.
1340
1341 * xterm.c (error_msg): New variable.
1342 (x_fatal_error_signal): New function.
1343 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1344 as fatal_error_signal_hook around the call to XtCloseDisplay.
1345
1346 * emacs.c (fatal_error_signal_hook): New variable.
1347 (fatal_error_signal): Call that function.
1348
13492001-10-04 Gerd Moellmann <gerd@gnu.org>
1350
1351 With this, Emacs prints how much pure storage it will
1352 approximately need in case pure storage overflows while dumping.
1353
1354 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1355 New variables.
1356 (init_alloc_once): Initialize new variables.
1357 (PURE_POINTER_P): Use new variables.
1358 (pure_alloc): If pure storage overflows, allocate from the heap.
1359 (check_pure_size): New function.
1360 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1361
1362 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1363 (check_pure_size): Add prototype.
1364
1365 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1366
13672001-10-04 Gerd Moellmann <gerd@gnu.org>
1368
1369 This adds a post-gc-hook that's run with GC inhibited.
1370 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1371
1372 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1373 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1374 (Fgarbage_collect): Run post-gc-hook.
1375
13762001-10-04 Gerd Moellmann <gerd@gnu.org>
1377
1378 This adds `defvaralias' and `indirect-variable'. Changes not
1379 directly related to this feature are there to gain the same
1380 performance again as before variable aliases.
1381
1382 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1383 code to get and set symbol values, to take defvaralias into account.
1384
1385 (Note: the new `constant' bit-flag in symbols would make it
1386 possible to define arbitrary read-only variables, e.g. with
1387 `defconst'.)
1388
1389 Documentation is in lispref/variables.texi. Added to NEWS.
1390
1391 * lisp.h (enum symbol_interned): New enumeration.
1392 (struct Lisp_Symbol): Remove member `obarray', add
1393 `indirect_variable', `constant', and `interned'.
1394 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1395 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1396 (indirect_variable): Add prototype.
1397
1398 * print.c (print_preprocess, print_object): Test internedness of
1399 symbols differently.
1400
1401 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1402 bit-fields.
1403 (init_obarray): Likewise for t and nil.
1404
1405 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1406 (Fdefvaralias): New function.
1407 (specbind): Simplify the test if symbol is a constant.
1408 (syms_of_eval): Defsubr Fdefvaralias.
1409
1410 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1411 (Qcyclic_variable_indirection): New variable.
1412 (Fkeywordp): Check for internedness differently.
1413 (Fmakunbound): Simplify the test if symbol is a constant.
1414 (indirect_variable, Findirect_variable): New functions.
1415 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1416 aliased symbol.
1417 (let_shadows_buffer_binding_p): Check for variable aliases.
1418 (set_internal): Simplify the test if SYMBOL is a constant.
1419 If SYMBOL has a buffer-local value and is an alias, use the aliased
1420 symbol instead.
1421 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1422 Sindirect_variable.
1423
1424 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1425 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1426 set directly.
1427
1428 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1429
1430 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1431 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1432 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1433
ab952a4f
GM
14342001-10-04 Gerd Moellmann <gerd@gnu.org>
1435
1436 * Branch for 21.1.
b56ba8de 1437
ba88ff28
MB
14382001-10-03 Miles Bader <miles@gnu.org>
1439
1440 * callproc.c (syms_of_callproc): Explicitly state in the
1441 documentation for `process-environment' that earlier entries take
1442 precedence over later ones.
1443
ae1a9581
MB
14442001-10-02 Miles Bader <miles@gnu.org>
1445
1446 * textprop.c (Fnext_char_property_change)
1447 (Fprevious_char_property_change): Remove reference to non-existant
1448 argument OBJECT from doc-string.
1449
257e3f57
GM
14502001-10-01 Gerd Moellmann <gerd@gnu.org>
1451
1452 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1453 (try_window_id): Skip back over lines ending in a newline from a
1454 string.
1455
1456 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1457 New bit flag
1458
c1f29759
RS
14592001-10-01 Richard M. Stallman <rms@gnu.org>
1460
1461 * search.c (Freplace_match): Doc fix.
1462
c30dce3d
AI
14632001-09-28 Andrew Innes <andrewi@gnu.org>
1464
1465 * w32menu.c (set_frame_menubar): Take into account that
1466 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1467 <raeburn@gnu.org>.
1468
03be5931
EZ
14692001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1470
1471 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1472
75bec752
PJ
14732001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1474
1475 * s/gnu-linux.h: Fix a typo in comment.
1476
83100e0a
AS
14772001-09-28 Andreas Schwab <schwab@suse.de>
1478
1479 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1480 nocombreloc, in case -z combreloc is the default.
1481
a74b48cf
GM
14822001-09-28 Gerd Moellmann <gerd@gnu.org>
1483
1484 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1485 really going on here.
1486
09c4719e
SM
14872001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1488
1489 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1490
f7d5d963
EZ
14912001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1492
1493 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1494 utf-8, menu-bar, and latin-N.
1495 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1496 unconditionally now.
1497 (lisp): Add latin-N, since they are preloaded.
1498
9240e746
GM
14992001-09-27 Gerd Moellmann <gerd@gnu.org>
1500
14531065
GM
1501 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1502 to the left. Some cleanup.
1503
9240e746
GM
1504 * xdisp.c (display_mode_element): One more case where a string's
1505 multibyteness should be used for display.
1506
edd1e654
GM
15072001-09-26 Gerd Moellmann <gerd@gnu.org>
1508
b02439c8
GM
1509 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1510 reading at EOF.
1511
032906b1 1512 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1513 of the only temporarily set echoing flag for deciding when
032906b1
GM
1514 the cancel echoing.
1515
1516 * keyboard.c (echo_kboard): Make externally visible.
1517
1518 * lisp.h (echo_kboard): Declare extern.
1519
cb617e7c 1520 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1521 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1522 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1523 this round of redisplay if make_cursor_line_fully_visible fails.
1524 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1525 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1526
1527 * dispextern.h (required_matrix_width, required_matrix_height):
1528 Add prototypes.
1529
09c4719e
SM
1530 * dispnew.c (required_matrix_width, required_matrix_height):
1531 New functions.
cb617e7c 1532 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1533 (allocate_matrices_for_frame_redisplay: Use them.
1534 Remove parameters CH_DIM.
cb617e7c 1535
edd1e654
GM
1536 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1537 and selected_window to the frame of the window whose mode-lines
1538 are displayed, and to the window itself.
1539 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1540 here.
edd1e654 1541
924b604c
GM
15422001-09-25 Gerd Moellmann <gerd@gnu.org>
1543
daba7643
GM
1544 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1545 the image cache under us.
1546
b7a22712 1547 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1548 with a string value, use that string's multibyteness for displaying.
b7a22712 1549
ad648212
GM
1550 * keyboard.c (read_char): Don't clear a message for a switch-frame
1551 event. From Stefan Monnier <monnier@cs.yale.edu>.
1552
9f8531e5
GM
1553 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1554 version for after 21.1.
1555
1556 * xdisp.c (row_containing_pos): Make externally visible.
1557
1558 * dispextern.h (row_containing_pos): Add prototype.
1559
924b604c
GM
1560 * process.c (send_process): Disable composition if from_byte < 0.
1561 From Kenichi Handa <handa@etl.go.jp>.
1562
6f3f0db4
GM
15632001-09-24 Gerd Moellmann <gerd@gnu.org>
1564
c69c0ebc
GM
1565 * xterm.c (refreshicon): Function removed.
1566
d1182bc4
GM
1567 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1568
1569 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1570
1571 * xterm.c (toplevel): Remove includes in #if 0.
1572
6f3f0db4
GM
1573 * process.c (sigchld_handler) [LINUX]: Don't return from
1574 the signal handler at the end of the loop.
1575
59957f85
GM
15762001-09-21 Gerd Moellmann <gerd@gnu.org>
1577
09c4719e
SM
1578 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1579 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1580
a0528984
EZ
15812001-09-21 Markus Rost <rost@math.ohio-state.edu>
1582
1583 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1584
db92b288
GM
15852001-09-20 Gerd Moellmann <gerd@gnu.org>
1586
3fed8ad5
GM
1587 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1588 since this function can be called during GC.
1589
db92b288
GM
1590 * callproc.c (Fcall_process): Handle errors from pipe(2).
1591 (child_setup): Delete code in #ifdef vipc.
1592
7121b85a
GM
15932001-09-19 Gerd Moellmann <gerd@gnu.org>
1594
72f62cb5
GM
1595 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1596 (display_mode_element): Display the string from decode_mode_spec
1597 depending on its multibyteness.
1598
a2697022
GM
1599 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1600
7121b85a
GM
1601 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1602
bfc97351
GM
16032001-09-18 Gerd Moellmann <gerd@gnu.org>
1604
c9063433
GM
1605 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1606 recursive_edit_unwind.
1607 (recursive_edit_unwind): Set kboard state according to
1608 SINGLE-KBOARD.
1609
3fbdba3e
GM
1610 * buffer.c (modify_overlay): Don't do nothing if START == END;
1611 This can still be a modification, for example when an overlay has
1612 a before-string or after-string.
1613 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1614 an overlay with before-string or after-string.
1615
1270031d
GM
1616 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1617 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1618
bfc97351
GM
1619 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1620 first_unchanged_at_end_row is in front of
1621 last_unchanged_at_beg_row. This code should be removed after the
1622 release of 21.1.
1623
d8a973aa
GM
16242001-09-17 Gerd Moellmann <gerd@gnu.org>
1625
e18c8b8d
GM
1626 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1627 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1628
d8a973aa
GM
1629 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1630 versions >= 2.95.
1631
ed7d6ba4
EZ
16322001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1633
1634 * dired.c (Ffile_attributes): Doc fix.
1635
551629f9
GM
16362001-09-14 Gerd Moellmann <gerd@gnu.org>
1637
1638 * fileio.c (Ffile_symlink_p): Fix last change.
1639
1640 * filelock.c (current_lock_owner): Fix last change.
1641
4c8c7926
GM
16422001-09-13 Gerd Moellmann <gerd@gnu.org>
1643
620c4704
GM
1644 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1645 take that to mean that the buffer is too small.
1646
81c3310d
GM
1647 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1648 that to mean that the buffer is too small.
1649
06fd3792
GM
1650 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1651 current buffer's multibyteness when discarding the iterator's
1652 stack.
1653
4c8c7926
GM
1654 * xfns.c (Fx_window_property): Handle case that property gets
1655 deleted between the two calls to XGetWindowProperty.
1656
9a72e4c1
GM
16572001-09-11 Gerd Moellmann <gerd@gnu.org>
1658
bd819d14 1659 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 1660
a41edd99
GM
1661 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
1662 in addition to read-only.
1663
1664 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
1665 to t in addition to read-only.
1666
1667 * lisp.h (Qinhibit_modification_hooks): Declare.
1668
1669 * insdel.c (Qinhibit_modification_hooks): New variable.
1670 (syms_of_insdel): Initialize and staticpro it.
1671
d4881c6a
GM
1672 * textprop.c (verify_interval_modification): Don't run
1673 modification-hooks if inhibit_modification_hooks.
1674
1675 * dispnew.c (set_window_cursor_after_update): Fix code
1676 finding glyph row containing cursor when cursor_in_echo_area
1677 is >= 0.
1678
9a72e4c1
GM
1679 * xdisp.c (init_from_display_pos): Put some code in #if 0.
1680 (add_to_log): Use bcopy instead of strcpy.
1681 (init_from_display_pos): Use an explicit loop over bytes in
1682 overlay strings instead of calling index.
1683
f4a374a1
GM
16842001-09-10 Gerd Moellmann <gerd@gnu.org>
1685
300e57bd
GM
1686 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
1687
1688 * dispnew.c (direct_output_for_insert): Don't change IT's
1689 stop_charpos to something in front of its current position.
1690
f4a374a1
GM
1691 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
1692 `format'.
1693
7e4cbc91
RS
16942001-09-10 Richard M. Stallman <rms@gnu.org>
1695
1696 * frame.c (Fmouse_position): Doc fix.
1697
6afad91e
GM
16982001-09-07 Gerd Moellmann <gerd@gnu.org>
1699
1700 * xdisp.c (init_from_display_pos): Don't compare the result
1701 of calling index with NULL.
1702
f76e0368
GM
17032001-09-06 Gerd Moellmann <gerd@gnu.org>
1704
1705 * xfns.c (x_set_background_color): Don't change the colors
1706 of the X window of scroll bar widgets.
1707
9ead1b60
AI
17082001-09-05 Andrew Innes <andrewi@gnu.org>
1709
1710 * w32fns.c (w32_createwindow): Undo last change.
1711
c3b497b3
GM
17122001-09-05 Gerd Moellmann <gerd@gnu.org>
1713
08e1d6df
GM
1714 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1715
c3b497b3
GM
1716 * xdisp.c (string_buffer_position): Use *single_char_property*
1717 functions instead of the *single_property* functions.
b56ba8de 1718
8f860180
AI
17192001-09-04 Andrew Innes <andrewi@gnu.org>
1720
9a72e4c1
GM
1721 * w32term.c (w32_read_socket): Add more information to debugging
1722 output.
8f860180
AI
1723
1724 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1725 from Emacs frames, so that calls to GetClipBox in w32term.c
1726 correctly report when part of a frame is visible (including
1727 scrollbars, etc). This prevents repeated redrawing of frames when
1728 only a scrollbar is visible.
1729 (w32_wnd_proc): Add more frame information to debugging output.
1730
2ee1aa00
SM
17312001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1732
1733 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1734
e3b22517
GM
17352001-09-03 Gerd Moellmann <gerd@gnu.org>
1736
7e376260
GM
1737 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1738 help-echo for a string which doesn't have help-echo itself, use
1739 get-char-property to obtain the help-echo from the string's buffer
1740 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1741 have mouse-face, look ``under'' the string for mouse-face from an
1742 overlay.
1743 (fast_find_position): Add parameter STOP. In the final row, stop
1744 before glyphs having STOP as object. Don't consider glyphs that
1745 are not from a buffer.
1746
e3b22517
GM
1747 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1748
9a249bba
EZ
17492001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1750
1751 * fns.c (Fmd5): Doc fix.
1752
c9979669
GM
17532001-08-31 Gerd Moellmann <gerd@gnu.org>
1754
1755 * composite.c (update_compositions): Do nothing if
1756 inhibit-modification-hooks is set.
1757
9584e63a
GM
17582001-08-30 Gerd Moellmann <gerd@gnu.org>
1759
986ec8f2 1760 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1761 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1762 glyph matrices etc. in a core dump.
1763
92a25631
GM
1764 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1765 (syms_of_xdisp): Initialize them.
1766 (handle_single_display_prop): Don't change point, bind `object',
1767 `position', and `buffer-position' instead to the object having the
2ee1aa00 1768 `display' property, position in the object and position in the buffer.
92a25631 1769
9584e63a
GM
1770 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1771 of the buffer if REPLACE is non-nil.
1772
d38633a3
GM
17732001-08-29 Gerd Moellmann <gerd@gnu.org>
1774
1775 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1776
f4fccc1e
EZ
17772001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1778
1779 * w32term.c (x_set_glyph_string_background_width)
1780 (show_mouse_face): Track the last changes in xterm.c.
1781
eaaa65b0
GM
17822001-08-28 Gerd Moellmann <gerd@gnu.org>
1783
7b0870b2
GM
1784 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1785 string's background width so that multi-line mouse-face is drawn
1786 to the right edge of the window.
1787 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1788 glyphs.
1789
6b6e2422 1790 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1791 before inserting/writing glyphs.
6b6e2422 1792
eaaa65b0
GM
1793 * xdisp.c (display_mode_element): Use string_byte_to_char to
1794 determine character positions in strings, use chars_in_text
1795 instead of strwidth.
1796 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1797 a matrix as parameter; this is easier to use from GDB.
1798
9ad62cf8
MB
17992001-08-28 Miles Bader <miles@gnu.org>
1800
2ee1aa00
SM
1801 * textprop.c (Fprevious_single_char_property_change)
1802 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 1803
32171635
GM
18042001-08-27 Gerd Moellmann <gerd@gnu.org>
1805
47d57b22
GM
1806 * fileio.c (Finsert_file_contents): Allocate, restore, and
1807 free composition data in the case of REPLACE not being nil.
1808
1809 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1810 there exist overlay strings with newlines at POS.
1811 (text_outside_line_unchanged_p): Return 0 if changes start at
1812 START and overlays exist at START. Likewise for END.
1813 (try_window_id): Give up if init_to_row_end returns 0.
1814
32171635
GM
1815 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1816 unconditionally.
1817
e1249666
GM
18182001-08-24 Gerd Moellmann <gerd@gnu.org>
1819
33954c45
GM
1820 * keymap.c (access_keymap): Return the cdr of the binding of
1821 a generic character instead of its definition (KEY . BINDING).
1822
e1249666
GM
1823 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1824 to 0 also in the REPLACE case.
1825
fb4c6c96
AC
18262001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1827
1828 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1829 open to determine whether file is readable (as for DOS_NT).
1830
59ecf80b
GM
18312001-08-23 Gerd Moellmann <gerd@gnu.org>
1832
1833 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1834 coding.type is coding_type_no_conversion or coding_type_raw_text,
1835 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1836 non-nil instead of just setting enable_multibyte_characters in the
1837 buffer to nil.
1838
40e33037
GM
18392001-08-22 Gerd Moellmann <gerd@gnu.org>
1840
374388c3
GM
1841 * dispextern.h (struct face_cache): Add member
1842 menu_face_changed_p.
1843
1844 * xfaces.c (menu_face_changed_default): New variable.
1845 (menu_face_changed_count): Variable removed.
1846 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
1847 the menu_face_changed_default flag, otherwise set the FRAME's
1848 menu_face_changed_p flag if the `menu' face has been changed.
1849 Prevent calling set_font_frame_param if FRAME is t.
1850 (make_face_cache): Initialize cache's menu_face_changed_p
1851 from menu_face_changed_default.
1852 (realize_basic_faces): Look into the frame's face cache to
1853 determine if the menu appearance needs updating.
1854
40e33037
GM
1855 * keymap.c (access_keymap): Fix last change to not consider
1856 IDX when it has modifiers.
1857
859ea4b8
GM
18582001-08-21 Gerd Moellmann <gerd@gnu.org>
1859
1860 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
1861 . BINDING) exists, where GENERIC-CHAR is the generic character of
1862 the charset of IDX, return BINDING unless there exists a binding
1863 for IDX itself.
1864
e8660d73
GM
18652001-08-16 Gerd Moellmann <gerd@gnu.org>
1866
cca1b1d7
GM
1867 * xrdb.c (SYSV): Don't define on Solaris 2.
1868 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
1869
e8660d73 1870 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 1871 of the screen line, not text line, containing IT's current position.
e8660d73 1872
93aba6fc
GM
18732001-08-15 Gerd Moellmann <gerd@gnu.org>
1874
288d4e06
GM
1875 * window.c (window_scroll_pixel_based): Don't recenter if
1876 PT is partially visible in the window.
1877
3452efc2
SM
1878 * xterm.c (expose_window_tree, expose_window, expose_line):
1879 Return 1 when overwriting mouse-face.
82f053ab
GM
1880 (expose_frame): If mouse-face was overwritten, redo it.
1881
93aba6fc
GM
1882 * xfaces.c (x_update_menu_appearance): Don't call
1883 set_frame_menubar, let the next redisplay do it.
1884
858a55c1
AI
18852001-08-14 Andrew Innes <andrewi@gnu.org>
1886
1887 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1888 drawing glyph string.
1889
3a990b67
EZ
18902001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1891
1892 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1893 running HI-UX/MPP.
1894
04386463
GM
18952001-08-14 Gerd Moellmann <gerd@gnu.org>
1896
1897 * xfaces.c (x_update_menu_appearance): Save and restore value of
1898 interrupt_input_blocked.
1899
3e6385a4
GM
19002001-08-13 Gerd Moellmann <gerd@gnu.org>
1901
b0e619b4
GM
1902 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1903 a line start, move back to the line start.
3452efc2 1904
0de73d5a
GM
1905 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1906 exactly when a mini-buffer is active.
1907
3e6385a4
GM
1908 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1909 in units of 1/8 character on non window-system frames.
1910 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1911
d1b5f629
EZ
19122001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1913
1914 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1915 a doc string.
1916
eaa2319f
GM
19172001-08-09 Gerd Moellmann <gerd@gnu.org>
1918
8e3189f0
GM
1919 * keyboard.c (Vpre_help_message): New variable.
1920 (syms_of_keyboard): Initialize and staticpro it.
1921 (show_help_echo): Record current message before displaying a
1922 help-echo, and restore that message when clearing the help.
1923
eaa2319f
GM
1924 * xfns.c (x_create_im): Remove prototype.
1925
1926 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1927
1928 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1929
eaa2319f
GM
19302001-08-08 Gerd Moellmann <gerd@gnu.org>
1931
1932 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1933 windows whose height has changed, disable partially visible lines.
eaa2319f 1934
17fdcfc8
GM
19352001-08-07 Gerd Moellmann <gerd@gnu.org>
1936
22d01aed 1937 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1938 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1939
17fdcfc8
GM
1940 * xdisp.c (start_display): Don't try to determine the continuation
1941 lines width if lines are truncated. It's superfluous and leads to
1942 incorrect results if POS is not visible in the window after
1943 reseating the iterator at the previous line start.
1944
8e3fe78e
GM
19452001-08-06 Gerd Moellmann <gerd@gnu.org>
1946
1947 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1948
98a8938c
GM
19492001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1950
1951 * alloc.c (init_stack): Remove declaration.
1952
18f9986a
GM
19532001-08-03 Gerd Moellmann <gerd@gnu.org>
1954
5e1f85e0
GM
1955 * keyboard.c (read_key_sequence): Check that key is an integer
1956 before comparing it with quit_char.
1957 (add_command_key): Use larger_vector.
1958 (read_char_x_menu_prompt): Instead of converting symbol and
1959 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1960 which cannot be confused with valid events.
5e1f85e0
GM
1961 (read_char): When reading from Vunread_command_events, check for
1962 events of the form (EVENT . disabled) instead of
1963 (EVENT . nil).
1964
18f9986a
GM
1965 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1966 a float, determine the max height from the frame's height.
1967
fbc7f2a6
GM
19682001-08-02 Gerd Moellmann <gerd@gnu.org>
1969
1970 * xdisp.c (redisplay_internal): Take message_cleared_p into
1971 account only if minibuf_level == 0.
1972
81b1a79d
GM
19732001-08-01 Gerd Moellmann <gerd@gnu.org>
1974
e5c60873
GM
1975 * xdisp.c (redisplay_internal): Add a check for the last
1976 displayed message.
3452efc2 1977
6e019995
GM
1978 * xdisp.c (message_cleared_p): New variable.
1979 (clear_message): Set message_cleared_p when clearing the current
1980 message.
1981 (redisplay_internal): Look at message_cleared_p to capture
1982 the case that the echo area should be cleared.
1983
308a74d8
GM
1984 * keyboard.c (command_loop_1): Fix spelling of
1985 resize_echo_area_exactly.
1986
3452efc2 1987 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
1988
1989 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
1990
81b1a79d
GM
1991 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
1992 current matrix when the window gets smaller.
1993
ada329e6
EZ
19942001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
1995
1996 * print.c (strout): Cast the character passed to insert_char to
1997 unsigned char, to avoid sign extension when it is promoted to int.
1998
ed86208c
GM
19992001-07-31 Gerd Moellmann <gerd@gnu.org>
2000
2001 * fileio.c (Finsert_file_contents): Don't treat a return value
2002 of 0 from emacs_read as an IO error.
2003
6594ac22
GM
20042001-07-30 Gerd Moellmann <gerd@gnu.org>
2005
cef68af5
GM
2006 * keyboard.c (abs): New macro.
2007 (double_click_fuzz): New variable.
2008 (make_lispy_event): Use it to determine what makes a double-click.
2009 (syms_of_keyboard): DEFVAR_INT it.
2010
6594ac22
GM
2011 * xmenu.c (set_frame_menubar): Take into account that
2012 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2013 <raeburn@gnu.org>.
2014
75c5350a
GM
20152001-07-27 Gerd Moellmann <gerd@gnu.org>
2016
2017 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2018
2019 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2020 of row's visible height.
2021
2022 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2023 deal with the first overlay string having an image `display' property.
2024 (try_window_reusing_current_matrix, compute_line_metrics):
2025 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2026 row is invisible above and part of the row is at the same time
2027 invisible below the window.
2028
ac49effe
GM
20292001-07-26 Gerd Moellmann <gerd@gnu.org>
2030
2031 * xfns.c (x-show-tip): Doc fix.
3452efc2 2032
ac49effe
GM
2033 * xfns.c (Vx_max_tooltip_size): New variable.
2034 (syms_of_xfns): DEFVAR_LISP it.
2035 (Fx_show_tip): Set frame's window_width to the width of the
2036 window. Use a maximum tooltip size specified by
2037 Vx_max_tooltip_size, if that has valid contents.
2038 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2039
8c3b00cb
AI
20402001-07-26 Andrew Innes <andrewi@gnu.org>
2041
2042 * w32term.c (x_display_list): New variable.
2043 (w32_term_init): Set it.
2044
2045 * w32term.h (x_display_list): New extern.
2046
16098288
GM
20472001-07-26 Gerd Moellmann <gerd@gnu.org>
2048
2049 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2050 is non-nil, instead of when redisplaying_p is non-zero.
2051 See comment there.
16098288
GM
2052 (mark_window_display_accurate_1): Add an assertion.
2053
64c5be50
GM
20542001-07-25 Gerd Moellmann <gerd@gnu.org>
2055
e743f599
GM
2056 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2057
563b384d
GM
2058 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2059 events so that we get a chance of processing expose events.
2060
64c5be50
GM
2061 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2062
296808a5
GM
20632001-07-24 Gerd Moellmann <gerd@gnu.org>
2064
2065 * xfns.c (valid_image_p): Protect better against invalid image
2066 specifications. Previous code could signal an error.
2067
5247262a
GM
20682001-07-23 Gerd Moellmann <gerd@gnu.org>
2069
3452efc2 2070 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2071 presence of display table entries.
2072 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2073
dd42b31a
GM
2074 * dispnew.c (adjust_glyph_matrix): In the optimization for
2075 windows whose height has changed, use the new window height
2076 to compute which rows to invalidate.
2077
9e5a7f2a
GM
2078 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2079 (MAX_10_EXP): New macro.
2080 (Fformat): Use it.
2081
5247262a
GM
2082 * coding.c (code_convert_region): Handle the multibyte case if
2083 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2084
177ab8ce
GM
20852001-07-20 Gerd Moellmann <gerd@gnu.org>
2086
6e07c0a5
GM
2087 * dispextern.h (struct face): Change type of `stipple' to
2088 int; it's an ID.
2089
177ab8ce
GM
2090 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2091
b5b80599
GM
20922001-07-19 Gerd Moellmann <gerd@gnu.org>
2093
4e2a256b
GM
2094 * dispnew.c (update_window): Don't set the cursor at the end
2095 of the update if display update has been paused.
2096
3452efc2 2097 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2098
c1fd9232
KR
20992001-07-18 Ken Raeburn <raeburn@gnu.org>
2100
2101 * fns.c (Fset_char_table_default): Check that a charset is defined
2102 before checking its dimension.
2103
928a85c1
KR
21042001-07-17 Ken Raeburn <raeburn@gnu.org>
2105
2106 * coding.c (setup_coding_system): Don't do any designation based
2107 on reg_bits if charset is not yet defined.
2108
fb4c6c96 2109 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2110 pointer, using eassert.
2111
de11c1ea
GM
21122001-07-17 Gerd Moellmann <gerd@gnu.org>
2113
3452efc2
SM
2114 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2115 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2116
467f1209
GM
21172001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2118
2119 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2120
c3d6be34
GM
21212001-07-16 Gerd Moellmann <gerd@gnu.org>
2122
c1d61a7d
GM
2123 * fileio.c (unwind_read): Function removed.
2124 (read_non_regular, read_non_regular_quit): New functions.
2125 (Finsert_file_contents): When reading from non-regular files,
2126 arrange to catch a `quit' and terminate the loop. Rearrange
2127 code so that a `quit' when reading from a regular file doesn't
2128 insert text in the buffer.
2129
c3d6be34
GM
2130 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2131 Clear faces afterwards.
2132 (clear_font_table): Take a x_display_info parameter. Don't free
2133 fonts being the default font of any frame on the given display.
2134
e06aa1f9
GM
21352001-07-13 Gerd Moellmann <gerd@gnu.org>
2136
2137 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2138 instead of CHAR_STRING which can signal an error.
2139
2140 * charset.c (char_to_string_1): Extracted from char_to_string.
2141 Return -1 instead of signaling an error.
2142 (char_to_string): Use it.
2143
2144 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2145
176c92e6
SM
21462001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2147
2148 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2149 is t, don't try to append anything to it.
2150
1c56232f
EZ
21512001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2152
2153 * dired.c (file_name_completion): Pass dp->d_name to
2154 Fstring_match, not elt, which is always nil here.
2155
1d2b2268
GM
21562001-07-12 Gerd Moellmann <gerd@gnu.org>
2157
2158 * xselect.c (x_decline_selection_request): Handle errors
2159 caused by receivers that have vanished.
2160
2161 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2162 ignoring events on foreign windows in #if 0. Always dispatch
2163 the event after checking it with x_handle_property_notify.
2164
2165 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2166 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2167 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2168 (toplevel): Add prototypes for file-local functions.
2169 (x_atom_to_symbol): Remove DPYINFO parameter.
2170
fe5a0162
SM
21712001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2172
2173 * w32menu.c (menubar_selection_callback, w32_menu_show):
2174 Initialize `entry' to nil.
2175 (w32_dialog_show): Remove unused `save_wv' variable.
2176 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2177
a777242c
GM
21782001-07-11 Gerd Moellmann <gerd@gnu.org>
2179
8ee5b6a3
GM
2180 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2181
d0e2444e
GM
2182 * fileio.c (unwind_read): Print a message when discarding inserted
2183 text or switching the buffer to unibyte. Change parameter.
2184 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2185
a777242c
GM
2186 * fileio.c (unwind_read): New function.
2187 (Finsert_file_contents): Record it as unwind-function for
2188 the case that reading is interrupted by C-g.
2189
ae794295
GM
21902001-07-10 Gerd Moellmann <gerd@gnu.org>
2191
fe5a0162 2192 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2193 update when scrolling_window returns 0.
2194
6b05fae3
GM
2195 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2196
2197 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2198 for the case that x_decode_color signals an error.
6b05fae3 2199
ae794295
GM
2200 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2201
bb6e8cee
GM
22022001-07-09 Gerd Moellmann <gerd@gnu.org>
2203
2204 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2205 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2206 around ioctls.
2207
36b40a8a
EZ
22082001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2209
24b97d4b
EZ
2210 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2211 doc string line for dos-timezone-offset.
2212
36b40a8a
EZ
2213 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2214 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2215 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2216 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2217
2218 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2219
0967b4b0
GM
22202001-07-05 Gerd Moellmann <gerd@gnu.org>
2221
f25cfe53
GM
2222 * sound.c: Include Emacs' header files with #include "...".
2223
0967b4b0
GM
2224 * eval.c (specbind): Additionally record the buffer that was
2225 current when a buffer-local or frame-local variable was bound.
2226
c347a1c3
GM
22272001-07-04 Gerd Moellmann <gerd@gnu.org>
2228
2229 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2230 to unibyte characters in unibyte buffers.
2231
6332ca8a
GM
22322001-07-03 Gerd Moellmann <gerd@gnu.org>
2233
38472d44
GM
2234 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2235 the frame on the binding stack. Change format of entries for
2236 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2237 (unbind_to): Handle unbinding a frame-local variable.
2238
6332ca8a 2239 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2240 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2241 (dump_glyph_row): Print row's continuation_lines_width.
2242 (try_window_id): Take the shortcut if ZV is visible in the
2243 window, but there are actually no changes at ZV.
2244
63d1b174
GM
22452001-07-02 Gerd Moellmann <gerd@gnu.org>
2246
4c175203
GM
2247 * xterm.h (x_free_dpy_colors): Add prototype.
2248
2249 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2250 right number of arguments.
2251
0b54ce28
GM
2252 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2253 ($(lwlibdir)TAGS): New target.
4c175203 2254 (TAGS): Fix dependency list.
0b54ce28 2255
63d1b174
GM
2256 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2257 with input blocked.
2258
d827466c
GM
22592001-06-30 Gerd Moellmann <gerd@gnu.org>
2260
2261 * emacs.c (main): Remove extern declaration for sys_nerr, which
2262 isn't used and causes a compilation error with GCC 3.0 on
2263 FreeBSD 4.3.
2264
b5cb1ada
GM
22652001-06-27 Gerd Moellmann <gerd@gnu.org>
2266
a5d3ec3f 2267 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2268 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2269 (toplevel): Include <signal.h> and syssignal.h.
2270
b5cb1ada
GM
2271 * sound.c (vox_configure, vox_close): Turn off atimers
2272 around ioctls.
2273
d9bad487
GM
22742001-06-26 Gerd Moellmann <gerd@gnu.org>
2275
fdbb67fe
GM
2276 * keyboard.c (read_char) <non_reread>: Record the previous idle
2277 start time before calling timer_stop_idle.
2278 (read_char) <reread_first>: After processing a help-echo event,
2279 restore the previous idle start time.
2280
d9bad487
GM
2281 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2282 the start of invisible text.
2283 (setup_for_ellipsis): New function.
2284 (next_overlay_string): After all overlay strings have been
2285 processed, display an ellipsis if necessary.
2286 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2287 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2288
2289 * dispextern.h (struct iterator_stack_entry): Add member
2290 display_ellipsis_p.
2291
2b9c25e0
GM
22922001-06-25 Gerd Moellmann <gerd@gnu.org>
2293
80de57df
GM
2294 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2295 on the value of the wait-for-wm frame parameter.
2296
2297 * xterm.h (struct x_output): Add member wait_for_wm.
2298
2299 * xfns.c (Qwait_for_wm): New variable.
2300 (x_frame_parms): Add entry for `wait-for-wm".
2301 (x_set_wait_for_wm): New function.
2302 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2303 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2304
2b9c25e0
GM
2305 * xdisp.c (try_window_id) <all changes below window end>: Don't
2306 take this shortcut if ZV is visible in the window.
2307 (try_window_id): When checking for window start being in changed
2308 text, don't check that the buffer's size has changed.
2309
f772775c
RS
23102001-06-23 Richard M. Stallman <rms@gnu.org>
2311
2312 * minibuf.c (Fcompleting_read): Doc fix.
2313
fa9090b8
GM
23142001-06-19 Gerd Moellmann <gerd@gnu.org>
2315
2316 * composite.c (Ffind_composition_internal): Accept ZV
2317 and a string's end position as POS.
2318
f6f1beba
GM
23192001-06-18 Gerd Moellmann <gerd@gnu.org>
2320
2321 * composite.c (Ffind_composition_internal): Check POS
2322 for validity.
2323
0ae83348
EZ
23242001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2325
2326 * editfns.c (Fmessage_box): If the frame is not under a window
2327 system, output the message in the echo area.
2328
e4cdc335
RS
23292001-06-14 Richard M. Stallman <rms@gnu.org>
2330
2331 * xdisp.c (try_window_id): When EOB is visible, don't treat
2332 insertion at EOB as if it were "off the bottom of the screen."
2333
a55a5f3c
AI
23342001-06-11 Andrew Innes <andrewi@gnu.org>
2335
2336 * w32proc.c (create_child): Add new parameter is_gui_app.
2337 (w32_executable_type): Add new parameter is_gui_app.
2338 (sys_spawnve): Use it.
2339 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2340 SIGQUIT. This matches better how the signals are interpreted by
2341 MSVC compiled programs.
2342 (syms_of_ntproc): Update docstring.
2343
1b85dc1c
SM
23442001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2345
2346 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2347 well otherwise note_mouse_highlight might optimize away highlighting
2348 if we pass over that same overlay again.
2349
b75f8eab
EZ
23502001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2351
2352 * lread.c (Fload): Document that the argument is run via
2353 substitute-in-file-name.
2354
94843cc1
GM
23552001-05-31 Gerd Moellmann <gerd@gnu.org>
2356
b14659e6
GM
2357 * Makefile.in (bootstrap-doc): New target.
2358 (bootstrap-emacs): Depend on it.
2359
0894672f
GM
2360 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2361 auto-save-list-file-name when shutting down Emacs, because
2362 creating the directory might signal an error, and leaves
2363 Emacs in a strange state.
2364
94843cc1
GM
2365 * term.c: (tty_cursor_hidden): New variable.
2366 (update_begin): Don't call tty_hide_cursor. Clean up.
2367 (update_end, set_terminal_window, set_scroll_region): Clean up.
2368 (ring_bell, reset_terminal_modes): Clean up.
2369 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2370 on tty_cursor_hidden.
2371 (write_glyphs): Call tty_hide_cursor.
2372
db3a49a6
SM
23732001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2374
2375 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2376
8bd189fb
GM
23772001-05-30 Gerd Moellmann <gerd@gnu.org>
2378
6f1be3b9
GM
2379 * xfns.c (enum image_value_type): New enumerator
2380 IMAGE_STRING_OR_NIL_VALUE.
2381 (parse_image_spec): Handle it.
2382 (xbm_format, pbm_format): Use it for :foreground and :background.
2383 (xbm_load, pbm_load): Check for nil color names.
2384
8bd189fb
GM
2385 * xterm.c (note_mouse_highlight): If an overlapping overlay
2386 exists, but we find that we highlight the same overlay as before,
2387 don't do the highlighting again.
2388
7bdba03c
GM
23892001-05-29 Gerd Moellmann <gerd@gnu.org>
2390
4c329aa8
GM
2391 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2392 Protect unibyte strings created by replacing their multibyte
2393 equivalents in menu_items.
2394
e15e2828
GM
2395 * keymap.c (Fsingle_key_description): NUL-terminate the string
2396 buffer before calling build_string.
2397
7bdba03c
GM
2398 * callproc.c (Fcall_process): Deal with decode_coding returning
2399 CODING_FINISH_INCONSISTENT_EOL.
2400
89c8dc6c
GM
24012001-05-28 Gerd Moellmann <gerd@gnu.org>
2402
db3a49a6 2403 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2404 an item's name with its key description in case the description
2405 is a multibyte string.
2406
2407 * keymap.c (Fsingle_key_description): Create a multibyte string
2408 only if necessary.
2409
eb04d6cd
GM
2410 * macros.c (Fstart_kbd_macro): Doc fix.
2411
8bd6307f
GM
2412 * xterm.c (cursor_in_mouse_face_p): New function.
2413 (x_draw_stretch_glyph_string): Use it to choose a different GC
2414 when drawing a cursor within highlighted text.
2415
e26c4089
GM
2416 * editfns.c (char_property_eq): Put in #if 0.
2417
2418 * indent.c (string_display_width): Put in #if 0.
2419
2420 * lread.c (Fload): Remove unused label.
2421
89c8dc6c
GM
2422 * termcap.c (speeds): Put in #if 0.
2423
9a1211f2
GM
24242001-05-18 Gerd Moellmann <gerd@gnu.org>
2425
29148a3f
GM
2426 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2427
9a1211f2
GM
2428 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2429 transformation matrix by 10.
2430
09393d07
GM
24312001-05-16 Gerd Moellmann <gerd@gnu.org>
2432
2433 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2434 only if it's equal to the former foreground pixel color.
db3a49a6 2435 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2436 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2437
460e6bae
GM
24382001-05-16 Dave Love <fx@gnu.org>
2439
2440 * insdel.c (signal_before_change, signal_after_change): Consider a
2441 local change hook which changes the buffer.
99c78ce8
GM
2442
2443 * process.c (read_process_output): Don't call signal_after_change
2444 and update_compositions after insert_from_string_before_markers.
2445
dbcf3c03
GM
24462001-05-16 Gerd Moellmann <gerd@gnu.org>
2447
a90b3d3c
GM
2448 * xfaces.c (split_font_name): Use the right field when
2449 checking for `[...]' syntax.
2450
1b7818b4
GM
2451 * buffer.c (copy_overlays): New function.
2452 (clone_per_buffer_values): Use it.
2453
2454 * buffer.h (OVERLAY_PLIST): New macro.
2455
9bae8781
GM
2456 * keymap.c (Fsingle_key_description): Replace a build_string with
2457 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2458
dbcf3c03
GM
2459 * fontset.c (Ffontset_info): Check that face is non-null
2460 before accessing its fields.
2461
8a1ae4dd
GM
24622001-05-15 Gerd Moellmann <gerd@gnu.org>
2463
18a0a39e
GM
2464 * keyboard.c (read_key_sequence): Prevent generating a fake
2465 prefix key twice.
2466
e335b66a
GM
2467 * xfaces.c (split_font_name): Handle `[...]' for the right
2468 font name fields.
2469
8a1ae4dd
GM
2470 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2471 of CCL_STAT_INVALID_CMD.
2472
3cf80731
SM
24732001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2474
33568849
SM
2475 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2476 in <var> has no default value yet.
2477
3cf80731
SM
2478 * xfaces.c (try_alternative_families): First try the FAMILY.
2479 And if nothing is found in the end, try again with scalable fonts.
2480 (try_font_list): Let try_alternative_families do a bit more of
2481 the work. Only use FAMILY if it is not nil.
2482 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2483
933b0249
GM
24842001-05-14 Gerd Moellmann <gerd@gnu.org>
2485
58e5af83
GM
2486 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2487 pointer shape when show_mouse_face has already done it.
33568849 2488
58e5af83 2489 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2490 full-width rows.
2491
7b16a6bf
GM
2492 * xfaces.c (split_font_name): Make sure to leave the loop
2493 with the right value of `i'.
3cf80731 2494
933b0249
GM
2495 * xfaces.c (split_font_name): Handle matrix transformations
2496 in the pixel and point size fields of XLFD font names.
2497 (xlfd_point_size): Likewise.
2498
dddcbf00
EZ
24992001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2500
3cf80731 2501 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2502 (x_to_w32_font): Add prototype.
2503
7689ef0b
EZ
2504 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2505 redefining, to avoid compiler warnings.
2506
e7c15bba
EZ
2507 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2508
dddcbf00
EZ
2509 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2510 (w32_get_bdf_glyph): Cast between unsigned char and char when
2511 passing arguments to subroutines, to shut up compiler warnings.
2512 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2513 GET_HEX_VAL.
2514
2515 * xfaces.c: Include keyboard.h before frame.h, not after it.
2516
2517 * widget.c: Include keyboard.h before frame.h.
2518
2519 * w32term.h (struct image, struct face): Forward declaration, to
2520 avoid compiler warnings.
2521
7bd2d083
GM
25222001-05-11 Gerd Moellmann <gerd@gnu.org>
2523
47e72862
GM
2524 * keyboard.c (read_key_sequence): Don't modify events when
2525 generating fake prefix keys (mode-line, scroll-bar, ...) since
2526 this prevents proper processing of such events when pushed back
2527 into unread-command-events.
2528
dd5f324b
GM
2529 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2530 actually redrawn. Make the function static.
2531 (note_mouse_highlight): Fix a case where the mouse cursor
2532 was changed back to the text cursor.
2533
2534 * xterm.h (clear_mouse_face): Remove prototype.
2535
d88a79d4
GM
2536 * xdisp.c (try_window_id): Fix the fix and set the right
2537 window_end_vpos.
2538
2539 * xdisp.c (try_window_id): Fix computation of window end in the
2540 case that lines were deleted at the end of the window. Add some
2541 more debug_method_adds.
0416532f 2542
7bd2d083
GM
2543 * xfaces.c (try_alternative_families): New function.
2544 (try_font_list): Use it. If ATTRS specifies a family, check
2545 fonts from that family first.
2546 (choose_face_font): Remove code setting the family part of
2547 the pattern to nil.
2548
23fca891
GM
25492001-05-10 Gerd Moellmann <gerd@gnu.org>
2550
ff9aa2ca
GM
2551 * xdisp.c (try_window_id): Fix case of all changes before
2552 the window start.
7b2654b5 2553
23fca891
GM
2554 * xdisp.c (try_window_id): Add some xasserts.
2555
e9726794
GM
25562001-05-09 Gerd Moellmann <gerd@gnu.org>
2557
2558 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2559
9e53a675
GM
25602001-05-09 Dave Love <fx@gnu.org>
2561
2562 * xdisp.c (GIVE_UP): Fix for K&R C.
2563
0d487c52
GM
25642001-05-09 Gerd Moellmann <gerd@gnu.org>
2565
fe88d421
GM
2566 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2567
0d487c52
GM
2568 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2569 back to the text cursor shape without need.
2570
1e9fc92e
GM
25712001-05-07 Gerd Moellmann <gerd@gnu.org>
2572
a2a6232e
GM
2573 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2574
2575 * dispextern.h (inverse_video): Declare extern.
2576
1e9fc92e
GM
2577 * keyboard.c (delete_kboard): Handle the case that selected_frame
2578 has been deleted in the course of x_connection_closed.
2579
12949a7f
EZ
25802001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2581
7b2654b5
SM
2582 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2583 Fix the change from 2001-04-30.
12949a7f 2584
2fa2f461
GM
25852001-05-03 Gerd Moellmann <gerd@gnu.org>
2586
a779d213
GM
2587 * xfns.c (file_dialog_unmap_cb): New function.
2588 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2589 where a dialog is closed via the window manager.
2590
7b2654b5 2591 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2592 the window start or all below the window end mostly rewritten.
2593 (redisplay_window): Move the tests if try_window_id is
2594 applicable to try_window_id.
2595 (GIVE_UP): New macro.
2596
3356df63
GM
25972001-05-02 Gerd Moellmann <gerd@gnu.org>
2598
a39202f6 2599 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2600 currently being updated, mark the frame garbaged.
2601 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2602 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2603
3356df63
GM
2604 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2605 again if it has already been drawn.
2606
a9d2fd1d
SM
26072001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2608
2609 * syntax.c (update_syntax_table): Check that oldi has the same
2610 properties as old_prop before deciding not to invalidate.
2611
c95fc5f1
GM
26122001-04-30 Gerd Moellmann <gerd@gnu.org>
2613
a9793e45
GM
2614 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2615 read-only text that is so because of text properties.
2616
c95fc5f1 2617 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2618 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2619 windows that are components of a Lucid menu bar.
2620
5a5d9185
GM
26212001-04-27 Gerd Moellmann <gerd@gnu.org>
2622
2623 * term.c (turn_on_face): Fix reverse video handling on terminals
2624 that don't support colors.
2625
ba973f7a
GM
26262001-04-26 Gerd Moellmann <gerd@gnu.org>
2627
2628 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2629 a non-buffer.
2630
8c56a983
GM
26312001-04-25 Gerd Moellmann <gerd@gnu.org>
2632
a728644c
GM
2633 * term.c (toggle_highlight): New function.
2634 (turn_on_face): Change handling of reverse video.
2635
7b2654b5
SM
2636 * process.c (wait_reading_process_input):
2637 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2638
bfd8410f
GM
2639 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2640 of the number of overlays to check.
2641
be2488ca
GM
2642 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2643
8c56a983
GM
2644 * xdisp.c (try_window_id): Fix a case where window_end_pos
2645 and window_end_bytepos were not adjusted.
2646
522d42f7
GM
26472001-04-23 Gerd Moellmann <gerd@gnu.org>
2648
2649 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2650 zero instead of -1.
2651
78c1afb6
EZ
26522001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2653
a9d2fd1d
SM
2654 * process.c (wait_reading_process_input) [!subprocesses]:
2655 Don't reference waiting_for_user_input_p, it's not defined in the
2656 branch without async subprocesses support.
78c1afb6 2657
a2fab450
GM
26582001-04-19 Gerd Moellmann <gerd@gnu.org>
2659
a122a38e
GM
2660 * keyboard.c (delete_kboard): Prevent a dangling reference
2661 from current_kboard to KB, which is freed.
2662
a9d2fd1d
SM
2663 * process.c (wait_reading_process_input):
2664 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
2665 read_key_sequence aware of buffer changes from under it.
2666
0f8d6dc7
GM
26672001-04-18 Gerd Moellmann <gerd@gnu.org>
2668
eeffb293
GM
2669 * xfaces.c (Qscalable_fonts_allowed): New variable.
2670 (realizing_basic_faces_p): Removed.
2fa2f461
GM
2671 (x_face_list_fonts): Special handling for realizing_basic_faces_p
2672 removed.
eeffb293 2673 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
2674 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
2675 for scalable-fonts-allowed to t.
eeffb293 2676
0f8d6dc7
GM
2677 * fileio.c (Finsert_file_contents): If the file size returned from
2678 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 2679 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 2680
eec2d1de
EZ
26812001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
2682
2683 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
2684 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
2685 (__memalign_hook): Make the two prototypes consistent.
2686
f4f480bd
GM
26872001-04-17 Gerd Moellmann <gerd@gnu.org>
2688
2689 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
2690 matrix of mini-windows.
2691
52283633
SM
26922001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2693
2694 * intervals.c (find_interval): Don't rebalance during signal handling.
2695
ec2423c9
GM
26962001-04-11 Gerd Moellmann <gerd@gnu.org>
2697
30cb0001 2698 * fns.c: Include blockinput.h.
52283633 2699
ec2423c9
GM
2700 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
2701
719d83ad
GM
27022001-04-10 Gerd Moellmann <gerd@gnu.org>
2703
60f8d735
GM
2704 * fns.c (Fcompare_strings): Fix return values.
2705
afffeb57
GM
2706 * window.c (window_scroll): Change the meaning of N to mean
2707 N screen-fulls or N lines.
2708 (window_scroll_pixel_based, window_scroll_line_based)
2709 (scroll_command, Fscroll_other_window): Change accordingly.
2710
52283633
SM
2711 * window.c (window_scroll_pixel_based, Frecenter):
2712 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2713 height of the window.
2714
2715 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2716 instead of using it.last_visible_y for the height of the window.
52283633 2717
719d83ad 2718 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2719 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2720
2721 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2722 able to write to hidden and system files. From Dan Holmsand
2723 <dan@eyebee.com>.
719d83ad 2724
8ddf3ee1
GM
2725 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2726 Holmsand <dan@eyebee.com>.
719d83ad 2727
522ed7fb
GM
27282001-04-09 Gerd Moellmann <gerd@gnu.org>
2729
9170e5d4
GM
2730 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2731
522ed7fb
GM
2732 * window.c (window_internal_height): Return 1 less if the
2733 window has a header line.
2734
2735 * xdisp.c (try_window_id): When scrolling on a terminal, take
2736 the change of window_internal_height into account.
2737
ceeb3d7d
EZ
27382001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2739
2740 * gmalloc.c (align): If the argument SIZE would overflow
2741 __malloc_ptrdiff_t, fail right away.
2742
63685b9d
GM
27432001-04-06 Gerd Moellmann <gerd@gnu.org>
2744
2745 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2746 Make sure the tooltip is completely visible.
2747 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2748
2749 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2750
2751 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2752
3ffb33bb
DL
27532001-04-06 Dave Love <fx@gnu.org>
2754
52283633
SM
2755 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2756 Fix test of `from'.
3ffb33bb 2757
869fb12c
GM
27582001-04-06 Gerd Moellmann <gerd@gnu.org>
2759
52283633 2760 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2761
869fb12c
GM
2762 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2763
441bf856
GM
27642001-04-05 Gerd Moellmann <gerd@gnu.org>
2765
4d664b04
GM
2766 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2767
52283633 2768 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2769
30ca89f5
GM
2770 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2771 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2772
2773 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2774 shell widget's position only if it is non-null.
2775
52283633
SM
2776 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2777 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2778
81a81c0f
GM
2779 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2780 FILENAME to bring it in synch with the documentation.
2781
441bf856
GM
2782 * xfaces.c (realizing_basic_faces_p): Renamed from
2783 realize_default_face_p.
2784 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2785 (realize_default_face): Don't set the flag.
2786
702a1e8e
GM
27872001-04-04 Gerd Moellmann <gerd@gnu.org>
2788
1013f4e3
GM
2789 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2790
52283633
SM
2791 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2792
1013f4e3
GM
2793 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2794 the buffer that was used for echoing.
2795
702a1e8e
GM
2796 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2797 (first_font_matching): Removed unused function.
2798 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2799 (may_use_scalable_font_p): Remove parameter FONT; rename
2800 parameter NAME to FONT.
2801 (x_face_list_fonts): Fix missing bounds check.
2802 (realizing_default_face_p): New variable.
2803 (realize_default_face): Set and clear that flag.
2804 (x_face_list_fonts): When called during the realization of the
2805 default face, and no matching fonts are found when ignoring
2806 scalable fonts and fonts matching a regexp from
2807 face-ignored-fonts, try without ignoring fonts.
2808
f9dbcda4
GM
28092001-04-03 Gerd Moellmann <gerd@gnu.org>
2810
ad18ffb1
GM
2811 * xfns.c (postprocess_image): New function.
2812 (lookup_image): Call it for all image types except PostScript.
2813 (x_kill_gs_process): Call postprocess_image.
2814
f9dbcda4
GM
2815 * xterm.c (x_use_underline_position_properties): New variable.
2816 (x_draw_glyph_string): Use it.
2817 (syms_of_xterm): DEFVAR_BOOL it.
2818
651f03b6
GM
28192001-04-02 Gerd Moellmann <gerd@gnu.org>
2820
2821 * xterm.c (x_alloc_nearest_color_1): New function.
2822 (x_alloc_nearest_color): Use it.
2823 (x_color_cells): Take a Display as argument, instead of a frame.
2824 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2825 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2826 (x_initialize): Register cvt_string_to_pixel as resource converter
2827 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2828
73d75a62
GM
28292001-03-30 Gerd Moellmann <gerd@gnu.org>
2830
b2046df8
GM
2831 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2832 (set_iterator_to_next): If a string from a display property ends,
2833 consider the case that this might also be the end of an
2834 overlay string having the display property.
2835
52283633 2836 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 2837
87d8eba4
GM
2838 * xdisp.c (reseat_to_string): Undo last change.
2839
73d75a62
GM
2840 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
2841 matrix of a window when the header line changes, when
2842 new rows are allocated, or when the width changes.
2843
911a2406
EZ
28442001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
2845
52283633 2846 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 2847
aea51abe
EZ
28482001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
2849
2850 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
2851 deprecated.
2852
176bc847
GM
28532001-03-29 Gerd Moellmann <gerd@gnu.org>
2854
ed31fabf
GM
2855 * data.c (Fsubr_interactive_form): New function.
2856 (syms_of_data): Defsubr it.
2857
176bc847
GM
2858 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
2859 (live_float_p, live_misc_p): Return 1 only if the offset of the
2860 pointer in its block is >= 0.
2861
e59d0e9d
GM
28622001-03-28 Paul Eggert <eggert@twinsun.com>
2863
2864 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
2865 microseconds calcuation. Avoid double-rounding problem.
2866 In doc string, warn that the result is approximate.
2867
f827b862
GM
28682001-03-28 Gerd Moellmann <gerd@gnu.org>
2869
30a3f61c
GM
2870 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
2871 bind `inhibit-eval-during-redisplay' to t.
2872
2873 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
2874
2875 * xdisp.c (inhibit_eval_during_redisplay)
2876 (Qinhibit_eval_during_redisplay): New variables.
2877 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
2878 don't eval, return nil instead.
2879 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
2880 Initialize Qinhibit_eval_during_redisplay.
2881
e719f5ae
GM
2882 * xdisp.c (reseat_to_string): If STRING is multibyte, set
2883 the iterator's multibyte_p flag.
2884
deb2613a
GM
2885 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2886 instead of setting it to zero; it's incremented for each frame
2887 where the menu face is changed.
2888
52283633
SM
2889 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2890 change bottom shadow accordingly.
2891
2892 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2893 intersections here.
2894 (expose_window): Do it here instead.
52283633 2895 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2896
f827b862
GM
2897 * bytecode.c (BYTE_CODE_QUIT): New macro.
2898 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2899
4bde0ebb
GM
29002001-03-27 Gerd Moellmann <gerd@gnu.org>
2901
607ec83c
GM
2902 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2903 Give up if matrix starts in an ellipsis.
2904 (init_from_display_pos): Do nothing if POS doesn't specify
2905 a dpvec_index but the iterator has such a position.
2906
0245398f
GM
2907 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2908
aba25348
GM
2909 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2910 x/y position is (0, 0) after destroying the menu bar, restore
2911 its original position.
2912
4bde0ebb
GM
2913 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2914 (init_from_display_pos): Use it.
2915 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2916
8cdb267e
GM
29172001-03-26 Gerd Moellmann <gerd@gnu.org>
2918
2919 * xdisp.c (try_window_id): Undo last change.
2920
9948db79
EZ
29212001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2922
2923 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2924
2925 * buffer.c (syms_of_buffer): Doc fix.
2926
2eddf899
GM
29272001-03-26 Gerd Moellmann <gerd@gnu.org>
2928
2929 * xfaces.c (x_update_menu_appearance): Use local variable
2930 popup_path for setting font resources.
2931
6c145d35
EZ
29322001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2933
6a65b1b5
EZ
2934 * frame.c (Fframe_list): Don't reference tip_frame if
2935 HAVE_WINDOW_SYSTEM is not defined.
2936
6c145d35
EZ
2937 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2938 <wl@gnu.org>.
2939
d74c1900
GM
29402001-03-25 Gerd Moellmann <gerd@gnu.org>
2941
20fbd925
GM
2942 * xdisp.c (init_from_display_pos): Test invisible property
2943 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2944
927c5b3b
GM
2945 * xdisp.c (redisplay_internal) <update one window>: Make sure
2946 last_arrow_position and last_arrow_string are set.
2947
d74c1900
GM
2948 * frame.c (Fframe_list): Don't return a tooltip frame.
2949
091f8878
GM
29502001-03-23 Gerd Moellmann <gerd@gnu.org>
2951
52283633
SM
2952 * xdisp.c (mark_window_display_accurate_1): New function,
2953 extracted from mark_window_display_accurate.
2954 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2955 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2956 (mark_window_display_accurate): Use it.
2957 (redisplay_internal): Use it for the selected window.
2958 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2959 for the selected frame.
2960
ac90c44f
GM
2961 * xdisp.c Use make_number, for readability.
2962 (try_window_id): Disable rows below the window end.
2963 (try_window_reusing_current_matrix): Use cursor_row_p.
2964 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2965 of rows.
2966 (init_from_display_pos): If POS specifies a position in a display
2967 vector, maybe get the iterator set up for that ellipsis.
43c09969 2968
091f8878
GM
2969 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2970
991786dd
EZ
29712001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2972
2973 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2974
6c29b43c
GM
29752001-03-23 Gerd Moellmann <gerd@gnu.org>
2976
2977 * xfaces.c (x_update_menu_appearance): Use a different path
2978 for Lucid popup menus.
2979
d8731202
SM
29802001-03-22 Stefan Monnier <monnier@cs.yale.edu>
2981
2982 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
2983
2984 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
2985 (string_buffer_position): Use `make_number'.
2986
f61a541b
GM
29872001-03-22 Gerd Moellmann <gerd@gnu.org>
2988
3c9e997b
GM
2989 * xfaces.c (x_update_menu_appearance): Renamed from
2990 x_set_menu_face_resources. Use different resources for popups.
2991
2992 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
2993 (GC_CHECK_STRING_BYTES): Don't define.
2994
364cd450
GM
2995 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
2996 Removed, together with subroutines.
2997 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 2998 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 2999
d8731202
SM
3000 * dispextern.h (x_set_menu_resources_from_menu_face):
3001 Remove prototype.
364cd450 3002
d8731202 3003 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3004 Remove calls to x_set_menu_resources_from_menu_face.
3005
d8731202
SM
3006 * xfaces.c (xm_set_menu_resources_from_menu_face):
3007 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3008
3009 * xmenu.c: Include widget.h.
3010 (single_submenu): Return int. Some cleanup.
3011 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3012
140330de
GM
30132001-03-21 Gerd Moellmann <gerd@gnu.org>
3014
3015 * xterm.c (x_update_window_end): Handle overwritten mouse face
3016 also for tool bar windows.
3017 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3018 DRAW is DRAW_IMAGE_RAISED.
3019
1741905c
GM
30202001-03-20 Gerd Moellmann <gerd@gnu.org>
3021
fa88947e
GM
3022 * print.c (syms_of_print): Doc fixes.
3023
1741905c
GM
3024 * fns.c (Fmd5): Doc fix.
3025
ade0bee1
GM
30262001-03-19 Gerd Moellmann <gerd@gnu.org>
3027
357e7376
GM
3028 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3029 Clear area of the frame not occupied by the scroll bar.
3030
c2c097cc
GM
3031 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3032 tip frame's root window buffer to *tip* right after creating
3033 the frame.
3034
ade0bee1
GM
3035 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3036 is an integer don't have to be for space characters.
3037
88c6e37e
GM
30382001-03-16 Gerd Moellmann <gerd@gnu.org>
3039
52283633
SM
3040 * indent.c (current_column, current_column_1, Fmove_to_column)
3041 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3042
c62eed76
KH
30432001-03-15 Kenichi Handa <handa@etl.go.jp>
3044
3045 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3046 drawing glyph string.
3047
c899e7e6
GM
30482001-03-15 Gerd Moellmann <gerd@gnu.org>
3049
d0bbfc99
GM
3050 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3051 (command_loop_1): Undo last change.
3052
03d1a189
GM
3053 * xterm.c (fast_find_position): Return the correct vpos.
3054
c899e7e6 3055 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3056 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3057 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3058 Call store_symval_forwarding with BUF null.
3059 (set_internal): Call store_symval_forwarding with the BUF
3060 parameter passed to set_internal. Formerly, the value was always
3061 set in the current buffer; the buffer recorded in specbind for
3062 this case wasn't used.
3063 (arith_driver): Reindent.
3064
52283633
SM
3065 * buffer.c (swap_out_buffer_local_variables):
3066 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3067
3068 * lisp.h (store_symval_forwarding): Change prototype.
3069
3070 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3071
57ac7c81
GM
30722001-03-14 Gerd Moellmann <gerd@gnu.org>
3073
697617d9
GM
3074 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3075 FOR_DELETION. Avoid resizing the mini-window of the selected
3076 frame if FOR_DELETION is set.
3077 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3078 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3079 signature.
3080
3081 * window.c (Fset_window_configuration): Change call to
3082 do_switch_frame to new format.
3083
3084 * keyboard.c (quit_throw_to_read_char): Change call to
3085 do_switch_frame to new format.
3086
3087 * lisp.h (do_switch_frame): Change prototype.
3088
819dce0f
GM
3089 * frame.c (Fframe_parameters): In the `buffer-list' frame
3090 parameter, store the buffer list of FRAME, not the list of the
3091 selected frame.
3092
57ac7c81
GM
3093 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3094 box just because the glyph row's full_width_p flag is set.
3095
65008712
GM
30962001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3097
3098 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3099 skip the padding blanks inserted in extend_face_to_end_of_line,
3100 before checking for trailing whitespace.
3101
159cf431
GM
31022001-03-13 Gerd Moellmann <gerd@gnu.org>
3103
52283633 3104 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3105 Remove special handling for LessTif/Motif.
3106 (toplevel): Don't include Xm/Xm.h.
3107
52283633
SM
3108 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3109 Remove workaround code for LessTif; it doesn't work anymore.
3110
2564ea1b 3111 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3112 Xm/ScrollBarP.h.
afcdc0a1 3113
52283633
SM
3114 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3115 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3116 contemporary LessTif.
3117
52283633
SM
3118 * xfaces.c (xm_set_menu_resources_from_menu_face):
3119 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3120
159cf431
GM
3121 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3122 removing button grabs.
3123
c6f7429a
KH
31242001-03-13 Kenichi Handa <handa@etl.go.jp>
3125
cb82d767
KH
3126 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3127 and clip-large-size-font as obsolete.
3128
c6f7429a
KH
3129 * lread.c (read_multibyte): Check the validity of multibyte
3130 sequence. If invalid, return the first byte.
3131
760cefb5
GM
31322001-03-12 Gerd Moellmann <gerd@gnu.org>
3133
3134 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3135 before running the command; timer functions or process
3136 filters may have set it.
3137
5141f9d0
EZ
31382001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3139
3140 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3141 Doc fix.
3142
b6a15240
GM
31432001-03-12 Gerd Moellmann <gerd@gnu.org>
3144
3145 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3146 to sprintf.
3147
95522746
GM
31482001-03-09 Gerd Moellmann <gerd@gnu.org>
3149
db14cfc5
GM
3150 * dispextern.h (string_buffer_position): Add prototype.
3151
52283633 3152 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3153 (single_display_prop_string_p): New functions.
3154
3155 * xterm.c (note_mouse_highlight): If there's no help-echo on
3156 a string, look at the buffer text ``under'' it.
3157
3158 * keyboard.c (make_lispy_event): Add string info to the event,
3159 analogous to what's done on mode lines.
3160 (read_key_sequence): For a click on a string, consider `local-map'
3161 and `keymap' of that string.
3162
52283633
SM
3163 * keyboard.c (make_lispy_event, make_lispy_movement):
3164 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3165
3166 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3167
3168 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3169 POS; return void.
3170
95522746
GM
3171 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3172 flags argument to emacs_open; it seems to conflict with O_EXCL.
3173
898a399d
KH
31742001-03-09 Kenichi Handa <handa@etl.go.jp>
3175
28cd4910
KH
3176 * composite.h (struct composition): Change types of members;
3177 glyph_len to unsigned, width to unsigned short.
898a399d 3178
4cdf6a6c
AI
31792001-03-08 Andrew Innes <andrewi@gnu.org>
3180
3181 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3182 menu titles.
3183
129004d3
GM
31842001-03-08 Gerd Moellmann <gerd@gnu.org>
3185
221dd3e7
GM
3186 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3187 instead of nil.
3188
52283633 3189 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3190 help-echo in strings.
3191 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3192 (fast_find_string_pos): New function.
3193
52283633
SM
3194 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3195 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3196
3197 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3198 Handle `mouse-face'.
3199
3200 * dispextern.h (face_at_string_position): Change prototype.
3201
52283633 3202 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3203
129004d3
GM
3204 * keyboard.c (make_lispy_event): Avoid generating drag events
3205 if the mouse hasn't actually moved to another buffer position.
52283633 3206
80c8ab8c
DL
32072001-03-08 Dave Love <fx@gnu.org>
3208
129004d3 3209 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3210
989521fd
GM
32112001-03-08 Gerd Moellmann <gerd@gnu.org>
3212
3213 * process.c (Fset_process_window_size): Fix a typo.
3214
bb5c338d
KH
32152001-03-08 Kenichi Handa <handa@etl.go.jp>
3216
3217 * coding.c (detect_coding_sjis): Do more rigid check.
3218 (detect_coding_big5): Likewise.
3219 (decode_coding_sjis_big5): Likewise.
3220 (Fdetect_coding_region): Call detect_coding_system with tailing
3221 anchor byte `\0' for more rigid detection.
52283633 3222 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3223 (Fdetect_coding_string): Likewise.
3224
8b8f9197
SM
32252001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3226
3227 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3228 a string before extracting its data.
3229
3bdf2660
GM
32302001-03-07 Gerd Moellmann <gerd@gnu.org>
3231
3232 * window.c (Frecenter): Rewrite code handling negative values
3233 of ARG on graphical frames.
3234
32352001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3236
3237 * window.c (displayed_window_lines): If W->start is outside the
3238 accessible portion of the buffer, call start_display with BEGV or
3239 ZV instead of W->start.
3240
471f86b9
GM
32412001-03-07 Gerd Moellmann <gerd@gnu.org>
3242
2ab62c6c
GM
3243 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3244
471f86b9
GM
3245 * process.c (Fset_process_filter): Don't crash if the input
3246 file descriptor of PROCESS is closed.
3247 (Fset_process_window_size): Likewise.
3248
101922c3
GM
32492001-03-06 Kenichi Handa <handa@etl.go.jp>
3250
3251 * xterm.c (XTflash): Make the timeout of select shorter, and call
3252 select repeatedly until the desired time expires.
3253
45d051a7
GM
32542001-03-06 Gerd Moellmann <gerd@gnu.org>
3255
3256 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3257
3258 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3259
3260 * lisp.h (Vwindow_list): Declare extern.
3261
8f372c46
EZ
32622001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3263
3264 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3265
f16a7aa5
GM
32662001-03-06 Gerd Moellmann <gerd@gnu.org>
3267
157ae273
GM
3268 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3269 to detect a case where we have to highlight a different region
3270 despite not having left the currently highlighted region.
3271 Set mouse_face_overlay in the x_display_info.
45d051a7 3272 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3273
3274 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3275
3276 * buffer.c (mouse_face_overlay_overlaps): New function.
3277
3278 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3279 (Qmouse_face): Declare extern.
3280
f16a7aa5
GM
3281 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3282 if face_change_count is non-zero.
3283
827afcac
KH
32842001-03-06 Kenichi Handa <handa@etl.go.jp>
3285
3286 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3287 that the source is unibyte.
3288
14c7242e
DL
32892001-03-05 Dave Love <fx@gnu.org>
3290
827afcac 3291 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3292
c28b847b
GM
32932001-03-05 Gerd Moellmann <gerd@gnu.org>
3294
3295 * minibuf.c (read_minibuf): Clean up the binding stack if
3296 called noninteractively.
3297
b86644f2
KH
32982001-03-05 Kenichi Handa <handa@etl.go.jp>
3299
3300 * coding.c (syms_of_coding): Docstring modified.
3301
203682cc 33022001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3303
3304 * charset.c (char_to_string): If a single byte char has modifier
3305 bits that can't be reflected to the character code, ignore them
45d051a7 3306 instead of signaling an error.
b86644f2 3307
e30bd7b7
EZ
33082001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3309
3310 * s/msdos.h: Update copyright notice.
3311
3312 * dosfns.h: Update copyright notice.
3313
3314 * dosfns.c: Update copyright notice.
3315
3316 * msdos.c: Update copyright notice.
3317
b52b65bd
GM
33182001-03-02 Gerd Moellmann <gerd@gnu.org>
3319
3320 * xterm.c (glyph_rect): New function.
3321 (XTmouse_position): Use it to raise the threshold for mouse
3322 movement event generation.
3323
53c4b1e6
EZ
33242001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3325
3326 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3327 specifies (reverse . t), reverse the initial screen colors.
3328 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3329 but we are reversing the colors, set bg_set, not fg_set.
3330 Likewise for setting background-color and reversing: set fg_set.
3331 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3332 in effect.
3333
3334 * xfaces.c (Finternal_set_lisp_face_attribute)
3335 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3336 parameters alist.
3337
f964b4d7
GM
33382001-03-02 Gerd Moellmann <gerd@gnu.org>
3339
ef53d75e
GM
3340 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3341 to a single slash in the middle of file names.
3342
52283633 3343 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3344 Accept only alphanumeric time zone names.
3345
f964b4d7
GM
3346 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3347 or width area.
3348 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3349 a widget to zero height.
52283633 3350
c3c45f65
GM
33512001-03-01 Gerd Moellmann <gerd@gnu.org>
3352
3353 * window.c (Fwindow_end): Call move_it_past_eol only if
3354 ending up on a partially visible line.
3355
028d739a
DL
33562001-03-01 Dave Love <fx@gnu.org>
3357
3358 * ccl.c (Fccl_execute): Doc fix.
3359
57c5889c
GM
33602001-03-01 Gerd Moellmann <gerd@gnu.org>
3361
35f59f6b
GM
3362 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3363 of the tool bar before calling x_figure_window_size.
3364
f84ff02c
GM
3365 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3366 NULL after destroying it, otherwise XTread_socket can access a
3367 destroyed widget when input is unblocked.
3368
8b8f9197 3369 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3370
57c5889c
GM
3371 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3372 same name as before, although there was a change in fontsets.
3373
224227d1
KR
33742001-02-28 Ken Raeburn <raeburn@gnu.org>
3375
4560730a
KR
3376 * lisp.h (Fframe_parameter): Declare.
3377
224227d1 3378 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3379 Lisp_Object.
224227d1 3380
ece93c02
GM
33812001-02-28 Gerd Moellmann <gerd@gnu.org>
3382
11ef99b9
GM
3383 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3384 NULL instead.
3385
3386 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3387 NULL instead.
3388
ece93c02
GM
3389 * alloc.c (toplevel): Include process.h.
3390 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3391 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3392 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3393 (allocate_vector, allocate_hash_table, allocate_window)
3394 (allocate_frame, allocate_process, allocate_other_vector):
3395 New functions.
ece93c02
GM
3396 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3397 (mark_maybe_pointer): New function.
52283633 3398 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3399 remain and not Lisp_Objects.
3400 (min_heap_address, max_heap_address): New variables.
3401 (mem_find): Return MEM_NIL if START is below min_heap_address or
3402 above max_heap_address.
3403 (mem_insert): Compute min_heap_address and max_heap_address.
3404
3405 * process.c (make_process): Use allocate_process.
3406
3407 * frame.c (make_frame): Use allocate_frame.
3408
3409 * window.c (make_window, make_dummy_parent): Use allocate_window.
3410 (Fcurrent_window_configuration): Use allocate_other_vector.
3411
3412 * lisp.h (allocate_vectorlike): Remove prototype.
3413 (allocate_vector, allocate_other_vector, allocate_frame)
3414 (allocate_window, allocate_process, allocate_hash_table):
3415 Add prototypes.
3416
3417 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3418 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3419
063af457
KH
34202001-02-27 Kenichi Handa <handa@etl.go.jp>
3421
3422 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3423 treat the produced bytes as a valid multibyte sequence.
3424
3425 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3426 (ccl_driver) <CCL_WriteMultibyteChar2>:
3427 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3428 <ccl_finish>: Set ccl->eight_bit_control properly.
3429
3430 * ccl.h (struct ccl_program): New member eight_bit_control.
3431
f58c6494
SM
34322001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3433
3434 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3435 accessible_keymaps_char_table.
3436 (accessible_keymaps_char_table): Obey `is_metized'.
3437 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3438 Lisp_Object.
3439
c596c392
GM
34402001-02-26 Gerd Moellmann <gerd@gnu.org>
3441
3442 * dispnew.c: Check HAVE_TERM_H before including term.h.
3443
425de386
AI
34442001-02-24 Andrew Innes <andrewi@gnu.org>
3445
3446 * makefile.w32-in: Update copyright notice.
3447
2ba11bbd
SM
34482001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3449
3450 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3451
66c56ed1
KH
34522001-02-24 Kenichi Handa <handa@etl.go.jp>
3453
4c1593ce
KH
3454 * Makefile.in (lisp): Add international/utf-8.elc.
3455
66c56ed1
KH
3456 * fontset.c (Fnew_fontset): Fix handling of the case that an
3457 element of FONTLIST is a cons of family and registry.
3458
796ead7e
JR
34592001-02-23 Jason Rumney <jasonr@gnu.org>
3460
3461 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3462 to height unconditionally.
3463
3464 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3465 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3466 (x_insert_glyphs): Call window_box_left to obtain the left
3467 x-coordinate of the area to shift.
3468
3469 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3470 safe_run_hooks.
3471
f6839838
AI
34722001-02-22 Andrew Innes <andrewi@gnu.org>
3473
52283633 3474 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3475 ($(BLD)\dispnew.obj):
3476 ($(BLD)\editfns.obj):
3477 ($(BLD)\fileio.obj):
3478 ($(BLD)\filelock.obj):
3479 ($(BLD)\keyboard.obj):
3480 ($(BLD)\w32proc.obj):
3481 ($(BLD)\process.obj):
3482 ($(BLD)\sysdep.obj): Ditto.
3483
3484 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3485 header files.
52283633
SM
3486 ($(BLD)/dispnew.$(O)):
3487 ($(BLD)/editfns.$(O)):
3488 ($(BLD)/fileio.$(O)):
3489 ($(BLD)/filelock.$(O)):
3490 ($(BLD)/keyboard.$(O)):
3491 ($(BLD)/w32proc.$(O)):
3492 ($(BLD)/process.$(O)):
f6839838
AI
3493 ($(BLD)/sysdep.$(O)): Ditto.
3494
c224f70b
GM
34952001-02-22 Gerd Moellmann <gerd@gnu.org>
3496
51695746
GM
3497 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3498 at the start of the function, check that the \n in it->c is
3499 from the iterator's current position.
52283633 3500
a61b7058
GM
3501 * xdisp.c (handle_single_display_prop): Add parameter
3502 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3503 properties which replace the display of text with something else.
3504 (handle_display_prop): Call handle_single_display_prop with
3505 additional argument saying if we already replaced text display
3506 with something else. Use AREF.
52283633 3507 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3508 (decode_mode_spec_coding): Use AREF and ASIZE.
3509
3473f362
GM
3510 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3511 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3512 * vmstime.h: Files removed.
52283633 3513
2bb58df3
GM
3514 * unexencap.c, unexfx2800.c: Files removed.
3515
c224f70b
GM
3516 * dispnew.c (direct_output_for_insert): Give up if we are showing
3517 a message or just cleared the message because we might need to
3518 resize the echo area window or display an empty echo area.
3519
ffc9ff0c
GM
35202001-02-21 Gerd Moellmann <gerd@gnu.org>
3521
0528abe1
GM
3522 * xdisp.c (redisplay_internal): Do the
3523 mark_window_display_accurate after all windows have been
3524 redisplayed because this call resets flags in buffers which are
3525 needed for proper redisplay.
3526
52283633
SM
3527 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3528 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3529 the old names.
3530
52283633
SM
3531 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3532 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3533
3534 * msdos.h (struct x_output): Rename busy_window to
3535 hourglass_window, busy_p to hourglass_p.
3536
52283633
SM
3537 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3538 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3539
3540 * xfns.c: Rename everything containing *busy_cursor* and similar
3541 to *hourglass*.
3542 (syms_of_w32fns): Rename x-busy-pointer-shape to
3543 x-hourglass-pointer-shape, display-busy-cursor to
3544 display-hourglass, busy-cursor-delay to hourglass-delay.
3545
3546 * w32fns.c: Rename everything containing *busy_cursor* and similar
3547 to *hourglass*.
3548 (syms_of_w32fns): Rename x-busy-pointer-shape to
3549 x-hourglass-pointer-shape, display-busy-cursor to
3550 display-hourglass, busy-cursor-delay to hourglass-delay.
3551
3552 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3553 of its busy_p flag.
3554
3555 * dispextern.h (start_hourglass, cancel_hourglass)
3556 (display_hourglass_p): Renamed from *busy_cursor*.
3557
ab2c5f0a
GM
35582001-02-20 Gerd Moellmann <gerd@gnu.org>
3559
d17e49a8
GM
3560 * keyboard.c (read_char): When an event from unread-command-events
3561 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3562
fa97adf6
GM
3563 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3564 equal to the current buffer.
3565
ab2c5f0a
GM
3566 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3567 nil, otherwise we're left with truncate_lines t when a message
3568 is printed with message-truncate-lines bound to t.
3569
aeac019e
GM
35702001-02-19 Gerd Moellmann <gerd@gnu.org>
3571
c8bc6f65
GM
3572 * window.c (Fmove_to_window_line): Undo last change.
3573 (displayed_window_lines): Call line_bottom_y to determine
3574 the line's bottom position.
3575
3576 * dispextern.h (line_bottom_y): Add prototype.
3577
52283633 3578 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3579 (pos_visible_p): Use it.
3580
980a2d69
GM
3581 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3582 set redisplaying_p to 0 here instead of in Frecursive_edit.
3583 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3584 set redisplaying_p.
3585
52283633 3586 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3587 New variables.
3588 (syms_of_xdisp): Initialize new variables.
3589 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3590 Specbind `inhibit-menubar-update' when updating the menu bar.
3591
65048e97
GM
3592 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3593 safe_run_hooks.
3594
3595 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3596 safe_run_hooks.
3597
a57c4026
GM
3598 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3599 is null.
3600
aeac019e
GM
3601 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3602 to the start of the file.
3603
76846b31
GM
36042001-02-16 Gerd Moellmann <gerd@gnu.org>
3605
f3f053f3 3606 * window.c (set_window_buffer): Fix last change.
52283633 3607
f3f053f3
GM
3608 * window.c (set_window_buffer): Set window's vscroll to 0.
3609
dad75588
GM
3610 * window.c (coordinates_in_window): Increase width of area
3611 where the vertical line can be dragged.
3612
c220b753
GM
3613 * xterm.c (x_set_glyph_string_background_width): Extend the
3614 background face to the end of the drawing area in the text
3615 area, only.
3616
c56b1c1b
GM
3617 * xdisp.c (handle_single_display_prop): Set iterator's position
3618 to where the `display' property starts, like for images.
3619 (dump_glyph): New function.
3620 (dump_glyph_row): Use it. Dump info about marginal areas.
3621
3622 * dispnew.c (direct_output_for_insert): Recognize more cases where
3623 glyphs can be written instead of being inserted.
3624
3625 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3626 the left x-coordinate of the area to shift.
3627
76846b31
GM
3628 * dired.c (directory_files_internal): Set result list to nil
3629 before retrying.
3630
0fc71a77
KH
36312001-02-15 Kenichi Handa <handa@etl.go.jp>
3632
3633 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3634 invalid multibyte sequence, treat *SRC as a character of
3635 eight-bit-graphic.
3636
25078b54
EZ
36372001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3638
3639 * textprop.c (Fset_text_properties): Doc fix.
3640
8399f8a0
GM
36412001-02-15 Gerd Moellmann <gerd@gnu.org>
3642
3643 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3644
9a2a6f73
DL
36452001-02-14 Dave Love <fx@gnu.org>
3646
3647 * coding.c: Doc and message fixes.
3648
bf853fee
AI
36492001-02-14 Andrew Innes <andrewi@gnu.org>
3650
3651 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3652 Emacs frame above the screen size.
3653
78c663d8
GM
36542001-02-14 Gerd Moellmann <gerd@gnu.org>
3655
3656 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3657
7cc9f69f
GM
36582001-02-13 Gerd Moellmann <gerd@gnu.org>
3659
0a411995
GM
3660 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
3661 case that TO ends up beyond ZV after running before-change-functions.
3662
5ddc1b75
GM
3663 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
3664 the selected window if it is showing the buffer in question.
3665
7cc9f69f
GM
3666 * dired.c (directory_files_internal): Initialize errno.
3667 (toplevel): Include errno.h.
3668
2e6621ca
GM
36692001-02-13 Kenichi Handa <handa@etl.go.jp>
3670
3671 * xfaces.c (best_matching_font): New parameter width_ratio.
3672 Multiply avgwidth by width_ratio.
3673 (choose_face_font): Call best_matching_font with width_ratio
3674 calculated from the column width of C.
3675
60222d69
AI
36762001-02-12 Andrew Innes <andrewi@gnu.org>
3677
3678 The following changes are to draw box lines inside characters area
3679 if line-width is negative.
52283633 3680
60222d69
AI
3681 * w32term.c (x_produce_image_glyph): Pay attention to the case that
3682 face->box_line_width is negative.
3683 (x_produce_stretch_glyph): Likewise.
3684 (x_produce_glyphs): Likewise.
3685 (x_estimate_mode_line_height): Likewise.
3686 (x_draw_glyph_string_background): Likewise.
3687 (x_draw_glyph_string_foreground): Likewise.
3688 (x_draw_composite_glyph_string_foreground): Likewise.
3689 (x_draw_glyph_string_box): Likewise.
3690 (x_draw_image_foreground): Likewise.
3691 (x_draw_image_relief): Likewise.
3692 (x_draw_image_foreground_1): Likewise.
3693 (x_draw_image_glyph_string): Likewise.
3694
9804b846
KH
36952001-02-09 Kenichi Handa <handa@etl.go.jp>
3696
3697 The following changes are to draw box lines inside characters area
3698 if line-width is negative.
52283633 3699
9804b846
KH
3700 * xterm.c (x_produce_image_glyph): Pay attention to the case that
3701 face->box_line_width is negative.
3702 (x_produce_stretch_glyph): Likewise.
3703 (x_produce_glyphs): Likewise.
3704 (x_estimate_mode_line_height): Likewise.
3705 (x_draw_glyph_string_background): Likewise.
3706 (x_draw_glyph_string_foreground): Likewise.
3707 (x_draw_composite_glyph_string_foreground): Likewise.
3708 (x_draw_glyph_string_box): Likewise.
3709 (x_draw_image_foreground): Likewise.
3710 (x_draw_image_relief): Likewise.
3711 (x_draw_image_foreground_1): Likewise.
3712 (x_draw_image_glyph_string): Likewise.
3713
3714 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3715 and :line-width can be negative.
52283633 3716 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3717
49be9f70
JR
37182001-02-09 Jason Rumney <jasonr@gnu.org>
3719
3720 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3721 characters the same as ASCII and latin-1.
3722 (x_display_and_set_cursor): Check for the focus frame's selected
3723 window instead of selected_window.
3724 (x_after_update_window_line): Don't clear if frame's internal
3725 border width is zero.
3726 (x_new_font): Don't change a tooltip's size.
3727 (w32_initialize): Set char_ins_del_ok to 1.
3728
3729 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3730 (x_set_font): If font hasn't changed, avoid recomputing
3731 faces and other things.
52283633
SM
3732 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3733 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
3734 (x_create_tip_frame): Prevent changing the tooltip's
3735 background color by specifying a color for the default font
3736 in .Xdefaults.
3737 (Qcancel_timer): New variable.
3738 (syms_of_w32fns): Initialize and staticpro it.
3739 (Fx_hide_tip, Fx_show_tip): Use it.
3740 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3741 the timer.
3742 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3743
3744 * w32.c (init_environment): Duplicate local string before putenv.
3745
555e35d2
SZ
37462001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3747
3748 * charset.c (Fstring): A typo.
3749
19c92c94
KH
37502001-02-09 Kenichi Handa <handa@etl.go.jp>
3751
e47a1c33
KH
3752 * charset.c (Fstring): If all arguments are less than 256, return
3753 a unibyte string.
3754
3755 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3756 return a unibyte string.
3757
19c92c94
KH
3758 * coding.c (code_convert_region): After detecting a coding, if
3759 nothing found, set coding->composing to COMPOSITION_NO.
3760 (decode_coding_string): Likewise.
3761
d8e675f5
SM
37622001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3763
3764 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3765 to avoid overflow.
3766
bd503487
KH
37672001-02-07 Kenichi Handa <handa@etl.go.jp>
3768
3769 * charset.c (parse_str_to_multibyte): New function.
3770
3771 * charset.h (parse_str_to_multibyte): Extern it.
3772
3773 * print.c (print_string): If we are going to print a unibyte
3774 string into a multibyte buffer, convert the string to multibyte by
3775 str_to_multibyte.
3776
a8370d72
AI
37772001-02-06 Andrew Innes <andrewi@gnu.org>
3778
3779 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3780 been created. It seems we can get sent window messages such as
3781 WM_ERASEBKGND before we properly update a frame.
3782
c363a1d6
GM
37832001-02-06 Gerd Moellmann <gerd@gnu.org>
3784
3785 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3786 Avoid some unnecessary cursor positioning.
3787
a08332c0
GM
37882001-02-05 Gerd Moellmann <gerd@gnu.org>
3789
52283633 3790 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3791 (LFACE_AVGWIDTH): New macro.
3792 (LFACEP): Use AREF.
3793 (check_lface_attrs): Check LFACE_AVGWIDTH.
3794 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3795 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3796 (merge_face_vectors): Check LFACE_AVGWIDTH.
3797 (Finternal_make_lisp_face): Use AREF.
3798 (xm_set_menu_resources_from_menu_face)
3799 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3800 (Finternal_lisp_face_empty_p): Use AREF.
3801 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3802 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3803 Compare average widths..
3804 (best_matching_font): Arrange for comparing average widths.
3805
52283633
SM
3806 * dispextern.h (enum lface_attribute_index):
3807 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3808
5cb3c8d4
DL
38092001-02-05 Dave Love <fx@gnu.org>
3810
3811 * puresize.h: Revert last change following loadup.el change.
3812
193fba87
AI
38132001-02-05 Andrew Innes <andrewi@gnu.org>
3814
3815 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3816 invocation of temacs, to work with Windows 2000.
3817 (bootstrap-emacs): Ditto.
3818
e16f52ce
GM
38192001-02-05 Gerd Moellmann <gerd@gnu.org>
3820
7a58ab59
GM
3821 * xterm.c (x_display_and_set_cursor): Check for the focus
3822 frame's selected window instead of selected_window.
3823
e89aaabd
GM
3824 * xdisp.c (try_scrolling): If point is in the line below the
3825 window, make sure to move the iterator at least a canonical
3826 char height down.
3827
52283633 3828 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 3829
789ce875
KH
38302001-02-05 Kenichi Handa <handa@etl.go.jp>
3831
52283633
SM
3832 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3833 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
3834 (ccl_driver): If the CCL program is terminated because of
3835 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3836 destination instead of throwing them away.
3837
20b28f82
GM
38382001-02-02 Gerd Moellmann <gerd@gnu.org>
3839
79fb38c0
GM
3840 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
3841 faces and other things.
3842
20b28f82
GM
3843 * xdisp.c (get_next_display_element): Fix case of empty
3844 display table entry.
3845
5a72551e
EZ
38462001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
3847
eb24d0bf
EZ
3848 * editfns.c (Fconstrain_to_field): Doc fix.
3849
6a3f48c7
EZ
3850 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
3851 into `thoroughly', to make it consistent with the doc string.
3852
5a72551e
EZ
3853 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
3854
01acdb05
GM
38552001-02-01 Gerd Moellmann <gerd@gnu.org>
3856
0353b28f
GM
3857 * search.c (search_buffer): Call set_search_regs with a byte
3858 position, not a character position.
3859
01acdb05
GM
3860 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
3861 minibuffer-only,
3862
e86b5133
EZ
38632001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
3864
3865 * frame.c (Fmodify_frame_parameters): Doc fix.
3866
7442878f
GM
38672001-01-31 Gerd Moellmann <gerd@gnu.org>
3868
01acdb05
GM
3869 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
3870 identifier which is not reserved by Standard C.
52283633 3871
7442878f
GM
3872 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
3873
3874 * window.c (enum window_part): New enumeration.
3875 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
3876 Qright_bitmap_area.
3877 (coordinates_in_window): Return an enumerator from enum
3878 window_part. Fix handling of right scroll bar.
3879 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
3880 `right-fringe' instead of `left-bitmap-area' and
3881 `right-bitmap-area'. Use enumerators from enum window_part
3882 instead of hard-coded integers.
52283633
SM
3883 (check_window_containing, window_from_coordinates):
3884 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3885 (syms_of_window): Replace Qleft_bitmap_area and
3886 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3887
7c132cba
EZ
38882001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3889
3890 * editfns.c (Fformat_time_string): Doc fix.
3891
c359dd9e
SM
38922001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3893
3894 * keymap.c (Fwhere_is_internal): Use the first valid binding
3895 if no ascii binding is found (when firstonly is t).
3896
ce070307
GM
38972001-01-31 Gerd Moellmann <gerd@gnu.org>
3898
b4f30ec5
GM
3899 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3900 instead of Finteractive_p.
3901
3902 * lisp.h (interactive_p): Add prototype.
3903
3904 * eval.c (interactive_p): New function.
3905 (Finteractive_p): Use it.
3906
ce070307
GM
3907 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3908
f57b6e64
DL
39092001-01-31 Dave Love <fx@gnu.org>
3910
d61c7afe
DL
3911 * .gdbinit (hook-run): Define to run xreload.
3912
f57b6e64
DL
3913 * textprop.c (Fset_text_properties): Fix newline in doc string.
3914
eef93f99
GM
39152001-01-30 Gerd Moellmann <gerd@gnu.org>
3916
52283633
SM
3917 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3918 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3919
3920 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3921 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3922 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3923
3924 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3925 height.
3926
d9c1f6f9
DL
39272001-01-30 Dave Love <fx@gnu.org>
3928
3929 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3930 AFTER_POTENTIAL_GC.
3931
e8f044a0
GM
39322001-01-29 Gerd Moellmann <gerd@gnu.org>
3933
52283633
SM
3934 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3935 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3936
8e1db7b3
EZ
39372001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3938
3939 * textprop.c (Fset_text_properties): Doc fix.
3940
4eefd9d2
GM
39412001-01-29 Gerd Moellmann <gerd@gnu.org>
3942
3943 * xdisp.c (forward_to_next_line_start): Remove xassert.
3944
fccb8288
EZ
39452001-01-29 Jason Rumney <jasonr@gnu.org>
3946
4eefd9d2 3947 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3948 returning without releasing it.
3949
76581eab
KH
39502001-01-29 Kenichi Handa <handa@etl.go.jp>
3951
3952 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3953 for '^', '$', and '\0'.
3954
83a96b4d
AC
39552001-01-28 Andrew Choi <akochoi@i-cable.com>
3956
5604ec34
AC
3957 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3958 regex for '^', '$', and '\0'.
3959
83a96b4d
AC
3960 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3961 only if current_sblock has been initialized.
3962
3963 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3964 terminal frame even if it is the only visible frame.
3965
c09a6440
KH
39662001-01-28 Kenichi Handa <handa@etl.go.jp>
3967
3968 * fontset.c (font_family_registry): Even if FONTNAME conform to
3969 XLFD, if it specifies other fields than family and registry,
52283633 3970 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3971 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3972 a signle byte character. Don't set FAMILY part to nil here.
3973 It is handled by the caller choose_face_font.
c09a6440
KH
3974 (Fnew_fontset): Call font_family_registry with FORCE 0.
3975 (Fset_fontset_font): Likewise.
3976
4dcd74e6
GM
39772001-01-27 Gerd Moellmann <gerd@gnu.org>
3978
3979 * xdisp.c (display_line): Don't treat a newline as fitting
3980 on the line.
3981
d2906bf8
GM
39822001-01-26 Gerd Moellmann <gerd@gnu.org>
3983
0130fe1a
GM
3984 * window.c (size_window): Set the window's orig_top to nil when
3985 changing heights, so that a future shrink_mini_window won't
3986 restore a bogus height.
3987
550f0e6a
GM
3988 * frame.c (do_switch_frame): If selected frame has a mini-window,
3989 resize that to exact size.
3990
b7b20fbd
GM
3991 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
3992
a47b7816
GM
3993 * xdisp.c (display_line): Simplify check for glyphs fitting
3994 entirely in the line.
3995
d2906bf8
GM
3996 * xfns.c (xic_style): New variable.
3997 (create_frame_xic): Move static variable to global scope for
550f0e6a 3998 the case that `static' gets defined away.
d2906bf8 3999
73df2b1e
KH
40002001-01-26 Kenichi Handa <handa@etl.go.jp>
4001
4002 * coding.c (decode_coding): Set a flag for inhibiting
4003 inconsistent eol.
4004 (code_convert_region): Always set saved_coding_symbol.
4005 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4006 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4007
6613cfc4
GM
40082001-01-25 Gerd Moellmann <gerd@gnu.org>
4009
c5e6e06b
GM
4010 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4011 XClearArea.
4012
4013 * xterm.c (x_after_update_window_line): Don't clear if frame's
4014 internal border width is zero.
4015 (x_clear_area): New function.
4016 (x_after_update_window_line, x_clear_end_of_line)
4017 (x_scroll_bar_create, x_scroll_bar_set_handle)
4018 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4019 instead of XClearArea.
4020
4021 * xterm.h (x_clear_area): Add prototype.
4022
6613cfc4
GM
4023 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4024 which doesn't seem necessary anymore with Lesstif 0.92.
4025
650cc6cc
DL
40262001-01-25 Dave Love <fx@gnu.org>
4027
34ac3367
DL
4028 * puresize.h (BASE_PURESIZE): Up to 720000.
4029
650cc6cc
DL
4030 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4031
5e37dc22
GM
40322001-01-25 Gerd Moellmann <gerd@gnu.org>
4033
e1e441f9
GM
4034 * xdisp.c (echo_area_display): Don't call redisplay_internal
4035 when Emacs is shutting down. We can't run hooks etc. that
4036 would be necessary to do a redisplay.
4037
5e37dc22
GM
4038 * lread.c (read_integer): Use type EMACS_INT instead of int.
4039
0fb94c7f
EZ
40402001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4041
4042 * ccl.c (ccl_driver): Fix last change.
4043
e3778624
KH
40442001-01-25 Kenichi Handa <handa@etl.go.jp>
4045
4046 * ccl.h (sturct ccl_program): New member suppress_error.
4047
bb264518 4048 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4049 insert error message to the output.
4050 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4051
4052 * coding.h (struct coding_system): New member suppress_error.
4053
4054 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4055 (Fset_terminal_coding_system_internal): Set the member
4056 suppress_error to 1.
4057 (Fset_safe_terminal_coding_system_internal): Likewise.
4058
245ed2b1
SM
40592001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4060
4061 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4062 as if it was a `charset'.
4063
f9aaedb6
GM
40642001-01-24 Gerd Moellmann <gerd@gnu.org>
4065
4066 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4067 value in where_is_cache; the next lookup in the cache returns
4068 something bogus if we do.
4069
c3902c3e
EZ
40702001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4071
4072 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4073 if HAVE_WINDOW_SYSTEM isn't defined.
4074
3497f73e
GM
40752001-01-24 Gerd Moellmann <gerd@gnu.org>
4076
e7e41584
GM
4077 * fns.c (sweep_weak_table): Fix code taking items out of
4078 the hash collision chain. Some cleanup.
4079
3497f73e
GM
4080 * xterm.c (x_new_font): Don't change a tooltip's size.
4081
4082 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4083 background color by specifying a color for the default font
4084 in .Xdefaults.
4085
3d48e687
KH
40862001-01-24 Kenichi Handa <handa@etl.go.jp>
4087
96531b20
KH
4088 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4089 a workaround for SunOS 4's cc.
4090 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4091 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4092 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4093 statement.
3d48e687 4094
a30629d2
GM
40952001-01-23 Gerd Moellmann <gerd@gnu.org>
4096
4097 * xterm.c (x_set_window_size_1): New function extracted from
4098 x_set_window_size.
4099 (x_set_window_size): Use it.
4100 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4101 doesn't have a widget, like tooltips.
4102
5a43decf
EZ
41032001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4104
52283633 4105 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4106
b0e98867
KH
41072001-01-23 Kenichi Handa <handa@etl.go.jp>
4108
4109 * fns.c (Fset_char_table_default): Fix to make sub char-table
4110 correctly.
4111
50606b4c
GM
41122001-01-22 Gerd Moellmann <gerd@gnu.org>
4113
cb2ddc53 4114 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4115 a desired tool bar string, even if there are no tool bar items.
4116
57c28064
GM
4117 * xdisp.c (Ftool_bar_lines_needed): New function.
4118 (syms_of_xdisp): Defsubr it.
4119
50606b4c
GM
4120 * editfns.c (Fformat): Don't extend text properties from arguments
4121 to padding chars in the result.
4122
2f169c38
EZ
41232001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4124
4125 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4126
0f32f023
AI
41272001-01-20 Andrew Innes <andrewi@gnu.org>
4128
52283633 4129 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4130 (w32_initialize): Don't set term hooks that aren't actually needed
4131 in windowed mode.
4132
4133 * xfaces.c (realize_default_face):
4134 (realize_face):
4135 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4136
4137 * xdisp.c (handle_single_display_prop): Remove references to
4138 FRAME_W32_CONSOLE_P.
4139
52283633 4140 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4141
4142 * frame.h (output_method): Remove output_w32_console method.
4143 (FRAME_W32_CONSOLE_P): Remove macro.
4144
4145 * frame.c (Qw32_console): Remove variable.
4146 (Fframep): Remove references to it.
4147 (syms_of_frame): Ditto.
4148 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4149
4150 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4151 redefinition.
4152
7173eada
KH
41532001-01-20 Kenichi Handa <handa@etl.go.jp>
4154
4155 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4156
755b45ce
AI
41572001-01-19 Andrew Innes <andrewi@gnu.org>
4158
4159 * w32.c (init_environment): Add a version-independent site-lisp
4160 directory to EMACSLOADPATH, after the version dependent one.
4161
0a949811
GM
41622001-01-19 Gerd Moellmann <gerd@gnu.org>
4163
8501998a
GM
4164 * editfns.c (Fbuffer_substring): Doc fix.
4165
52283633
SM
4166 * xdisp.c (message_dolog, message2, message2_nolog):
4167 Rename parameter LEN to NBYTES.
0a949811 4168
e6ebcbbe
KH
41692001-01-19 Kenichi Handa <handa@etl.go.jp>
4170
200ecca2
KH
4171 * charset.c (strwidth): Use c_string_width.
4172 (c_string_width): New function.
4173 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4174 Caller changed.
4175
4176 * charset.h (c_string_width, lisp_string_width): Extern them.
4177
52283633 4178 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4179
e6ebcbbe
KH
4180 * indent.c (check_composition): Check validity of composition.
4181
200ecca2
KH
4182 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4183 characters by calling c_string_width.
4184 (x_consider_frame_title): Get byte length of frame tile string
4185 correctly.
4186 (display_mode_element): Pay attention to width of non-ASCII
4187 characters by calling strwidth.
4188
8692ca92
GM
41892001-01-18 Gerd Moellmann <gerd@gnu.org>
4190
8962e303
GM
4191 * xfns.c (Qcancel_timer): New variable.
4192 (syms_of_xfns): Initialize and staticpro it.
4193 (Fx_hide_tip, Fx_show_tip): Use it.
4194 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4195 the timer.
4196 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4197
91523be9
GM
4198 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4199
4200 * window.h (WINDOW_LIVE_P): New macro.
4201
b0b7ed0e
GM
4202 * window.c (window_size_fixed): New variable.
4203 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4204 the doc string.
4205
06bccf8e
GM
4206 * eval.c (specbind): If binding a per-buffer variable which
4207 doesn't have a buffer-local value in the current buffer, change
4208 the global value by changing the value of the symbol bound in all
4209 buffers not having their own value, to make it consistent with
4210 what happens with other buffer-local variables.
4211
8692ca92
GM
4212 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4213
4214 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4215 when searching for a newline.
4216
bb3a3b50
KH
42172001-01-18 Kenichi Handa <handa@etl.go.jp>
4218
4219 * xdisp.c (display_string): Fix previous change.
4220
c2cc16fa
JR
42212001-01-18 Jason Rumney <jasonr@gnu.org>
4222
4223 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4224 GLYPH_DEBUG is defined.
4225 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4226 true for images with `:ascent 100'.
4227 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4228 meantime, use face MOUSE_FACE_ID.
4229 If first glyph isn't a character glyph, use the ASCII NUL
4230 character to determine the face.
4231 (expose_area): Do not treat left margin specially.
4232 (note_mode_line_highlight): If no local_map, check global keymap.
4233 (note_mouse_highlight): Initialize overlay.
52283633 4234 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4235 (show_scroll_bars): Remove unused function.
4236 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4237 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4238 Clip to row.
52283633 4239 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4240 (x_free_frame_resources): Unload relief colors.
4241
9c11f79e
GM
42422001-01-17 Gerd Moellmann <gerd@gnu.org>
4243
3aec8722 4244 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4245 get_next_display_element when the newline is already found.
4246 This may change the iterator's position, when its current position is
3aec8722
GM
4247 equal to the iterator's stop_charpos.
4248
f3ffc2c3
GM
4249 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4250 zero, use this method only at the end of a line.
4251
52283633 4252 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4253 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4254 if SCALABLE_FONTS_P is set.
52283633 4255
d26d6fd9
GM
4256 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4257 so that scalable fonts are included.
4258
9c11f79e
GM
4259 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4260 In the cache, use a key containing the information if scalable
4261 fonts are included.
4262 (x_load_font): Adapt to change of keys in the font cache.
4263
42642001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4265
d26d6fd9
GM
4266 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4267 XListFonts to take advantage of font caching.
4268
9c11f79e
GM
4269 * xterm.c (x_list_fonts): Ensure caching font information when
4270 called for a null frame, which is the case frequently when Emacs
4271 starts.
4272
51446987
GM
42732001-01-17 Gerd Moellmann <gerd@gnu.org>
4274
f864120f
GM
4275 * xfns.c (QCconversion): Replaces QCalgorithm.
4276
4277 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4278
4279 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4280 of :algorithm.
52283633 4281
e37d1417
GM
4282 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4283 not everything could be displayed.
4284
51446987
GM
4285 * line.h, x-list-font.c: Files removed because unused.
4286
9ad4f3e5
AI
42872001-01-17 Andrew Innes <andrewi@gnu.org>
4288
4289 * dired.c (directory_files_internal): Convert result from readdir
4290 to a unibyte string initially, to avoid possible misinterpretation
4291 of some bytes as the internal form of Emacs characters.
4292
2eda09b5
KH
42932001-01-17 Kenichi Handa <handa@etl.go.jp>
4294
4295 * fns.c (concat): Be sure to avoid putting the same `composition'
4296 property on the adjacent regions.
4297
826f3788
GM
42982001-01-16 Gerd Moellmann <gerd@gnu.org>
4299
52283633 4300 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4301 (Fscroll_right, Fscroll_left): Set it here instead, if called
4302 interactively.
4303
d57b83b3
GM
4304 * buffer.c (Fset_buffer_modified_p): Set buffer's
4305 prevent_redisplay_optimizations_p flag.
4306
826f3788 4307 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4308 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4309 with additional arg.
4310
4311 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4312 Change prototype.
826f3788 4313
826f3788
GM
4314 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4315 FROM_WHERE, for debugging.
4316
261d788b
KH
43172001-01-16 Kenichi Handa <handa@etl.go.jp>
4318
4319 * ccl.c (Fregister_ccl_program): Handle the return value of
4320 resolve_symbol_ccl_program correctly.
52283633 4321 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4322
bccee4f2
GM
43232001-01-15 Gerd Moellmann <gerd@gnu.org>
4324
e4ded23c
GM
4325 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4326 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4327
4328 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4329 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4330 the display; we didn't open it.
4331
bccee4f2
GM
4332 * dispnew.c (save_or_restore_current_matrices): Function removed.
4333 (save_current_matrix, restore_current_matrix): New functions.
4334 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4335 restore the frame's current matrix. Due to the glyph pointer
4336 setup done in adjust_glyph_matrix, there is no easy way to make
4337 saving the current matrix in the desired matrix generally correct,
4338 so don't try it.
4339
ebeccffa
KH
43402001-01-15 Kenichi Handa <handa@etl.go.jp>
4341
4342 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4343 truncation glyphs.
4344 (display_line): Optimize for wide characters.
e4ded23c 4345 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4346 partially. On ttys, produce more than one truncation glyph for
4347 multi-column characters that don't fit on the line.
4348
64388126
KH
43492001-01-13 Kenichi Handa <handa@etl.go.jp>
4350
52283633
SM
4351 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4352 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4353
8edb0a6f
JR
43542001-01-13 Jason Rumney <jasonr@gnu.org>
4355
4356 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4357 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4358 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4359 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4360
52283633
SM
4361 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4362 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4363 (x_draw_image_glyph_string): Adapt to change of image margins.
4364
4365 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4366 variables.
4367
4368 * w32bdf.c (search_file_line, get_cached_font_char)
4369 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4370
4371 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4372
4373 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4374 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4375 (Fw32_send_sys_command): Remove unused variables.
4376 (w32_msg_pump): Add parentheses.
4377
4378 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4379 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4380 Add parentheses.
4381
4956d1ef
GM
43822001-01-12 Gerd Moellmann <gerd@gnu.org>
4383
b30623be
GM
4384 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4385 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4386 being a pair of margins.
4387 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4388 to DEFVAR_LISP. Extend doc.
4389
4390 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4391 margins.
4392 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4393 pair of integers `(X . Y)', use X for the horizontal and Y for the
4394 vertical margin.
4395 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4396 (parse_image_spec): Check it.
52283633
SM
4397 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4398 (tiff_format, gif_format, gs_format):
4399 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4400
52283633
SM
4401 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4402 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4403 (x_draw_image_glyph_string): Adapt to the change of image margins.
4404
4405 * dispextern.h (struct image): Replace member `margin' with
4406 `hmargin' and `vmargin'.
4407
4554cc79
GM
4408 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4409 and GLYPHS.
4410
4411 * dispnew.c (update_text_area): Put code which decrements the
4412 stop position when the row's face extends to the end of the
3bffc665 4413 line in #if 0.
4554cc79 4414
3cccce8d
GM
4415 * xfns.c (x_set_mouse_color): Fix color allocation.
4416
4956d1ef
GM
4417 * keyboard.c: Call get_local_map with new argument list.
4418
4419 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4420
4421 * intervals.h (enum map_property): Removed.
4422 (get_local_map): Change prototype.
4423
4424 * keymap.c: Call get_local_map with new argument list.
4425 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4426
2c2ff7f2
GM
44272001-01-11 Gerd Moellmann <gerd@gnu.org>
4428
a23887b9
GM
4429 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4430 of the size needed for the tool bar string. For the last image,
4431 use a `display' property that reaches to the end of the string.
4432
a7ee2d2e
GM
4433 * xselect.c (selection_request_dpyinfo): New variable.
4434 (x_handle_selection_request): Set it.
4435 (x_selection_request_lisp_error): Don't call
4436 x_decline_selection_request if selection request's display has
4437 been closed.
4438
52283633
SM
4439 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4440 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4441
457b792c
GM
44422001-01-10 Dave Love <fx@gnu.org>
4443
4444 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4445 ${SOME_MACHINE_LISP}, not ${lisp}.
4446
c1efd260
GM
44472001-01-10 Gerd Moellmann <gerd@gnu.org>
4448
52283633
SM
4449 * xdisp.c (display_line): On ttys, produce more than one truncation
4450 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4451
ac95a621
GM
4452 * xselect.c (x_reply_selection_request): Add a comment.
4453
c1efd260
GM
4454 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4455 XkbGetNames instead of XkbGetKeyboard.
4456
1bfb1345
DL
44572001-01-10 Dave Love <fx@gnu.org>
4458
4459 * sysdep.c (random): Revert the declaration.
4460
38119822
GM
44612001-01-09 Gerd Moellmann <gerd@gnu.org>
4462
52283633
SM
4463 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4464 Call function string_bytes.
35f464a7
GM
4465 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4466
4467 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4468 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4469 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4470 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4471 the current sblock.
4472 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4473 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4474 after sweeping strings, and at the end.
4475 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4476
38119822
GM
4477 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4478 ensure that pop_message is called.
4479
4480 * keyboard.c (Fexecute_extended_command): Use a
4481 record_unwind_protect to ensure that pop_message is called.
4482
4483 * lisp.h (push_message_unwind): Add prototype.
4484
4485 * xdisp.c (push_message_unwind): New function.
4486
4487 * fileio.c (do_auto_save_unwind): Do the pop_message here
4488 instead of in Fdo_auto_save.
4489 (Fdo_auto_save): Don't call pop_message.
4490
f47a9ec4
KR
44912001-01-08 Ken Raeburn <raeburn@gnu.org>
4492
4493 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4494 in inner block.
4495
a758f97d
GM
44962001-01-08 Gerd Moellmann <gerd@gnu.org>
4497
6d0afc03
GM
4498 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4499 when increasing window's vscroll.
4500
a758f97d
GM
4501 * macros.c (Qkbd_macro_termination_hook): New variable.
4502 (syms_of_macros): Initialize and staticpro it.
4503 (pop_kbd_macro): Run kbd-macro-termination-hook.
4504
4505 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4506
1bfb1345 45072001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4508
4509 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4510 arglist, for documentation's sake.
4511
0dac6924
AI
45122001-01-06 Andrew Innes <andrewi@gnu.org>
4513
4514 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4515 of *.pdb.
4516
8182406a
AI
45172001-01-05 Andrew Innes <andrewi@gnu.org>
4518
4519 * term.c (update_end): Don't check updating_frame; for some reason
4520 this can be 0 sometimes, such as after dismissing a popup menu,
4521 and isn't necessary given the explicit frame argument.
4522
3828218c
GM
45232001-01-05 Gerd Moellmann <gerd@gnu.org>
4524
4525 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4526 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4527
2f5ded21
GM
45282001-01-04 Gerd Moellmann <gerd@gnu.org>
4529
52283633 4530 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4531
4532 * xfns.c (x_create_tip_frame): Preserve the value of
4533 face_change_count around the creation of the tip frame.
52283633 4534
2f5ded21
GM
4535 * xfns.c (last_show_tip_args): New variable.
4536 (compute_tip_xy): New function.
4537 (Fx_show_tip): Reuse an existing tip frame, if possible.
4538 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4539
dfad65fa
DL
45402001-01-04 Dave Love <fx@gnu.org>
4541
64d4ec0f
DL
4542 * editfns.c (Fformat): Doc fix.
4543
dfad65fa
DL
4544 * systime.h (set_file_times): Prototype.
4545
4546 * widget.h (EmacsFrameSetCharSize_): Prototype.
4547
4548 * sysdep.c (random, srandom): Declare explicitly.
4549
4550 * dispextern.h (move_it_vertically_backward): Declare.
4551
85fe3b5e
GM
45522001-01-04 Gerd Moellmann <gerd@gnu.org>
4553
0f2ac578
GM
4554 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4555 like in Fx_create_frame.
4556
482cca61
GM
4557 * xfaces.c (set_font_frame_param): Don't do anything for
4558 non-graphical frames.
4559
85fe3b5e
GM
4560 * window.c (Fdelete_other_windows): Set window's window_end_valid
4561 to nil when changing the window's start. Don't change the
4562 window's start when its top position hasn't changed. If we do,
4563 this will set the window's optional_new_start, which act's like a
4564 force_start during redisplay with C-x 1 M-> under particular
4565 circumstances (see report from Per Starback to emacs-pretest-bug
4566 from 2000-12-13.).
4567
3e99d3b4
GM
45682001-01-03 Gerd Moellmann <gerd@gnu.org>
4569
a77dc1ec
GM
4570 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4571 short cut at the start of the function. Add an assertion.
4572 (reseat_at_next_visible_line_start): Add an assertion.
4573
2f3cad6c
GM
4574 * window.c (Frecenter): When changing the window start, set the
4575 window's window_end_valid to nil.
4576 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4577
4578 * dispextern.h (move_it_past_eol): Add prototype.
4579
4580 * xdisp.c (move_it_past_eol): New function.
4581
3e99d3b4
GM
4582 * window.c (Fwindow_end): Doc fix.
4583
45842001-01-03 Dave Love <fx@gnu.org>
4585
52283633 4586 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4587
bafb434c
GM
45882001-01-03 Gerd Moellmann <gerd@gnu.org>
4589
4590 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4591 the enabled_p flag of the glyph row at window_end_vpos to 0.
4592 (handle_single_display_prop): Fix last change.
4593
5297fb00
RS
45942001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4595
4596 * window.c (Frecenter): Doc fix.
4597
13d6a61c
AI
45982001-01-02 Andrew Innes <andrewi@gnu.org>
4599
4600 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4601
4602 * frame.h (output_method): Add output_w32_console method.
4603 (FRAME_W32_CONSOLE_P): New macro.
4604
4605 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4606 use output_w32_console method.
4607 (Qw32_console): New Lisp_Object.
4608 (Fframep): Return it.
4609 (syms_of_frame): Init it.
52283633 4610 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4611
4612 * xfaces.c (realize_default_face): Set face foreground and
4613 background to unspecified for w32_console frames.
4614 (realize_face): Realize face cache for w32_console frames.
4615 (realize_tty_face): Accept w32_console frames.
4616
52283633 4617 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4618 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4619 necessary, even if running interactively.
4620
4621 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4622 w32_console frames.
4623
52283633
SM
4624 * w32term.c (x_update_begin):
4625 (x_update_end):
4626 (x_clear_frame):
4627 (x_ins_del_lines):
4628 (x_change_line_highlight):
4629 (x_delete_glyphs):
4630 (w32_ring_bell):
4631 (x_update_begin):
4632 (x_update_end):
4633 (w32_reassert_line_highlight):
4634 (w32_frame_rehighlight):
13d6a61c
AI
4635 (w32_frame_raise_lower): Do nothing if not w32 frame.
4636
4637 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4638
4639 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4640 system doesn't tell us directly.
4641 (Fx_display_visual_class): Implement properly.
4642
d6bb0c0d
GM
46432001-01-02 Gerd Moellmann <gerd@gnu.org>
4644
4645 * window.c (Frecenter): Handle centering in graphical frames
4646 specially. Centering on the basis of line counts doesn't work
4647 reliably with variable-height lines.
52283633 4648
315f5865
EZ
46492001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4650
4651 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4652 and al[].
4653
52283633 4654 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
4655 (update_compositions): Remove unused variable `hook'.
4656
4657 * intervals.c (get_local_map): Remove unused variable `tem'.
4658
4659 * doprnt.c (doprnt1): Remove unused variable `size'.
4660
4661 * fns.c (Flength): Remove unused variable `tail'.
4662 (Fdelete): Remove unused variable `size'.
4663
4664 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
4665 and `gcpro2'.
4666
52283633 4667 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
4668
4669 * data.c (find_symbol_value): Remove extra 3rd argument in the
4670 call to swap_in_symval_forwarding.
4671
52283633 4672 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
4673
4674 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
4675 (trivial_regexp_p): Remove unused variable `c'.
4676 (boyer_moore): Remove unused variable `k'.
4677
4678 * indent.c (current_column): Remove unused variable `stopchar'.
4679 (Fcompute_motion): Remove unused variable `contin'.
4680
4681 * casefiddle.c (casify_object): Remove unused variable `tolen'.
4682
4683 * dired.c (directory_files_internal): Fix a typo in a comment.
4684 Remove an unused variable `handler'.
52283633 4685 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
4686 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
4687 on BSD4_2.
4688
52283633 4689 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
4690
4691 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
4692 and `buf'.
4693 (Fmarker_insertion_type): Remove unused variable `buf'.
4694
4695 * insdel.c (make_gap): Remove unused variable `result'.
4696
52283633 4697 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
4698 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
4699 (menu_bar_items): Remove unused function-scope variable `tem'.
4700
4701 * fontset.c (fontset_ref): Remove unused variable `i'.
4702 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 4703 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
4704 (make_fontset_for_ascii_face): Remove unused variable `name'.
4705 (fs_load_font): Remove unused variable `font_idx'.
52283633 4706 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
4707 (list_fontsets): Remove unused variable `tail'.
4708 (Fnew_fontset): Remove unused variables `family' and `registry'.
4709 (accumulate_font_info): Remove unused variable `tmp'.
4710 (Ffontset_font): Remove unused variable `id'.
4711 (syms_of_fontset): Remove unused variable `i'.
4712
4713 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4714 to x_term_init.
4715 (lookup_image): Remove unused variable `file'.
4716 (xbm_load): Remove unused variables `bitmap_data', `height', and
4717 `width'. Remove function-local variable `i', leave the
4718 block-local one.
4719 (gif_load): Remove unused variable `inc'.
4720
52283633 4721 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4722 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4723 leave only the one in the inner block.
4724
4725 * xfaces.c (face_fontset, realize_default_face): Remove unused
4726 variable `fontset'.
4727 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4728
4729 * term.c (encode_terminal_code): Remove unused variable `c'.
4730
4731 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4732 char *' instead of `char *'.
4733
4734 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 4735 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
4736 (Fchar_category_set): Remove unused variables `val', `charset',
4737 `c1' and `c2'.
4738
52283633
SM
4739 * coding.c (detect_coding_iso2022, setup_coding_system):
4740 Remove unused variable `i'.
315f5865
EZ
4741 (detect_coding_mask): Remove unused variable `idx'.
4742 (detect_coding): Remove unused variable `i'.
4743 (ccl_coding_driver): Remove unused variable `result'.
4744 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 4745 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
4746 (encode_coding_string): Remove unused variables `gcpro1' and
4747 `saved_coding_symbol'.
4748 (Ffind_coding_systems_region_internal): Remove function-local
4749 variable args[], leave only the block-local one.
4750 (code_convert_region1): Remove unused variable `len'.
4751
4752 * charset.c (char_printable_p): Remove unused variable `chars'.
4753 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4754 (str_to_multibyte): Remove unused variable `c'.
4755
4756 * window.c (size_window): Remove block-local variable `min_size'.
4757
4758 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4759 `header_line_height'.
4760 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4761 enum display_element_type.
4762
1a8a9daf
GM
47632001-01-02 Gerd Moellmann <gerd@gnu.org>
4764
6dde6abc 4765 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4766 statements that call X. Save away the error message in a local copy.
4767
1883b2c6
GM
4768 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4769 the start.
4770
a13be207
GM
4771 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4772 in or at the start of invisible text.
4773
1a8a9daf
GM
4774 * dispnew.c (update_window): Don't check_current_matrix_flags.
4775
3608c0f9
JR
47762001-01-01 Jason Rumney <jasonr@gnu.org>
4777
4778 * w32fns.c (x_figure_window_size): Do not allow new_height and
4779 new_width of frame to override specified values.
4780
abb1acc4
KH
47812000-12-30 Kenichi Handa <handa@etl.go.jp>
4782
52283633 4783 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4784
762a68ec
GM
47852000-12-29 Gerd Moellmann <gerd@gnu.org>
4786
52283633 4787 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4788 (update_window) [GLYPH_DEBUG]: Call it.
4789 (scrolling_window): Prevent including current rows which are below
4790 what's displayed in the window.
4791
4792 * xdisp.c (try_window_reusing_current_matrix)
4793 <new start <= old start>: Disable rows in the current matrix
4794 which are below the window after scrolling.
52283633 4795
762a68ec
GM
4796 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4797 is zero. It's not worth the complexity.
4798 (invisible_text_between_p): Put in #if 0 because unused.
4799
2d5912c1
GM
48002000-12-28 Gerd Moellmann <gerd@gnu.org>
4801
46f6a258
GM
4802 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4803 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4804
89f93679
GM
4805 * keyboard.c (echo_char): If C is an integer, always call
4806 push_key_description. Former code could signal an invalid
4807 character error.
4808
4809 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4810 If set, print multibyte text.
4811 (Fsingle_key_description): Call push_key_description with
4812 FORCE_MULTIBYTE set.
4813 (describe_buffer_bindings): Likewise.
4814
4815 * lisp.h (push_key_description): Add prototype.
4816
c06017fb
GM
4817 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4818 around the call to redisplay_internal.
4819
f1d2ce7f
GM
4820 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4821
2d5912c1
GM
4822 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4823
9371f831
KH
48242000-12-28 Kenichi Handa <handa@etl.go.jp>
4825
4826 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4827 (ccl_driver): New local variable `extra_bytes'.
4828
4829 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4830
52283633
SM
4831 * coding.c (setup_coding_system):
4832 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
4833 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4834
0c80628a
KH
48352000-12-28 Kenichi Handa <handa@etl.go.jp>
4836
4837 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4838 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4839 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
4840 (decode_composition_emacs_mule): New function.
4841 (decode_coding_emacs_mule): Decode composition sequence by calling
4842 decode_composition_emacs_mule.
4843 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
4844 (encode_coding_emacs_mule): Changed from macro to function.
4845 If a text contains compositions, encode them correctly.
0c80628a
KH
4846 (setup_coding_system): Set coding->commong_flags for emacs-mule so
4847 that decoding and encoding are required.
4848
3e32cc27
GM
48492000-12-27 Gerd Moellmann <gerd@gnu.org>
4850
5e25feee
GM
4851 * xfaces.c (PT_PER_INCH): New macro.
4852 (xlfd_point_size): Compute real point size from font's pixel size.
4853 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
4854 instead of 72.
4855
892d8fcd
GM
4856 * .gdbinit: Comment out the line pointing to the Lesstif source
4857 directory.
4858
12c8b416
GM
4859 * window.c (Frecenter): Use displayed_window_lines instead
4860 of window_internal_height.
4861
6061fbf0
GM
4862 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4863 instead of x-toolkit-scroll-bars-p.
4864 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
4865
4866 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4867 instead of x-toolkit-scroll-bars-p.
4868 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 4869
3e32cc27
GM
4870 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
4871 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
4872 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
4873 New variables.
4874 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
4875 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
4876 (build_frame_matrix_from_leaf_window): Remove unused code.
4877 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
4878 redisplay history.
4879 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
4880 (update_window) [GLYPH_DEBUG]: Likewise.
4881 (syms_of_display): Defsubr dump-redisplay-history.
4882
31798cfe
GM
48832000-12-23 Gerd Moellmann <gerd@gnu.org>
4884
f717c2ba
GM
4885 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4886 the end of the prompt. Set echo_after_prompt to the offset
4887 of echoptr in echobuf.
4888
aeb2b8fc
GM
4889 * xdisp.c (init_from_display_pos): Pop until the iterator's
4890 stack is empty; there may be frames for stretch or images
4891 on the stack.
4892
31798cfe
GM
4893 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4894 (save_or_restore_current_matrix): New function for the same
4895 purpose, but more efficient.
4896 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4897
f8156156
EZ
48982000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4899
4900 * xdisp.c (syms_of_xdisp): Fix last change.
4901
bdd6d4e8
GM
49022000-12-23 Gerd Moellmann <gerd@gnu.org>
4903
4904 * xdisp.c (syms_of_xdisp): Doc fix.
4905
4906 * xdisp.c (redisplay_window): Remove label restore_buffers;
4907 use finish_scroll_bars instead to make sure that scroll bars
4908 are redeemed. If we don't do this, flickering can result from
4909 scroll bars being destroyed and recreated.
4910
9436cdf9
JR
49112000-12-22 Jason Rumney <jasonr@gnu.org>
4912
4913 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4914 in the wrong colors when the foreground is not black.
4915 (expose_window): Don't redraw the window that's currently being
4916 updated.
4917
951f9df5
GM
49182000-12-22 Gerd Moellmann <gerd@gnu.org>
4919
856ff7a7
GM
4920 * window.c (size_window): When setting the window's too_small_ok
4921 flag, compare old size with minimum size depending on WIDTH_P,
4922 don't compare with window_min_width.
52283633 4923
951f9df5
GM
4924 * window.c (delete_window): Simplify somewhat.
4925 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4926 freeing window matrices. The flag windows_or_buffers_changed is
4927 set, so the next redisplay will consider all windows; this should
4928 suffice.
4929
886bc933
KH
49302000-12-22 Kenichi Handa <handa@etl.go.jp>
4931
4932 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4933
4934 * ccl.h (struct ccl_program): New member cr_consumed.
4935
4936 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4937 (CCL_READ_CHAR): Handle EOL conversion here.
4938 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4939
177f4e88
GM
49402000-12-21 Gerd Moellmann <gerd@gnu.org>
4941
52283633 4942 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4943
4944 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4945 otherwise tabs of different size compare equal.
4946
4947 * callint.c (Fcall_interactively): Prevent a compiler warning.
4948
4949 * print.c (print_unwind): Return nil.
4950 (PRINTDECLARE): Initialize all local variables.
4951 (print_preprocess): Add a default case.
4952
8e15274f
GM
4953 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4954
4955 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4956
52283633 4957 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4958 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4959
4960 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4961
4962 * dispnew.c (ensure_frame_matrix): Removed.
4963 (save_frame_matrix, restore_frame_matrix): New functions.
4964 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4965
4966 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4967 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4968
99012074
AI
49692000-12-21 Andrew Innes <andrewi@gnu.org>
4970
4971 * w32term.c (x_update_begin): Regenerate the palette here, rather
4972 than for each window.
4973
4974 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4975 palette is NULL, since this corrupts memory! Also get
4976 display_info reference from frame.
4977
29ef7d2d
JR
49782000-12-21 Jason Rumney <jasonr@gnu.org>
4979
4980 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
4981
4982 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
4983 to avoid returning without releasing it.
3e27fa1f 4984
3f9d67a6
KH
49852000-12-21 Kenichi Handa <handa@etl.go.jp>
4986
587fc3f9
KH
4987 * keymap.c (push_key_description): Don't convert eight-bit-control
4988 and eight-bit-graphic to multibyte character.
4989
3f9d67a6
KH
4990 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
4991 generic character and CODE1 is nil, return the smallest character
4992 in CHARSET.
4993
774ba8c9
DL
49942000-12-20 Dave Love <fx@gnu.org>
4995
4996 * s/osf5-0.h (NSIG): Don't redefine.
4997
88416888
SM
49982000-12-20 Stefan Monnier <monnier@cs.yale.edu>
4999
5000 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5001 excluding menu-bar and tool-bar.
5002 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5003 (menu_item_p): Remove.
5004 (where_is_internal_1): Don't ignore menu-items.
5005
a6426c6f
GM
50062000-12-20 Gerd Moellmann <gerd@gnu.org>
5007
03ff8aab
GM
5008 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5009 into account.
5010
5011 * window.c (make_window): Initialize window's min_hscroll.
5012 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5013 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5014 to zero.
5015 (struct saved_window): New member min_hscroll.
5016 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5017 (Fset_window_configuration): Set window's min_hscroll.
5018 (save_window_save): Save window's min_hscroll.
5019 (compare_window_configurations): Compare min_hscroll values.
5020
5021 * window.h (struct window): New member min_hscroll.
5022
5023 * keyboard.c (echo_prompt): Prevent a compiler warning.
5024
8de4aaf8
GM
5025 * xdisp.c (try_cursor_movement): Fix last change. The real
5026 condition is that PT is at the end of the row, and should
5027 be displayed at the start of the next row.
52283633 5028
3f7e3031
GM
5029 * xdisp.c (try_cursor_movement): If we end on a partially
5030 visible line, end we already decided to scroll, return -1.
5031
a6426c6f
GM
5032 * dispextern.h (ensure_frame_matrix): Add prototype.
5033
5034 * window.c (delete_window, Fsplit_window)
5035 (Fset_window_configuration): Call ensure_frame_matrix.
5036
52283633
SM
5037 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5038 New functions.
a6426c6f
GM
5039 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5040 completed, call fake_current_matrices instead of marking frame
5041 garbaged.
5042
57fa2774
JR
50432000-12-20 Jason Rumney <jasonr@gnu.org>
5044
5045 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5046
d925df90
EZ
50472000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5048
5049 * fns.c (Frequire): Doc fix.
5050
7b93a85b
GM
50512000-12-19 Gerd Moellmann <gerd@gnu.org>
5052
52283633 5053 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5054
c74e645b
GM
5055 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5056 currently displaying a message.
5057
7b93a85b
GM
5058 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5059 xterm.h.
5060 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5061
90d97e64
AI
50622000-12-18 Andrew Innes <andrewi@gnu.org>
5063
5064 * w32.c (w32_strerror): New function.
5065
5066 * w32.h (w32_strerror): New extern.
5067
5068 * w32fns.c (Fw32_shell_execute): Use it.
5069
91c9e6ce
GM
50702000-12-18 Gerd Moellmann <gerd@gnu.org>
5071
5072 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5073
6f4745e2
EZ
50742000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5075
5076 * msdos.c (IT_set_face): Obey inverse_video.
5077
c9e088ce
KH
50782000-12-18 Kenichi Handa <handa@etl.go.jp>
5079
5080 * dired.c (directory_files_internal): Always return decoded filenames.
5081
c3695f5f
GM
50822000-12-18 Gerd Moellmann <gerd@gnu.org>
5083
52d8e4ff
GM
5084 * xterm.c (x_connection_closed): Prevent being called recursively
5085 because of an error condition in XtCloseDisplay.
52283633 5086
62be9979
GM
5087 * xdisp.c (init_iterator): If noninteractive, and the frame's
5088 face cache is null, make one.
5089
52283633 5090 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5091
c3695f5f
GM
5092 * process.c (wait_reading_process_input): Check for pending
5093 input when running timers.
5094
78555fbe
EZ
50952000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5096
52283633 5097 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5098
b2b36264
KH
50992000-12-18 Kenichi Handa <handa@etl.go.jp>
5100
5101 * process.c (read_process_output): Don't run a filter if the code
5102 decoder produces nothing but carryover.
5103
9c543fbf
AI
51042000-12-17 Andrew Innes <andrewi@gnu.org>
5105
5106 * w32.c (sys_rename): Only check errno against EEXIST, and not
5107 EACCES, when determining whether rename failed because the target
5108 exists. This was resulting in indefinite looping on Windows 9x if
5109 the source file was locked by another process.
5110
5111 * w32fns.c (Ffile_system_info): New function.
5112 (syms_of_w32fns): Defsubr it.
5113
10c2b5a8
GM
51142000-12-17 Gerd Moellmann <gerd@gnu.org>
5115
b0228ace
GM
5116 * window.c (coordinates_in_window): Fix computation for
5117 position on vertical line between mode lines.
5118
10c2b5a8
GM
5119 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5120 Don't alter tip_frame or tip_window.
5121 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5122 was deleted.
5123
c844a81a
GM
5124 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5125 Don't alter tip_frame or tip_window.
5126 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5127 was deleted.
5128
6c825f8e
EZ
51292000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5130
5131 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5132 be consistent with the doc string. Reported by NAKAJIMA Mikio
5133 <minakaji@osaka.email.ne.jp>.
5134
af4bb4c8
KH
51352000-12-16 Kenichi Handa <handa@etl.go.jp>
5136
5137 * xfaces.c (Vface_ignored_fonts): New variable.
5138 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5139 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5140
8062e53a
GM
51412000-12-15 Gerd Moellmann <gerd@gnu.org>
5142
e87b8809
GM
5143 * dispnew.c (update_window): Detect pending input every nth line
5144 updated, i.e. do it depending on real work done, and not on the
5145 vpos of the line.
5146
5147 * xterm.c (expose_window): Don't redraw the window that's
5148 currently being updated.
5149
a6768cc5
GM
5150 * window.c (Fset_window_point): Remove test for
5151 cursor_in_non_selected_windows.
5152
4ea7fdca
GM
5153 * lread.c (read1): Recognize end of file after `\\'.
5154
8062e53a
GM
5155 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5156 not unwind_create_frame.
5157
bb7959c1
GM
51582000-12-15 Dave Love <fx@gnu.org>
5159
5160 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5161 bcopy & al.
5162
5163 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5164
ced04c42
KH
51652000-12-15 Kenichi Handa <handa@etl.go.jp>
5166
c5443913
KH
5167 * coding.c (setup_coding_system): Clear all members of the struct
5168 coding_system at first.
bc137305
KH
5169 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5170 argument.
5171 (code_convert_region): Don't override coding->src_multibyte and
5172 coding->dst_multibyte.
c5443913 5173
ced04c42
KH
5174 * fns.c (Fmd5): Docstring improved.
5175
c2d7f289
MB
51762000-12-15 Miles Bader <miles@gnu.org>
5177
5178 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5179 are actually marked as mode-lines; otherwise use
5180 estimate_mode_line_height.
5181
9d7d9263
GM
51822000-12-14 Gerd Moellmann <gerd@gnu.org>
5183
5184 * editfns.c (Fformat): Prevent a buffer overrun when the format
5185 specifies a precision.
5186
7cf0153a
EZ
51872000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5188
5189 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5190 argument is outside the range [2..3].
5191
1de0f662
AI
51922000-12-14 Andrew Innes <andrewi@gnu.org>
5193
5194 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5195 nothing to do. Bind inhibit-quit.
5196 (tip_frame): Make it a Lisp_Object.
5197 (x_create_tip_frame): Set tip_frame after it has been added to
5198 Vframe_list.
5199 (Fx_show_tip): Don't set tip_frame here.
52283633 5200 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5201 (unwind_create_frame, unwind_create_tip_frame): New functions.
5202 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5203 while a frame is only partially constructed.
5204
5205 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5206 (x_free_frame_resources): New function.
5207 (x_destroy_window): Use it.
5208
02387dcc
GM
52092000-12-14 Gerd Moellmann <gerd@gnu.org>
5210
5211 * xfns.c (Fx_backspace_delete_keys_p): New function.
5212 (syms_of_xfns): Defsubr it.
5213
5214 * config.in (HAVE_XKBGETKEYBOARD): Add.
5215
0544ef49
KH
52162000-12-14 Kenichi Handa <handa@etl.go.jp>
5217
98d62747
KH
5218 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5219 Always store string in multibyte representation in echobuf.
5220 (echo_char): Always store string in multibyte representation in
5221 echobuf.
5222 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5223 (read_key_sequence): Adjusted for the change of echo_prompt.
5224
a20193cd
KH
5225 * fns.c (Fmd5): Docstring improved.
5226
191b83b6
KH
5227 * lisp.h (detect_coding_system): Prototype adjusted.
5228
0544ef49
KH
5229 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5230 (detect_coding_emacs_mule, detect_coding_iso2022,)
5231 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5232 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5233 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5234 (detect_coding_mask, detect_coding_system): New argument
5235 MULTIBYTEP. Callers changed.
1da1bb05
KH
5236 (decode_coding_string): Set coding->src_multibyte and
5237 coding->dst_multibyte before calling detect_coding and detect_eol.
5238 Update them after some coding system is detected.
52283633 5239
d5b3eb1b
SM
52402000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5241
5242 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5243
5244 * keyboard.c (menu_bar_items, tool_bar_items):
5245 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5246
f7f8bb69
GM
52472000-12-13 Gerd Moellmann <gerd@gnu.org>
5248
52283633 5249 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5250 New variables.
5251 (unwind_create_frame, unwind_create_tip_frame): New functions.
5252 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5253 while a frame is only partially constructed.
5254
5255 * xterm.h (x_free_frame_resources): Declare.
5256
5257 * xterm.c (x_free_frame_resources): New function.
5258 (x_destroy_window): Use it.
5259
e10da507
GM
5260 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5261 don't interrupt the update for pending input initially, i.e.
5262 update at least some lines.
5263
5264 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5265
d5b3eb1b 5266 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5267
5268 * xfns.c (gray_bitmap_bits): Declare `char *'.
5269
90aa2856
GM
52702000-12-12 Gerd Moellmann <gerd@gnu.org>
5271
5272 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5273 lines start with a relief line.
5274
a308c9cd
DL
52752000-12-12 Dave Love <fx@gnu.org>
5276
5277 * window.c (Fdisplay_buffer): Doc fix.
5278 (Fwindow_list): Remove unused var.
5279
5280 * buffer.h (mmap_set_vars): Declare.
5281
5282 * window.h (Fset_window_point): Declare.
5283
d575011f
EZ
52842000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5285
bf6282d2 5286 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5287 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5288 variable `area'. When looking for a row under (X,Y), give up if some
5289 of the previous rows is not enabled.
d575011f 5290
ecf4d726
GM
52912000-12-12 Gerd Moellmann <gerd@gnu.org>
5292
2ebf6139
GM
5293 * window.c (Fset_window_point): If displaying cursors in windows
5294 other than the selected window, make sure redisplay updates
5295 other windows to show the new value of point in the window.
5296
5297 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5298
bfdb75ee
GM
5299 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5300 the buffer is the sole visible buffer when in the mini-buffer.
5301
52283633 5302 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5303 Bind `inhibit-read-only' to t.
5304 (unwind_with_echo_area_buffer): Use AREF.
5305
c0006262
GM
5306 * xfns.c (Fx_hide_tip): Simplified.
5307
52283633
SM
5308 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5309 instead of `1'.
e9a59cad 5310
ecf4d726
GM
5311 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5312
e5959a9a
GM
53132000-12-11 Gerd Moellmann <gerd@gnu.org>
5314
a3642e49 5315 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5316
44b5a125
GM
5317 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5318 nothing to do. Bind inhibit-quit.
5319 (tip_frame): Make it a Lisp_Object.
5320 (x_create_tip_frame): Set tip_frame after it has been added to
5321 Vframe_list.
5322 (Fx_show_tip): Don't set tip_frame here.
5323
5324 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5325
5326 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5327 Lisp_Object.
5328
5329 * dispextern.h: Change external declaration of tip_frame.
5330
d990421f
GM
5331 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5332 return an empty string.
5333
4db87380
GM
5334 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5335 of the window's update_mode_line flag, since the former is set by
5336 force-mode-line-update, not the latter. This makes
5337 column-number-mode slightly faster.
52283633 5338
e5959a9a
GM
5339 * xdisp.c (try_window_id) <all changes above window start>:
5340 Set the cursor.
5341
169fe44e
GM
53422000-12-11 Paul Eggert <eggert@twinsun.com>
5343
5344 * config.in (HAVE_FTELLO): Remove.
5345 (HAVE_FSEEKO): Add.
5346 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5347 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5348 HAVE_FTELLO.
5349 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5350 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5351
59ec59ae
MB
53522000-12-11 Miles Bader <miles@gnu.org>
5353
5354 * window.c (displayed_window_lines): Don't round up when
5355 converting empty space at bottom to lines.
ff904dd6
MB
5356 Handle non-newline-terminated final lines properly.
5357 (Fwindow_text_height): New function (used to be in lisp).
5358 (syms_of_window): Initialize it.
59ec59ae 5359
42ebfa31
SM
53602000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5361
5362 * syntax.c (scan_lists): Check that the right quote char has the
5363 right Sstring syntax when jumping over strings.
5364 (init_syntax_once): Use Smax rather than 13.
5365
5cdb3cf3
MB
53662000-12-09 Miles Bader <miles@gnu.org>
5367
5368 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5369 with PARTIALLY, inverting the sense.
5370 (window_scroll_pixel_based): Scroll partially visible lines into
5371 place if we hit the beginning or end of the buffer.
a12167c5
MB
5372 (displayed_window_lines): Don't include partially visible lines.
5373 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5374
842b2a94
GM
53752000-12-08 Gerd Moellmann <gerd@gnu.org>
5376
5377 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5378
5379 * tparam.c (tparam1): Change the way buffers are reallocated to be
5380 portable and less obfuscated.
5381
5382 * termcap.c (tgetent): Change the way buffers are reallocated to
5383 be portable and less obfuscated.
5384
5385 * macros.c (store_kbd_macro_char): Change the way buffers are
5386 reallocated to be portable and less obfuscated.
5387
5388 * lread.c (read1): Change the way buffers are reallocated to be
5389 portable and less obfuscated.
5390
5391 * doc.c (Fsubstitute_command_keys): Change the way buffers
5392 are reallocated so that it is portable.
5393
137cad7c
EZ
53942000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5395
5396 * dosfns.c (Ffile_system_info): New function.
5397 (syms_of_dosfns): Defsubr it.
5398
5c7f629c
SM
53992000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5400
5401 * alloc.c (gc_sweep): Add comment.
5402
959e647d
GM
54032000-12-07 Gerd Moellmann <gerd@gnu.org>
5404
52283633
SM
5405 * sound.c (vox_configure): Change order of ioctls.
5406 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5407 Ignore errors when changing volume.
5408 (vox_close): Don't reset the device.
5409
926b7e5e
GM
5410 * process.c (read_process_output): Make sure the process marker's
5411 position is valid when the process buffer is changed in
5412 after-change functions. W3 does that.
52283633 5413
959e647d
GM
5414 * xfns.c (x_free_gcs): New function.
5415
5416 * xterm.h (x_free_gcs): Add prototype.
5417
5418 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5419 freeing GCs here.
5420
5421 * xterm.c (x_destroy_window): Call x_free_gcs so that
5422 resources of non-toolkit X windows will be freed.
5423
478ea067
AI
54242000-12-07 Andrew Innes <andrewi@gnu.org>
5425
5426 * w32fns.c (xlfd_charset_of_font): Fix last change.
5427
fbee3231
DL
54282000-12-06 Dave Love <fx@gnu.org>
5429
67292061
DL
5430 * md5.h (__P): Don't define -- it comes from config.h.
5431
fbee3231
DL
5432 * strftime.c: Change some #if foo to #ifdef foo.
5433
4ee87dbb
AI
54342000-12-06 Andrew Innes <andrewi@gnu.org>
5435
5436 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5437
52283633 5438 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5439 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5440 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5441
9765b4a4
GM
54422000-12-06 Gerd Moellmann <gerd@gnu.org>
5443
d285b373
GM
5444 * alloc.c (gc_sweep): Prevent symbols read during loadup
5445 from being freed.
5446
384333ee
GM
5447 * xdisp.c (underlying_face_id): New function.
5448 (handle_face_prop, face_before_or_after_it_pos): Use it
5449 to determine the face ``under'' a string. Let strings inherit
5450 the face of the buffer under them.
5451
5452 * xfaces.c (face_at_string_position): Update function comment.
52283633 5453
d4b72d58
GM
5454 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5455 matrix if the window's left position has changed; we need to
5456 redraw it in this case.
5457
5458 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5459
e1d05387
GM
5460 * window.c (coordinates_in_window): Check mouse on mode-line or
5461 header-line first.
5462
eb1b0c74
GM
5463 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5464 advertized by the function documentation.
5465
d94d636f
GM
5466 * window.c (syms_of_window): Doc fix.
5467
3887b449
GM
5468 * sound.c (vox_configure): Set volume for left and right channel.
5469 (sound_cleanup): Return nil.
5470
efc8f57a
GM
5471 * xdisp.c (move_it_by_lines): Fix paren typo.
5472
9765b4a4
GM
5473 * xterm.c (x_load_font): Don't use the font's max_bounds for
5474 computing the height of the font. If max_bounds' ascent or
5475 descent are greater than the font's ascent or descent, this means
5476 glyphs overlap, which should be handled now by redisplay.
5477
6529ed87
GM
5478 * window.c (Veven_window_heights): New variable.
5479 (syms_of_window): DEFVAR_LISP it.
5480 (Fdisplay_buffer): Check Veven_window_heights before evening the
5481 window heights.
52283633 5482
0eb2ecde
MB
54832000-12-06 Miles Bader <miles@gnu.org>
5484
5485 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5486 update `default-frame-alist' instead of setting no frame parameters.
5487
03d7a167
KH
54882000-12-06 Kenichi Handa <handa@etl.go.jp>
5489
5490 * composite.c (update_compositions): Fix typo (use the correct
5491 variable).
5492
5f8803c2
JR
54932000-12-05 Jason Rumney <jasonr@gnu.org>
5494
5495 * md5.h: Remove underscores from function declarations.
5496 (__attribute__, __alignof__) [!__GNUC__]: Define.
5497
5498 * md5.c: Delay include of md5.h until after namespace cleaning.
5499
c28a075b
JR
5500 * makefile.w32-in (fns.o): Depend on md5.h
5501 (md5.o): New target.
5502 (sunfns.o): Remove.
5503
5504 * makefile.nt: Likewise.
5505
ff3c7056
JR
55062000-12-05 Jason Rumney <jasonr@altavista.net>
5507
5508 * w32term.c (expose_area): Complete last change.
5509
0c21eeeb
KR
55102000-12-05 Ken Raeburn <raeburn@gnu.org>
5511
5512 * minibuf.c: Include intervals.h.
5513
f201d732
JR
55142000-12-05 Jason Rumney <jasonr@gnu.org>
5515
5516 * w32term.c (x_produce_glyphs): If a font for a component of
5517 a composition is not found, use 1 pixel dot ascent and 0 dot
5518 descent value to avoid displaying terribly tall empty boxes.
5519 (expose_area): Pass x-coordinate relative to the exposed
5520 area to x_draw_glyphs instead of a window-relative coordinate.
5521
21999ab9
GM
55222000-12-05 Gerd Moellmann <gerd@gnu.org>
5523
4d2036e4
GM
5524 * xdisp.c (next_element_from_ellipsis): Save face before selective
5525 display in saved_face_id, and set face_before_selective_p.
5526 (reseat_1): Reset face_before_selective_p.
5527 (append_space, extend_face_to_end_of_line): If iterator's
5528 face_before_selective_p is set, use the face from saved_face_id.
5529 (extend_face_to_end_of_line): For tty frames, make sure to
5530 use the right face id when producing spaces at the end of
5531 the line.
5532
5533 * dispextern.h (struct it): Add face_before_selective_p.
5534
52be17cc
GM
5535 * keyboard.c (record_char): Don't record identical help-echo
5536 events in recent_keys.
5537
8a4f36cc
GM
5538 * xterm.c [USE_X_TOOLKIT]: Close the display.
5539 (xim_close_dpy): Handle case that the display has been closed.
5540
57d6e381
GM
5541 * xterm.c (x_destroy_window): Reset the frame's X window after
5542 destroying it.
5543
21999ab9
GM
5544 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5545 variable window_width.
5546 (line_draw_cost): Fix code skipping over spaces at the end of the
5547 line when must_write_spaces is not set.
5548 (scrolling_window): Fix code inserting runs in list of all runs.
5549
91372bb7
KH
55502000-12-05 Kenichi Handa <handa@etl.go.jp>
5551
5552 * coding.c (setup_coding_system): Be sure to initialize
5553 coding->category_idx.
5554
6c083b4c
GM
55552000-12-04 Gerd Moellmann <gerd@gnu.org>
5556
0c68ce6f 5557 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5558
6452929e
GM
5559 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5560 area to x_draw_glyphs instead of a window-relative coordinate.
5561
d7f31e22
GM
5562 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5563 error in the message.
5564
ae18aa3b
GM
5565 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5566 timer after having read a key. It's not good for code reading
5567 several keys in a loop, like an input method.
5568
caa15ef7
GM
5569 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5570 record undo information for format-decode.
5571
5572 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5573 current buffer is read-only, not if it isn't.
5574
6c083b4c
GM
5575 * keyboard.c (record_char): Record `help-echo' input events
5576 in recent_keys only if they display some help. Don't record
5577 `help-echo' events as macro char.
5578
caa15ef7
GM
55792000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5580
5581 * editfns.c (save_excursion_restore): Don't move point
5582 in another window if it is showing the wrong buffer.
5583 Avoid the call to Fwindow_live_p, for speed.
5584
5a13529b
KH
55852000-12-04 Kenichi Handa <handa@etl.go.jp>
5586
e225faa7
KH
5587 * xfaces.c (struct font_name): New member registry_priority.
5588 (split_font_name): Initialize the above member to zero.
5589 (concat_font_list): New function.
5590 (font_list): Include fonts of all alternative registries.
5591 (FONT_POINT_SIZE_QUANTUM): New macro.
5592 (better_font_p): Ignore point size difference less than
5593 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5594
e89648b4
KH
5595 * xterm.c (x_produce_glyphs): If a font for a component of
5596 a composition is not found, use 1 pixel dot ascent and 0 dot
5597 descent value to avoid displaying terribly tall empty boxes.
5598
5a13529b
KH
5599 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5600
d7935eb6
KR
56012000-12-03 Ken Raeburn <raeburn@gnu.org>
5602
5603 * coding.h (code_convert_string1): Declare.
5604
5605 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5606
52283633 5607 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5608
0dd5e255
JR
56092000-12-02 Jason Rumney <jasonr@gnu.org>
5610
5611 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5612 correctly for single byte character case.
5613 (w32_per_char_metric): Do not try to make any assumptions about
5614 the metrics of BDF fonts.
250cfece 5615 (x_estimate_mode_line_height): If `mode-line' face
52283633 5616 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5617 (note_mouse_highlight): Change the cursor shape on the vertical
5618 border between windows [not enabled].
5619
5620 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5621
5622 * w32fns.c (Fx_create_frame): Reintroduce the call to
5623 face-set-after-frame-defaults.
5624 (Vx_window_horizontal_drag_shape): New variable.
5625 (syms_of_xfns): DEFVAR_LISP it.
5626 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5627 enabled].
0dd5e255 5628
b5d8d2ca
GM
56292000-12-02 Simon Josefsson <simon@josefsson.org>
5630
5631 * fns.c (Fmd5): Use a different logic to decide the coding system
5632 to use.
5633
5634 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5635
fbb87147
EZ
56362000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5637
52283633 5638 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5639
447e9da0
GM
56402000-12-01 Gerd Moellmann <gerd@gnu.org>
5641
7708ced0
GM
5642 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5643 height for YNegative.
5644 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5645 height; also see comment there.
5646
447e9da0
GM
5647 * window.c (coordinates_in_window): Handle computations for
5648 positions on the vertical bar and fringes differently for
5649 window-system frames. Consider some pixels near the vertical bar
5650 as on the bar if the frame doesn't have vertical scroll bars.
5651 Associate positions between mode or header lines with the
5652 right window, the left one.
5653
86d1db20
JR
56542000-12-01 Jason Rumney <jasonr@gnu.org>
5655
5656 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5657
5658 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
5659 invalid frame.
5660
a1d58e5b
GM
56612000-12-01 Gerd Moellmann <gerd@gnu.org>
5662
52283633 5663 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
5664 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
5665 (save_window_save, Fset_window_configuration): Save/restore
5666 window's orig_top and orig_height.
5667
89c609af
JR
56682000-12-01 Jason Rumney <jasonr@gnu.org>
5669
4d177746 5670 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 5671
89c609af
JR
5672 * w32fns.c (x_set_cursor_color): Fix last change.
5673
eccc05db
GM
56742000-11-30 Gerd Moellmann <gerd@gnu.org>
5675
31b6671b
GM
5676 * xdisp.c (echo_area_display): If cursor is in the echo area, make
5677 sure that the next redisplay displays the minibuffer, so that
5678 the cursor will be replaced with what the minibuffer wants.
5679
eccc05db
GM
5680 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
5681 #ifndef instead of using #if.
5682 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
5683 USE_TOOLKIT_SCROLL_BARS is defined.
5684
162de750
JR
56852000-11-30 Jason Rumney <jasonr@gnu.org>
5686
5687 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
5688 x_display_cursor.
5689
693c4692
GM
56902000-11-30 Gerd Moellmann <gerd@gnu.org>
5691
5692 * fns.c (Fmd5): Doc fix.
5693
b5d8d2ca 56942000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
5695
5696 * fns.c (Fmd5): New function.
5697 (syms_of_fns): Defsubr md5.
5698
5699 * Makefile.in (obj): Add md5.o
5700
b02cd40b
GM
57012000-11-30 Gerd Moellmann <gerd@gnu.org>
5702
edfb795e
GM
5703 * md5.h, md5.c: New files, taken from glibc.
5704
df3aedcf
GM
5705 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5706
b02cd40b 5707 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 5708 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 5709
8b5176cd
SM
57102000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5711
5712 * eval.c (Frun_hooks): Allow 0 arguments.
5713
346598f1
GM
57142000-11-29 Gerd Moellmann <gerd@gnu.org>
5715
f9396e03
GM
5716 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5717 is over the menu bar widget, say it's not on the frame.
5718
4a967a9b
GM
5719 * xfns.c (Fx_create_frame): Reintroduce the call to
5720 face-set-after-frame-defaults.
5721
346598f1
GM
5722 * eval.c (Fsignal): Reset handling_signal.
5723
222456a1
JR
57242000-11-28 Jason Rumney <jasonr@gnu.org>
5725
5726 * w32menu.c (add_menu_item): Reset menu item text when changing
5727 type to radio button.
5728
8049ddc0
GM
57292000-11-28 Gerd Moellmann <gerd@gnu.org>
5730
346598f1 5731 * xselect.c: Update copyright.
f4f4ee4d 5732
bebe4a2c
GM
5733 * window.c (coordinates_in_window): If on a mode or header line,
5734 but sufficiently close to its start, return ``on vertical
5735 border''. This gives us a way to drag windows horizontally when
5736 using toolkit scroll bars.
5737
5738 * xterm.c (note_mouse_highlight): Change the cursor shape
5739 on the vertical border between windows.
5740
5741 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5742
5743 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5744 (syms_of_xfns): DEFVAR_LISP it.
5745 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5746
8d2c2642
GM
5747 * textprop.c (text_read_only): New function.
5748 (verify_interval_modification): Use it instead of signaling
5749 `text-read-only'. This makes it easier to catch this error
52283633 5750 with a breakpoint.:
8d2c2642 5751
52283633 5752 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
5753 not end of line, which includes CR.
5754
5a2bae6c
KH
57552000-11-28 Kenichi Handa <handa@etl.go.jp>
5756
5757 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5758 include no-conversion.
5759
ae31f84d
JR
57602000-11-27 Jason Rumney <jasonr@gnu.org>
5761
5762 * w32fns.c (w32_load_system_font): Always mark font as double byte
5763 if codepage is unicode.
5764
67f1cf4c
GM
57652000-11-27 Gerd Moellmann <gerd@gnu.org>
5766
4a74d071 5767 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5768 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5769
902ae620
GM
5770 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5771 `vertical-line', `mode-line' and `header-line' events.
5772
5773 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5774 of a character, a TAB for instance. This is easier than to set
5775 up the iterator exactly, and it's not a frequent case, so the
5776 additional effort wouldn't really pay off.
5777
c1e279c2
AC
57782000-11-26 Andrew Choi <akochoi@i-cable.com>
5779
67f1cf4c 5780 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5781 init_window_once.
5782
a609568a
JR
57832000-11-25 Jason Rumney <jasonr@gnu.org>
5784
52283633
SM
5785 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5786 Args to window_from_coordinates should be pixel coordinates.
48b21762 5787
a609568a
JR
5788 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5789 redisplay handles them properly.
5790
a658d039
MB
57912000-11-25 Miles Bader <miles@gnu.org>
5792
5793 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5794
d3416cca
JR
57952000-11-24 Jason Rumney <jasonr@gnu.org>
5796
5797 * w32.c (init_environment): Set LANG environment variable based on
5798 locale settings, if not set.
5799
5800 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5801 making tool bar smaller. When clearing the frame, also
5802 clear current matrices. Clear frame when tool bar disappears.
5803 Don't use more lines for the tool-bar than is available.
5804 (x_change_window_heights): New function.
5805
ba193890
GM
58062000-11-24 Gerd Moellmann <gerd@gnu.org>
5807
2be8f184
GM
5808 * xdisp.c (init_from_display_pos): If POS says we're already after
5809 an overlay string ending at POS, make sure to pop the iterator
5810 because it will be in front of that overlay string. When POS is
5811 ZV, we've thereby also ``processed'' overlay strings at ZV.
5812
ba193890
GM
5813 * xfaces.c (lface_from_face_name): Function comment fix.
5814
1862a24e
MB
58152000-11-24 Miles Bader <miles@gnu.org>
5816
5817 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5818 apply `mode-line-inverse-video' -- zero means force display using
5819 the default face, non-zero means display using the specialized face.
5820 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5821
f07fa1b8
KH
58222000-11-23 Kenichi Handa <handa@etl.go.jp>
5823
5824 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5825 hard coded `4'.
5826
2bcdf662
EZ
58272000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5828
5829 * coding.c (decode_coding_emacs_mule): Fix the case of
5830 CODING_EOL_LF, which used uninitialized value of c.
5831
ba8299ff
SM
58322000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5833
5834 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5835
f4117c4d
GM
58362000-11-22 Gerd Moellmann <gerd@gnu.org>
5837
03e757c1
GM
5838 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5839 buffer object.
5840
f4117c4d
GM
5841 * frame.h (struct frame): Replace desired_tool_bar_items,
5842 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 5843 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
5844
5845 * frame.c (make_frame): Change initialization of tool bar
5846 items accordingly.
5847
5848 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 5849 Change references to members deleted from struct frame to use the
f4117c4d
GM
5850 new ones.
5851
5852 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 5853 references to members deleted from struct frame to use the new ones.
f4117c4d 5854
52283633 5855 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
5856
5857 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
5858
5859 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 5860 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
5861 from struct frame to use the new ones.
5862
f8e2f3f2
MB
58632000-11-23 Miles Bader <miles@gnu.org>
5864
5865 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
5866 the face's inverse-video attribute, rather than overriding it.
5867
60e8e0a5
GM
58682000-11-22 Gerd Moellmann <gerd@gnu.org>
5869
5870 * xfns.c (x_set_tool_bar_lines): Clear internal border when
5871 making tool bar smaller.
5872
92dd1b29
DL
58732000-11-22 Dave Love <fx@gnu.org>
5874
5875 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
5876
e672fdce
MB
58772000-11-22 Miles Bader <miles@gnu.org>
5878
3a17d6cc
MB
5879 * keyboard.c (Vminibuffer_message_timeout): New variable.
5880 (command_loop_1): Use it to determine message timeout.
5881 (syms_of_keyboard): Initialize it.
5882
60e8e0a5 5883 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 5884
e9655d81
KH
58852000-11-22 Kenichi Handa <handa@etl.go.jp>
5886
5887 * sysdep.c: Move the code for declaring h_errno after #include
5888 <netdb.h>.
5889
77270fac
GM
58902000-11-21 Gerd Moellmann <gerd@gnu.org>
5891
cd913aae
GM
5892 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5893 the menu bar when the tooltip is unmapped.
5894
77270fac
GM
5895 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5896 sole visible buffer when we're currently in the mini-buffer, and
5897 give up if so.
52283633 5898
556635d6
JR
58992000-11-21 Jason Rumney <jasonr@gnu.org>
5900
5901 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5902 put on the clipboard.
5903 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5904 copy of what Emacs last put there. If they are the same, do not
52283633 5905 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5906
5b7bde64
MB
59072000-11-22 Miles Bader <miles@gnu.org>
5908
5909 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5910 (syms_of_minibuf): Initialize it.
5911 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5912 to prompt, don't make read-only.
5913
ff23e1dd
GM
59142000-11-21 Gerd Moellmann <gerd@gnu.org>
5915
52283633
SM
5916 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5917 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5918
7aaf4388
GM
5919 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5920
f5f47add 5921 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5922
ff23e1dd
GM
5923 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5924
37c35586
KH
59252000-11-21 Kenichi Handa <handa@etl.go.jp>
5926
5927 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5928 ... #endif scope.
5929
ff9ab414
GM
59302000-11-20 Gerd Moellmann <gerd@gnu.org>
5931
52283633 5932 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5933 screen supports it.
5934
29a01b72
GM
5935 * s/gnu-linux.h: Don't use `#cpu'.
5936
09dfdf85
GM
5937 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5938 not defined in mman.h.
5939
52283633 5940 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5941 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5942 and store an index in the XClientMessageEvent. Storing a
5943 Lisp_Object or pointer can fail on a 64 bit system, since X only
5944 transfers 32 bits.
52283633
SM
5945 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5946
81459ac9
DL
59472000-11-20 Dave Love <fx@gnu.org>
5948
5949 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5950
56c13ae6
GM
59512000-11-20 Gerd Moellmann <gerd@gnu.org>
5952
5953 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5954
495a6df3
KH
59552000-11-20 Kenichi Handa <handa@etl.go.jp>
5956
2bcf3714
KH
5957 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5958 by WIDTH.
5959
495a6df3
KH
5960 * alloc.c (make_string): Fix previous change. Be sure to make
5961 unibyte string correctly.
5962
6d950f4c
GM
59632000-11-19 Gerd Moellmann <gerd@gnu.org>
5964
39b39373
GM
5965 * window.c (Fwindow_list): Change parameter list to be XEmacs
5966 compatible.
5967 (window_list_1): New function.
5968 (window_loop): Use it instead of Fwindow_list.
5969
b95b34e5
GM
5970 * sysdep.c (emacs_ospeed): New variable.
5971 (toplevel): Don't declare ospeed extern.
5972 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5973
5974 * termcap.c (ospeed): Remove.
5975 (tputs) [!emacs]: Remove unused code.
5976 (tgetent): Avoid a compiler warning.
5977
e83dc917
GM
5978 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
5979 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 5980 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
5981
5982 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
5983 removed.
5984 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
5985 Take the X display as additional argument.
5986 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
5987 `Widget' is a pointer type that's not easily stored in Lisp_Object
5988 form in a portable way.
52283633 5989
6d950f4c
GM
5990 * dispnew.c (update_text_area): Fix last change.
5991
e47306e6
GM
59922000-11-18 Gerd Moellmann <gerd@gnu.org>
5993
fb3cd89b
GM
5994 * xdisp.c: Use BINDING_STACK_SIZE throughout.
5995
5996 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
5997 clear current matrices.
5998
edaa9aed
GM
5999 * buffer.c (mmap_enlarge): Don't print a message on stderr
6000 if mapping new memory at the end of the existing region fails.
6001
e47306e6
GM
6002 * dispnew.c (update_text_area): Don't skip over equal glyphs
6003 when the last current glyph overlaps the glyph to its right.
6004
509633e3
MB
60052000-11-18 Miles Bader <miles@gnu.org>
6006
6007 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6008 lines that *end* with "..." too (that's the most common case!).
6009
d392e9c5
GM
60102000-11-18 Gerd Moellmann <gerd@gnu.org>
6011
67988445
GM
6012 * xdisp.c (resize_mini_window): Temporarily change to the
6013 mini-window's buffer if necessary.
1bfdbe43 6014
d392e9c5
GM
6015 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6016 the tooltip obscures less text under it.
6017
60182000-11-17 Gerd Moellmann <gerd@gnu.org>
6019
6020 * puresize.h (BASE_PURESIZE): Increase to 700000.
6021
92bb977f
JR
60222000-11-18 Jason Rumney <jasonr@gnu.org>
6023
6024 * w32term.c (w32_draw_bitmap): Use face to set colors.
6025
26fbf20b
DL
60262000-11-17 Dave Love <fx@gnu.org>
6027
6028 * lread.c (Fload): Fix #ifdef for pcc.
6029
100b593b
GM
60302000-11-17 Gerd Moellmann <gerd@gnu.org>
6031
6032 * xdisp.c (pos_visible_p): Compute the default character height
6033 differently.
6034
a288d0d1
GM
60352000-11-16 Gerd Moellmann <gerd@gnu.org>
6036
cac94de6 6037 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6038 knowing the line's height; use the default font's height in that case.
cac94de6 6039
a288d0d1
GM
6040 * xfaces.c (weight_table): Add `demi' with the same meaning as
6041 `demibold'.
6042
981fb6f6
KH
60432000-11-16 Kenichi Handa <handa@etl.go.jp>
6044
2cca872d 6045 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6046 (clear_glyph_row): Delete local static variable null_row.
6047
e5fa381b
JR
60482000-11-15 Jason Rumney <jasonr@gnu.org>
6049
6050 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6051 (w32_alloc_lighter_color): Use new brightness calculations from
6052 xterm.c. Scale delta to be in the range expected by W32.
6053 (w32_draw_relief_rect): Use frame relief colors.
6054
8e42f043
GM
60552000-11-15 Gerd Moellmann <gerd@gnu.org>
6056
6d133d1f
GM
6057 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6058 (Qinhibit_default_face_x_resources): New variable.
6059 (syms_of_frame): Initialize it.
6060 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6061
6062 * xdisp.c (pos_visible_p): Improve function comment.
6063
6064 * lisp.h (BINDING_STACK_SIZE): New macro.
6065
8e42f043
GM
6066 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6067 reading the directory if readdir returns null and errno is EAGAIN
6068 or EINTR.
6069
e8c87124
SM
60702000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6071
6072 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6073 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6074 Set amount_to_scroll to max of dx and scroll_step so that
6075 scroll-conservatively doesn't defeat scroll-step>1.
6076 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6077 scroll-conservatively for line-at-a-time scrolling.
6078
5f0c971d
GM
60792000-11-14 Gerd Moellmann <gerd@gnu.org>
6080
6081 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6082 extra argument.
6083
6084 * xdisp.c (current_mode_line_height, current_header_line_height):
6085 New variables.
6086 (init_xdisp): Initialize them.
6087 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6088 and use exact mode line heights if it is set.
6089
6090 * lisp.h (pos_visible_p): Change prototype.
6091
6092 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6093 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6094 and current_header_line_height first.
52283633
SM
6095 (current_mode_line_height, current_header_line_height):
6096 Declare extern.
5f0c971d 6097
d7361edf
MB
60982000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6099
6100 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6101 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6102 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6103
ee5e440a
MB
61042000-11-14 Miles Bader <miles@gnu.org>
6105
6106 * xterm.c (x_alloc_lighter_color): Include an additive component
6107 too for dark colors, because FACTOR isn't enough.
6108 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6109 New macros.
6110
5ca020fc
GM
61112000-11-13 Gerd Moellmann <gerd@gnu.org>
6112
6113 * keyboard.c (show_help_echo): Call message3_nolog with number of
6114 bytes in the help string as 2nd parameter, instead of the number
6115 of characters.
6116
9d348294
MB
61172000-11-13 Miles Bader <miles@gnu.org>
6118
6119 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6120 (Fload): Use new openp return protocol.
6121 Don't try to use Vload_source_file_function to load .elc files.
6122 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6123 openp return protocol.
6124 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6125
1729bb9a
KH
61262000-11-11 Kenichi Handa <handa@etl.go.jp>
6127
4e677396
KH
6128 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6129
6130 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6131 Defined these macros.
6132 (NLIST_STRUCT): Avoid re-defining it.
6133
1729bb9a
KH
6134 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6135 -I/usr/contrib/X11R6/include.
6136 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6137
a82fe213
JR
61382000-11-10 Jason Rumney <jasonr@gnu.org>
6139
6140 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6141
6142 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6143 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6144
6145 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6146 (Qw32_charset_vietnamese): New symbol.
6147 (xlfd_charset_of_font): New function.
6148 (w32_load_system_font): Use it.
6149 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6150 when Vw32_charset_info_alist is nil to ensure default face always
6151 has font. Use Fcar and Fcdr for safety.
6152 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6153 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6154 pseudo-codepages for special cases.
6155 (w32_to_x_font): New parameter to allow charset portion to be
6156 specified where there is many to one mapping. Callers changed.
6157 (w32_list_fonts): Avoid listing fonts that won't display.
6158
52d89894
GM
61592000-11-10 Gerd Moellmann <gerd@gnu.org>
6160
6161 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6162 (font_list_1): Renamed from font_list.
6163 (font_list): New function, trying alternative registries from
6164 Vface_alternative_font_registry_alist.
6165 (Finternal_set_alternative_font_registry_alist): New function.
6166 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6167 Vface_alternative_font_registry_alist.
6168 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6169
651cd3da
KR
61702000-11-09 Ken Raeburn <raeburn@gnu.org>
6171
6172 * lisp.h (Flooking_at): Declare.
6173
388ac098
GM
61742000-11-09 Gerd Moellmann <gerd@gnu.org>
6175
778fbc46 6176 * dired.c (directory_files_internal): Fix a braino.
52283633 6177
388ac098
GM
6178 * dired.c (directory_files_internal): Add missing GCPRO's.
6179 Some cleanup.
6180
ecaedde1
GM
61812000-11-08 Gerd Moellmann <gerd@gnu.org>
6182
f7eb32aa
GM
6183 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6184 (resize_mini_window): Return quickly if Vresize_mini_window is
6185 nil. Don't return if Vmax_mini_window_height is nil.
6186
6187 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6188 (syms_of_xdisp): Initialize them.
6189 (resize_mini_window): Act according to the setting of
6190 Vresize_mini_window.
6191 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6192
ecaedde1
GM
6193 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6194 scroll bar widget after configuring it, so that it will appear at
6195 the right position from the start.
6196 (XTredeem_scroll_bar): Cleaned up.
6197
3747ef2c
KH
61982000-11-08 Kenichi Handa <handa@etl.go.jp>
6199
6200 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6201 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6202 division by two.
6203
6204 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6205
03391420
DL
62062000-11-07 Dave Love <fx@gnu.org>
6207
7758f1c1 6208 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6209
6210 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6211
b5de343d
GM
62122000-11-07 Gerd Moellmann <gerd@gnu.org>
6213
acad3c0b
GM
6214 * window.c (Fset_window_configuration): Don't try to preserve
6215 point in the current buffer, if that buffer is displayed in more
6216 than one window.
6217
b5de343d
GM
6218 * xfaces.c (lookup_named_face): If default face isn't realized,
6219 try to realize it. Return -1 if not successful.
6220 (Fx_list_fonts): Handle case that face cannot be determined.
6221 (Fface_font): Likewise.
6222
cdb1fe49
GM
62232000-11-06 Gerd Moellmann <gerd@gnu.org>
6224
6225 * window.c (displayed_window_lines): Detect partially
6226 visible lines at the bottom correctly.
6227
d3a67486
SM
62282000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6229
6230 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6231 when ensuring we don't do visit in indirect buffer.
6232
ff8dd5d5
KH
62332000-11-06 Kenichi Handa <handa@etl.go.jp>
6234
6235 * composite.h (compose_chars_in_text): Add prototype.
6236
6237 * composite.c (Vcomposition_function_table): New variable.
6238 (Qcomposition_function_table): New variable.
6239 (run_composition_function): Call
6240 Vcompose_chars_after_function with three arguments.
6241 (compose_chars_in_text): New function.
6242 (syms_of_composite): Modified the doc-string of
6243 Vcompose_chars_after_function. Declare composition-function-table
6244 as a lisp variable, and initialize it.
6245
6246 * xfns.c (x_encode_text): Suppress producing escape sequences for
6247 composition.
6248
6249 * xselect.c: Include composite.h.
6250 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6251
d1145f85
AI
62522000-11-05 Andrew Innes <andrewi@gnu.org>
6253
6254 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6255
6256 * sysdep.c (read_input_waiting): Remove extraneous argument to
6257 read_socket_hook.
6258
6259 * w32fns.c (Fx_server_version): Include w32_build_number in the
6260 return list.
6261
6262 * w32heap.c (w32_build_number): New variable.
6263 (cache_system_info): Set it.
6264
6265 * w32heap.h (w32_build_number): Add extern.
6266
6267 * emacs.c (syms_of_emacs): Update docstring for
6268 system-configuration, to reflect the actual usage on MS-Windows.
6269
e85ee976
GM
62702000-10-31 Gerd Moellmann <gerd@gnu.org>
6271
26dcb81b
GM
6272 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6273 process idle timers while waiting for another event.
6274
52283633 6275 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6276 the default face are colored.
6277
e85ee976
GM
6278 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6279 window height hasn't changed.
6280
01b220b6
JR
62812000-10-31 Jason Rumney <jasonr@gnu.org>
6282
6283 * w32term.c (x_produce_glyphs): Handle composite characters.
6284 (x_draw_glyph_string_foreground)
6285 (x_draw_composite_glyph_string_foreground): Restore old font.
6286
4e6b7204
MB
62872000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6288
6289 * minibuf.c (read_minibuf): Reset the undo history just before
6290 starting the recursive-edit.
6291
d4358b37
GM
62922000-10-30 Gerd Moellmann <gerd@gnu.org>
6293
563f68f1
GM
6294 * xfaces.c (menu_face_change_count): New variable.
6295 (Finternal_set_lisp_face_attribute): Increment it for changes
6296 of the `menu' face.
6297 (realize_basic_faces): Reflect changes in the `menu' faces
6298 in menu bars.
6299
82e274d1
GM
6300 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6301 dy obtained from the iterator's y-position after moving from
6302 scroll_margin_pos to PT; see comment there.
52283633 6303
0dbf9fd2
GM
6304 * xdisp.c (safe_eval_handler): Call add_to_log.
6305
906b3b14
GM
6306 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6307 is not a symbol or string.
6308
d4358b37
GM
6309 * xdisp.c (echo_area_display): Don't perform a display update from
6310 inside redisplay. The update will happen anyway at the end of
6311 redisplay, and it can confuse redisplay (GC messages while
6312 redisplaying, for instance.)
6313
70c825df
SM
63142000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6315
cf9b4b0b
SM
6316 * xrdb.c (x_load_resources): Use the class name in the defaults.
6317
70c825df
SM
6318 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6319 (regex_compile): Catch bogus \(\1\).
6320
a1d34b1e
GM
63212000-10-30 Gerd Moellmann <gerd@gnu.org>
6322
cae71efe
GM
6323 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6324 RGB values.
52283633 6325
35efe0a1
GM
6326 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6327 we have a color cache, check that the cached color equals the
6328 allocated color. If not, clear the color cache.
6329
1d3baf74
GM
6330 * window.c (displayed_window_lines): Change buffers if necessary.
6331 Fix computation of displayed lines.
6332
a1d34b1e
GM
6333 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6334 update_menu_bindings to DEFVAR_BOOL.
6335
70737ea9
KH
63362000-10-30 Kenichi Handa <handa@etl.go.jp>
6337
70c825df 6338 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6339
fa0cb51d
KH
6340 * puresize.h (BASE_PURESIZE): Increase to 680000.
6341
70737ea9
KH
6342 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6343
0e4c08e8
JR
63442000-10-29 Jason Rumney <jasonr@gnu.org>
6345
6346 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6347
6348 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6349 (w32_cache_char_metrics): Handle possibility that 'x' does not
6350 exist in a BDF font.
6351 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6352
6353 * w32bdf.h (bdffont): Add nchars.
6354
6355 * w32bdf.c (set_bdf_font_info): Set it.
6356 (w32_BDF_TextOut): Swap byte order of double byte characters.
6357 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6358
45b84006
EZ
63592000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6360
6361 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6362 don't override the colors in frame's param_alist, unless they are
6363 unspecified.
6364
6365 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6366 reverse the effect of the highlight flag.
6367
caf9deee
KR
63682000-10-27 Ken Raeburn <raeburn@gnu.org>
6369
6370 * window.h (Fwindow_live_p): Declare.
6371
ae0b9b46
KR
6372 * undo.c (record_delete): Check that last_undo_buffer is really a
6373 buffer before applying XBUFFER to it.
6374
6375 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6376 Faref.
6377
02067692
SM
63782000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6379
6380 * lisp.h (KEYMAPP): New macro.
6381 (get_keymap): Remove.
6382 (get_keymap_1): Rename get_keymap.
6383
6384 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6385
6386 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6387
6388 * xmenu.c (single_submenu): Use KEYMAPP.
6389 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6390 Use KEYMAPP rather than Fkeymapp.
6391
6392 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6393
6394 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6395 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6396 Use KEYMAPP rather than Fkeymapp.
6397 (single_submenu): Use KEYMAPP.
6398 (w32_menu_show, w32_dialog_show): Use TRUE.
6399
6400 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6401
6402 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6403 (Fkeymapp): Use KEYMAPP.
6404 (get_keymap): Rename from get_keymap_1. Remove old def.
6405 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6406 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6407 (Fminor_mode_key_binding): Don't raise an error if the binding
6408 is not a keymap.
6409 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6410 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6411
6412 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6413 Allow Vspecial_event_map to be autoloaded.
6414 (menu_bar_items): Fetch the keymap rather than using keymapp.
6415 (menu_bar_one_keymap): No need to follow func-indirect any more.
6416 (parse_menu_item): get_keymap_1 -> get_keymap.
6417 (tool_bar_items): Fetch the keymap rather than using keymapp.
6418 (read_key_sequence): Use KEYMAPP.
6419
6420 * intervals.c (get_local_map): Use get_keymap rather than following
6421 function-indirections explicitly.
6422
6423 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6424
f9d80af3
JR
64252000-10-27 Jason Rumney <jasonr@gnu.org>
6426
6427 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6428 point, as Windows has oversized fonts.
6429
6430 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6431
a3ba27da
GM
64322000-10-27 Gerd Moellmann <gerd@gnu.org>
6433
6434 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6435 (freehook, reallochook): Handle null pointer arguments.
6436 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6437
aa3b80cc
SM
64382000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6439
6440 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6441 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6442 Giving in to popular pressure to shut up the compiler with casts.
6443
e24e84cc
GM
64442000-10-27 Gerd Moellmann <gerd@gnu.org>
6445
6446 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6447 signed value, and use a default value computed from the font's
6448 maximum descent.
6449
05ea7ef2
MB
64502000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6451
6452 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6453 that specify a negative underline position can still use underlines.
6454
6455 * window.c (Fpos_visible_in_window_p): Make POS default to
6456 WINDOW's point, not the current buffer's point.
6457
0b95284b
DL
64582000-10-26 Dave Love <fx@gnu.org>
6459
6460 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6461 when it's necessary.
6462
6c5b90af
GM
64632000-10-26 Gerd Moellmann <gerd@gnu.org>
6464
8b6d9dc9
GM
6465 * window.c (size_window): Compute size difference from sum of old
6466 child window sizes instead of from parent's size.
6467
6bc92b2e
GM
6468 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6469 Handle obscured lines at the top of the window.
6470
6471 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6472 down after the last error condition check.
6473
6c5b90af
GM
6474 * frame.c (Fdelete_frame): Run delete-frame-hook.
6475
42f92d4d
KH
64762000-10-26 Kenichi Handa <handa@etl.go.jp>
6477
6478 * coding.c (decode_coding): Fix previous change (check also
6479 CODING_MODE_LAST_BLOCK).
6480
d97151cb
SM
64812000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6482
e7efc503
SM
6483 * regex.c: More `unsigned char' -> `re_char' changes.
6484 Also change several `int' into `re_wchar_t'.
6485 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6486 (PUSH_FAILURE_POINTER): Don't cast any more.
6487 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6488 We want GCC to complain, since this piece of code makes
6489 re_match non-reentrant, which *should* be fixed.
6490 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6491 (EXTEND_BUFFER): Use RETALLOC.
6492 (SET_LIST_BIT): Don't cast.
6493 (re_wchar_t): New type.
6494 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6495 that those two functions will always properly return.
6496 (IMMEDIATE_QUIT_CHECK): Cast to void.
6497 (analyse_first): Use recursion rather than an explicit stack.
6498 (re_compile_fastmap): Can't fail anymore.
6499 (re_search_2): Don't check re_compile_fastmap for failure.
6500 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6501 Now also sets the new value (passed in a new argument).
6502 (re_match_2_internal): Use it.
6503 Also, use a new var `reg' of type size_t when looping through regs
6504 rather than reuse the inappropriate `mcnt'.
6505
d97151cb
SM
6506 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6507 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6508 (where_is_internal): Renamed from Fwhere_is_internal.
6509 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6510 (Fwhere_is_internal): New function wrapping where_is_internal.
6511 (where_is_internal_1): Handle the case where we're filling the cache.
6512 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6513
d5789b65
MB
65142000-10-25 Miles Bader <miles@gnu.org>
6515
6516 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6517
4ecda532
GM
65182000-10-25 Gerd Moellmann <gerd@gnu.org>
6519
6520 * window.c (pos_fully_visible_p): Removed.
6521 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6522 if position is visible and/or fully visible.
6523
6524 * lisp.h (pos_visible_p): Add prototype.
6525
6526 * xdisp.c (pos_visible_p): New function.
6527
68c3a137
KH
65282000-10-25 Kenichi Handa <handa@etl.go.jp>
6529
6530 * process.c (send_process): If OBJECT is t, it means that the data
6531 is from C string, but we should encode it. Before calling
6532 setup_raw_text_coding_system, be sure to flush out data by the
6533 previous coding system.
6534
7ae1c032
MB
65352000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6536
ff4dcd4b
MB
6537 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6538 assignment of startpos to prev when startpos == pos.
6539
7ae1c032
MB
6540 * editfns.c (find_field): Set the field stickiness correctly from
6541 overlay fields. Use renamed `text_property_stickiness'.
6542 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6543 Only check text properties, not overlays.
7ae1c032
MB
6544 * textprop.c (get_char_property_and_overlay): New function.
6545 (Fget_char_property): Use it.
6546 * intervals.h (get_char_property_and_overlay): Add declaration.
6547
49801145
SM
65482000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6549
6550 * keymap.c: Use AREF, ASET and ASIZE macros.
6551 (Fmake_sparse_keymap): Docstring fix.
6552 (synkey): Remove.
6553 (shadow_lookup): Move up.
6554 Handle the case where lookup-key returns an integer.
6555 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6556 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6557 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6558 Simplify/rewrite the keymap-finding code.
6559 Add check for command shadowing, using shadow_lookup.
6560
39e776cd
SM
65612000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6562
6563 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6564 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6565 a symbol.
6566
2488aba5
AI
65672000-10-24 Andrew Innes <andrewi@gnu.org>
6568
6569 * dired.c (directory_files_internal_unwind): New function.
6570 (directory_files_internal): Use it to ensure closedir is called
6571 even if expand-file-name or file-attributes throw, eg. because of
6572 a user interrupt. Also enable immediate_quit while calling
6573 re_search, so that matching can be interrupted as well.
6574
b94fdf61
AI
65752000-10-24 Andrew Innes <andrewi@gnu.org>
6576
6577 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6578 NT-Emacs only.
6579 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6580 so that re_search functions only quit when callers expect them to.
6581
65822000-10-24 Kenichi Handa <handa@etl.go.jp>
6583
6584 * regex.c (regex_compile): Change the way of handling a range from
6585 a char less than 256 to a char not less than 256.
6586
1946f901
GM
65872000-10-24 Gerd Moellmann <gerd@gnu.org>
6588
7ae2f10f
GM
6589 * window.c (size_window): Prevent setting window's width or
6590 height to a negative value (esp. with XSETFASTINT).
6591
5dcab13e
GM
6592 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6593 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6594 (protect_malloc_state) [GC_MALLOC_CHECK &&
6595 GC_PROTECT_MALLOC_STATE]: New function.
6596 (PROTECT_MALLOC_STATE): New macro.
6597 (__malloc_initialize, morecore, _malloc_internal)
6598 (_free_internal) _realloc_internal): Use it to make _heapinfo
6599 read-only outside of gmalloc.
6600
63e1b552
GM
6601 * keymap.c: Update copyright.
6602
1946f901
GM
6603 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6604 a symbol.
6605
4fa09beb
GM
66062000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6607
6608 * filelock.c (unlock_all_files): Use unlock_file to expand each
6609 buffer's file_truename before trying remove its lock file.
6610
23afac01
EZ
66112000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6612
6613 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6614 or CRLF, decode EOLs.
6615
04448b95
KH
66162000-10-24 Kenichi Handa <handa@etl.go.jp>
6617
6618 * window.c (Fdisplay_buffer): Fix doc.
6619
3090a5a5
JR
66202000-10-23 Jason Rumney <jasonr@gnu.org>
6621
6622 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6623 ASCII font of default fontset on Windows.
6624
6625 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6626 xterm.c comment below).
6627
6628 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6629
a83fee2c
GM
66302000-10-23 Gerd Moellmann <gerd@gnu.org>
6631
6632 * xterm.c (x_connection_closed): Reset handling_signal.
6633
52283633 6634 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6635
6ffdb539
MB
66362000-10-23 Miles Bader <miles@gnu.org>
6637
6638 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6639 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6640 maintain old behavior.
6641 * minibuf.c (Fminibuffer_complete): Likewise.
6642
7f1c969b
MB
66432000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6644
6645 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6646 that when a font can't be exactly centered, it errs up rather than
6647 down.
6648
23afac01 66492000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 6650
52283633 6651 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 6652
1a578e9b
AC
66532000-10-23 Andrew Choi <akochoi@i-cable.com>
6654
6655 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6656
6657 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 6658 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
6659
6660 * emacs.c (main) [macintosh]: Call syms_of_textprop,
6661 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
6662 syms_of_search, x_term_init, and init_keyboard before calling
6663 init_window_once. Also, call syms_of_xmenu.
6664
6665 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
6666 default fontset to Monaco.
6667
6668 * frame.c [macintosh]: Include macterm.h. Remove declarations of
6669 NewMacWindow and DisposeMacWindow.
6670 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
6671 instead of calling NewMacWindow and setting fields of
6672 f->output_data.mac directly. Call init_frame_faces.
6673 (Fdelete_frame) [macintosh]: Remove unused code.
6674 (Fmodify_frame_parameters) [macintosh]: Call
6675 x_set_frame_parameters instead of mac_set_frame_parameters.
6676
6677 * frame.h [macintosh]: Define menu_bar_lines field in struct
6678 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
6679
6680 * keyboard.c [macintosh]: Include macterm.h.
6681 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
6682 and menu_bar_activate_event type events as for X and NT.
6683 (make_lispy_event) [macintosh]: Construct lisp events of type
6684 MENU_BAR_EVENT as for X and NT.
6685
6686 * sysdep.c [macintosh]: Remove declaration for sys_signal.
6687 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
6688 (sys_subshell) [macintosh]: Remove definition entirely.
6689 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
6690 Vwindow_system_version here. Remove initialization of
6691 Vx_bitmap_file_path.
6692 (read_input_waiting): Correct the number of parameters passed to
6693 read_socket_hook.
6694 Move all Macintosh functions to mac/mac.c.
6695
6696 * term.c [macintosh]: Include macterm.h.
6697
6698 * window.c [macintosh]: Include macterm.h.
6699
6700 * xdisp.c [macintosh]: Include macterm.h. Declare
6701 set_frame_menubar and pending_menu_activation.
6702 (echo_area_display) [macintosh]: Do not return if terminal frame
6703 is the selected frame.
6704 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
6705 Allow only the selected frame to set menu bar.
6706 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6707 calling FRAME_EXTERNAL_MENU_BAR (f).
6708 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6709
6710 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6711 and check_x. Declare XCreateGC. Define x_create_gc and
6712 x_free_gc. Initialize font_sort_order.
6713 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6714 but call x_list_fonts instead of w32_list_fonts.
6715 (Finternal_face_x_get_resource) [macintosh]: Do not call
6716 display_x_get_resource.
6717 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6718 (realize_x_face) [macintosh]: Load the font if it is specified in
6719 ATTRS.
52283633 6720 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6721
1ffbabe3
SM
67222000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6723
6724 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6725 is nil: since we go to the end of submap anyway, we'd end up
6726 setting nil to nil.
6727 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6728 doesn't obey autoload.
6729
bed43f1d
EZ
67302000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6731
1ffbabe3 6732 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 6733
ea4233a7
JR
67342000-10-21 Jason Rumney <jasonr@gnu.org>
6735
6736 * w32term.c (w32_cache_char_metrics): Double check that font is
6737 really fixed pitch before trusting tmPitchAndFamily.
6738
f3d3c491
AI
67392000-10-21 Andrew Innes <andrewi@gnu.org>
6740
6741 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6742
6743 * w32term.h: Extern decl for w32_cache_char_metrics.
6744
6745 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6746
6747 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6748 (w32_unload_font): Free per_char array if present.
6749
6750 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6751 cached information in emulated XFontStruct to handle common cases
6752 quickly. Do not allocate XCharStruct for return.
6753 (w32_native_per_char_metric): New function.
6754 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6755 allocating one.
6756 (x_produce_glyphs): Don't get an HDC. Change calls to
6757 w32_per_char_metric to match arg change above. Remove calls to
6758 free results.
6759 (w32_get_glyph_overhangs): Ditto.
6760 (w32_cache_char_metrics): New function.
6761
6762 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6763 ($(BLD)/casefiddle.$(O)): Remove compile command.
6764 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6765 ($(BLD)/dispnew.obj):
6766 ($(BLD)/keyboard.obj):
6767 ($(BLD)/w32inevt.obj):
6768 ($(BLD)/w32bdf.obj):
6769 ($(BLD)/alloc.obj):
6770 ($(BLD)/buffer.obj):
6771 ($(BLD)/editfns.obj):
6772 ($(BLD)/emacs.obj):
6773 ($(BLD)/fileio.obj):
6774 ($(BLD)/fns.obj):
6775 ($(BLD)/indent.obj):
6776 ($(BLD)/insdel.obj):
6777 ($(BLD)/intervals.obj):
6778 ($(BLD)/minibuf.obj):
6779 ($(BLD)/print.obj):
6780 ($(BLD)/scroll.obj):
6781 ($(BLD)/sysdep.obj):
6782 ($(BLD)/textprop.obj):
6783 ($(BLD)/widget.obj):
f3d3c491
AI
6784 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6785 ($(BLD)/term.obj): Add dependency on dispextern.h.
6786
52283633
SM
6787 * makefile.nt ($(BLD)\dispnew.obj):
6788 ($(BLD)\keyboard.obj):
6789 ($(BLD)\w32inevt.obj):
6790 ($(BLD)\w32bdf.obj):
6791 ($(BLD)\alloc.obj):
6792 ($(BLD)\buffer.obj):
6793 ($(BLD)\editfns.obj):
6794 ($(BLD)\emacs.obj):
6795 ($(BLD)\fileio.obj):
6796 ($(BLD)\fns.obj):
6797 ($(BLD)\indent.obj):
6798 ($(BLD)\insdel.obj):
6799 ($(BLD)\intervals.obj):
6800 ($(BLD)\minibuf.obj):
6801 ($(BLD)\print.obj):
6802 ($(BLD)\scroll.obj):
6803 ($(BLD)\sysdep.obj):
6804 ($(BLD)\textprop.obj):
6805 ($(BLD)\widget.obj):
f3d3c491
AI
6806 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6807 ($(BLD)\term.obj): Add dependency on dispextern.h
6808
18ad4821
EZ
68092000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6810
6811 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6812 with an additional argument of Qt.
6813
de54681a
MB
68142000-10-21 Miles Bader <miles@gnu.org>
6815
6816 * window.c (pos_fully_visible_in_window_p): New function.
6817 (Fpos_visible_in_window_p): Add FULLY argument.
6818 Use pos_fully_visible_in_window_p.
6819 (window_scroll_pixel_based, window_scroll_line_based): Update
6820 calls to Fpos_visible_in_window_p.
6821 * lisp.h (Fpos_visible_in_window_p): Update prototype
6822
13c844fb
GM
68232000-10-20 Gerd Moellmann <gerd@gnu.org>
6824
6825 * alloc.c (toplevel): Conditionalize compilation of mem_*
6826 functions differently.
52283633 6827
d9506268
JR
68282000-10-20 Jason Rumney <jasonr@gnu.org>
6829
6830 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6831 mem_init where it used to be. mem_z etc not defined otherwise.
6832
8094989b
GM
68332000-10-20 Gerd Moellmann <gerd@gnu.org>
6834
6835 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6836 GC_MALLOC_CHECK.
6837 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6838 structure definition and related variabled to the top of the file.
6839 Include this code when GC_MALLOC_CHECK is defined.
6840 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
6841 register/unregister allocated region.
6842 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
6843 which isn't allocated.
6844 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
6845 something which is already in use.
6846 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
6847 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
6848 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
6849 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
6850
6851 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
6852 _malloc_internal instead of malloc.
6853 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
6854 of free.
6855
ea456eb4
AI
68562000-10-20 Andrew Innes <andrewi@gnu.org>
6857
6858 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
6859 Windows.
6860 (my_strftime) <macro>: Don't use macro arg list when redefining as
6861 _strftime_copytm.
6862 (my_strftime) <function>: Supply 0 as ut argument.
6863
e64c3a75
JR
68642000-10-19 Jason Rumney <jasonr@altavista.net>
6865
6866 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
6867 including dispextern.h, as it stops faces from working.
6868
6869 * w32fns.c (Fx_create_frame): Don't bother calling
6870 face-set-after-frame-default since the caller does it for us
6871 anyway. Clean up calls to x_get_arg to be consistent with X.
6872
6873 * w32term.c (x_produce_glyphs): Handle
6874 unibyte_display_via_language_environment correctly.
6875 (w32_draw_box_rect): Fix the calculation of width and height.
6876
6877 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
6878 as it has stopped working.
6879 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
6880 menu-bar.
6881
17401c97
GM
68822000-10-19 Gerd Moellmann <gerd@gnu.org>
6883
6884 * eval.c (skip_debugger): Prevent a compiler warning.
6885 (Fcondition_case): Likewise.
6886 (Fbacktrace_frame): Use a null interactive spec.
6887
773272d8
KH
68882000-10-19 Kenichi Handa <handa@etl.go.jp>
6889
6890 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6891
a42943e9
GM
68922000-10-18 Gerd Moellmann <gerd@gnu.org>
6893
e50517d9
GM
6894 * strftime.c: Sync with glibc, file version 1.78.
6895 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6896 should no longer be used according to ISO 8601.
6897
9035a35a
GM
6898 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6899 no map for meta_prefix_char, don't try to use it as a keymap.
6900 Instead, if T_OK is non-zero, look up a default binding, if any,
6901 otherwise, if T_OK is zero, return nil.
6902
a42943e9
GM
6903 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6904 (x_to_xcolors, png_load): Use x_query_color.
6905
52283633
SM
6906 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6907 New functions.
a42943e9
GM
6908 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6909 which can be slow.
6910 (x_copy_color, x_alloc_lighter_color): Likewise.
6911
6912 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6913 (x_query_color, x_query_colors): Add prototype.
6914
6915 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6916 check_string_bytes only if not noninteractive, increase count to 50.
6917
00de2987
MB
69182000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6919
6920 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6921 markers correctly.
6922
54918e2b
GM
69232000-10-17 Gerd Moellmann <gerd@gnu.org>
6924
1f0b3fd2
GM
6925 * alloc.c (pure_bytes_used): Renamed from pureptr.
6926 (ALIGN): New macro.
6927 (pure_alloc): New function.
6928 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6929 Use it.
6930 (Fpurecopy): Use PURE_POINTER_P.
6931
68c5d1db
GM
6932 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6933 PT has moved backward.
52283633 6934
9a038881
GM
6935 * xdisp.c (cursor_row_p): Take continued lines into account.
6936
361b097f
GM
6937 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6938 string's size_byte.
6939 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6940 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6941 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6942 string allocated.
6943
54918e2b
GM
6944 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6945 of selective display off while searching for the next line start.
6946
03ed0806
KH
69472000-10-17 Kenichi Handa <handa@etl.go.jp>
6948
6949 * Makefile.in (term.o): Depend on dispextern.h.
6950
7e05cdaf
SM
69512000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6952
6953 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6954
a6801fd1
GM
69552000-10-16 Gerd Moellmann <gerd@gnu.org>
6956
483de32b
GM
6957 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6958 the iterator at the beginning, so that they can be set later on,
6959 for instance in reseat_at_next_visible_line_start, without being
6960 overwritten.
6961
a6801fd1
GM
6962 * xfns.c (pbm_format): Add :foreground and :background keywords.
6963 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6964 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6965
dbf1fcc1
EZ
69662000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6967
6968 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6969
52283633 6970 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6971
6972 * msdos.c (IT_set_face): Compare highlighted face with the default
6973 face, and invert colors if these faces' colors are identical.
6974 (Fmsdos_remember_default_colors): Don't swap foreground and
6975 background colors in initial_colors[].
6976 (IT_set_frame_parameters): Don't swap frame's foreground and
6977 background pixels. If ALIST includes "(reverse . t)", swap
6978 foreground-color and background-color properties in frame's
6979 param_alist. If the original frame's param_alist doesn't specify
6980 the colors, store unspecified-fg and unspecified-bg, reversed if
6981 required.
6982
6983 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
6984 the colors are unspecified and reversed, reverse fore- and back-
6985 ground in the returned value.
6986 (Fframe_parameter): Ditto.
6987
b41fe2c3 69882000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 6989
3a6b59d9
GM
6990 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
6991 get_last_unchanged_at_beg_row.
6992 (find_first_unchanged_at_end_row): Renamed from
6993 get_first_unchanged_at_end_row.
6994 (find_first_unchanged_at_end_row): Convert assertions to
6995 unconditional tests which abort. When looking for a row in
6996 unchanged text, don't go further back than first_text_row.
6997
b41fe2c3
GM
6998 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
6999 Don't add in the last line's height when deciding if the new
7000 position is below the scroll margin.
9d1af64f 7001
b41fe2c3 70022000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7003
7004 * editfns.c (Fconstrain_to_field): Check carefully for field
7005 boundaries if either OLD_POS or NEW_POS has a non-nil field
7006 property, even if they're the same.
7007
c412cb7b
KH
70082000-10-16 Kenichi Handa <handa@etl.go.jp>
7009
7010 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7011 height for XFillRectangle.
7012
5586f3eb
SM
70132000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7014
7015 * syntax.c (Fstring_to_syntax): New function extracted from
7016 Fmodify_syntax_entry.
7017 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7018 (skip_chars, Fforward_comment): Remove unused variables.
7019 (syms_of_syntax): Add defsubr for string-to-syntax.
7020 (describe_syntax): Add code for comment and string fences.
7021
db785038
SM
70222000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7023
7024 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7025 Do the meta->esc mapping. Call get_keyelt before returning.
7026 Start scanning from the second element (the first is always `keymap')
7027 to make it easier to detect when we reach a parent map.
7028 Handle the case of inheriting from a symbol whose function is a map.
7029 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7030 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7031 (get_keyelt, Flookup_key): Update call to access_keymap.
7032 Remove the meta->esc mappings.
7033 (define_as_prefix): Delete old disabled code.
7034 (menu_item_p): New function.
7035 (where_is_internal_1): Skip over the few remaining menu items.
7036 * lisp.h (access_keymap): Update prototype.
7037 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7038 Update call to access_keymap.
7039 (follow_key, read_key_sequence): Update calls to access_keymap.
7040 Remove the meta->esc mappings.
7041
cafafe0b
GM
70422000-10-13 Gerd Moellmann <gerd@gnu.org>
7043
a2e2a7f6
GM
7044 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7045 with additional argument.
7046
cafafe0b
GM
7047 * xdisp.c (cursor_row_p): New function.
7048 (try_cursor_movement, display_line): Use it.
52283633 7049
cafafe0b
GM
7050 * xdisp.c (append_space): Also save/restore iterator's current
7051 character and its length.
7052
7053 * xdisp.c (init_from_display_pos): Add an assertion.
7054 (handle_stop): Don't set iterator's add_overlay_start.
7055 (handle_invisible_prop): Likewise.
7056 (load_overlay_strings): If text under an overlay is invisible,
7057 take both before- and after-strings into account when the iterator
7058 is positioned either at the start or at the end of the overlay.
7059 (forward_to_next_line_start): Rewritten.
7060 (reseat_at_next_visible_line_start): Rewritten.
7061 (set_iterator_to_next): Add parameter RESEAT_P.
7062
7063 * dispextern.h (struct it): Remove member add_overlay_start.
7064 (set_iterator_to_next): Change prototype.
7065
c744452b
KH
70662000-10-13 Kenichi Handa <handa@etl.go.jp>
7067
7068 * coding.c (code_convert_region): Be sure to initialize
7069 coding->category_idx.
e4a3f4e1
KH
7070 (decode_coding_string): Set coding->src_multibyte and
7071 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7072 (encode_coding_string): Set coding->src_multibyte and
7073 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7074
321fd26f
SM
70752000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7076
7077 * xfns.c (Fx_create_frame): Don't bother calling
7078 face-set-after-frame-default since the caller does it for us anyway.
7079
76832439
EZ
70802000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7081
7082 * window.c (coordinates_in_window): Fix detection of vertical line
7083 on character terminals.
7084
2483cf58
GM
70852000-10-12 Gerd Moellmann <gerd@gnu.org>
7086
7087 * editfns.c (save_excursion_save): Additionally record the
7088 selected window.
7089 (save_excursion_restore): If buffer was visible in a window, and a
7090 different window was selected, and the old selected window is
7091 still live, restore point in that window.
7092
eb991b25
KH
70932000-10-12 Kenichi Handa <handa@etl.go.jp>
7094
8a0eba09
KH
7095 * xterm.c (x_produce_glyphs): Handle
7096 unibyte_display_via_language_environment correctly.
7097
20401fcc
KH
7098 * regex.c (regex_compile): Change the way of handling a range from
7099 unibyte char to multibyte char.
7100
7101 * syntax.c (skip_chars): Change the way of handling a range from
7102 unibyte char to multibyte char.
7103
eb991b25
KH
7104 * process.c (read_process_output): Cancel previous change.
7105
365dd325
EZ
71062000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7107
c1b096cb
EZ
7108 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7109
365dd325
EZ
7110 * charset.c (Ffind_charset_string): Doc fix.
7111 (Ffind_charset_region): Doc fix.
7112
eb483c2b
KH
71132000-10-11 Kenichi Handa <handa@mule.m17n.org>
7114
7115 * process.c (read_process_output): Fix previous change. Adjust
7116 multibyteness of text to insert in a buffer by
52283633 7117 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7118
b40bfb99
AS
71192000-10-10 Andreas Schwab <schwab@suse.de>
7120
7121 * alloc.c (mark_object): Remove all workarounds installed on
7122 1993-08-08.
7123
caff31d4
KH
71242000-10-10 Kenichi Handa <handa@etl.go.jp>
7125
52283633 7126 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7127 (base64_encode_1): Make it work for a text of multibyte form.
7128 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7129 case. Don't call str_to_multibyte because base64_decode_1
7130 produces correct multibyte form for eight-bit codes.
52283633 7131 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7132 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7133 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7134 codes.
7135
7136 * charset.h (CHAR_STRING): Optimized for single byte characters.
7137
cba026ef
AS
71382000-10-09 Andreas Schwab <schwab@suse.de>
7139
7140 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7141 -1 after socket is closed, to fall through to error processing.
7142
1e21fe48
EZ
71432000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7144
7145 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7146 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7147 background-color, change also the colors of the default face for
7148 this frame.
7149
a640322e
EZ
71502000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7151
7152 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7153 them extern (they are defined on xfaces.c).
7154 (syms_of_msdos): Don't intern and don't staticpro
7155 Qbackground_color and Qforeground_color.
7156
a115794c
EZ
71572000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7158
7159 * frame.c (Fframe_parameter): For non-windowed frames, if
7160 f->param_alist says foreground or background color is unspecified,
7161 call tty_color_name to return the color name computed from the
7162 frame's current colors.
7163
f5533b63
DL
71642000-10-06 Dave Love <fx@gnu.org>
7165
7166 * terminfo.c (ospeed): Don't declare.
7167
7168 * sysdep.c: Don't include string.h.
7169 (h_errno): Declare conditional also on TRY_AGAIN.
7170
7171 * charset.c (Ffind_charset_string): Doc fix.
7172
52283633 7173 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7174 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7175 error messages.
7176
2b06561a
DL
71772000-10-05 Dave Love <fx@gnu.org>
7178
7179 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7180 position like menu-bar.
7181
ca839c85
GM
71822000-10-05 Gerd Moellmann <gerd@gnu.org>
7183
7184 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7185
7186 * xdisp.c (handle_single_display_prop): Use safe_call1.
7187 (safe_call): Renamed from call_function.
7188 (safe_call1): New function.
7189 (handle_fontified_prop): Use safe_call1 instead of call1.
7190 (safe_eval): Renamed from eval_form.
7191 (safe_eval_handler): Renamed from eval_handler.
7192 (handle_single_display_prop, display_mode_element): Use safe_eval
7193 instead of eval_form.
7194
7195 * xfaces.c (merge_face_heights): Use safe_call instead of
7196 call_function.
7197
7198 * keyboard.c (show_help_echo): Use safe_call instead of
7199 call_function; use safe_eval instead of eval_form.
7200
7201 * lisp.h (safe_call): Renamed from call_function.
7202 (safe_eval): Renamed from eval_form.
7203 (safe_call1): Add prototype.
7204
a3489ece
MB
72052000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7206
7207 * xfns.c (image_ascent): Rearrange ascent calculation for the
7208 has-a-font case.
7209
35810b6f
SM
72102000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7211
7212 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7213 (where_is_internal_1): Don't bother ignoring menu-items any more.
7214
3dc78168
GM
72152000-10-04 Gerd Moellmann <gerd@gnu.org>
7216
7217 * keyboard.c (update_menu_bindings): New variable.
7218 (parse_menu_item): Use AREF. If update_menu_bindings
7219 is 0, don't update menu bindings.
7220 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7221
1efc2bb9
EZ
72222000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7223
7224 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7225 to `mark_object'.
7226
3f679f55
SM
72272000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7228
7229 * syntax.c (forw_comment): Match nestedness of ender/starter.
7230 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7231 (prev_char_comstart_first): Remove.
7232 (back_comment): Check two-char comment markers more carefully
7233 to better handle overlapping cases like *//* or /* */* */ ...
7234 Match nestedness of ender/starter.
7235
2021ab61
DL
72362000-10-02 Dave Love <fx@gnu.org>
7237
7238 * config.in (HAVE_GAI_STRERROR): Add undef.
7239
7240 * process.c (Fopen_network_stream): Use it.
7241
7242 * m/alpha.h (NO_REMAP): Don't define.
7243
64e6cc18
GM
72442000-10-02 Gerd Moellmann <gerd@gnu.org>
7245
7246 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7247 return with a string converted to an integer or vice versa when
7248 Vmocklisp_arguments is t.
7249 (Fsignal): Likewise. The function can return for `quit'.
7250 (struct gcpro): Declare member `var' to point to a volatile
7251 Lisp_Object.
7252
7253 * eval.c (error): Prevent compiler warning.
7254
b1904cd9
SM
72552000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7256
7257 * keymap.c (keymap_memberp): New function.
7258 (Fset_keymap_parent): Use it.
7259 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7260 Use keymap_memberp to avoid creating cycles.
7261 (access_keymap): Use KEYMAPP.
7262
71c9ec51
GM
72632000-09-30 Gerd Moellmann <gerd@gnu.org>
7264
7265 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7266 gai_strerror. Make sure xerrno is set if connect fails. Improve
7267 error recovery.
71c9ec51 7268
c70c6b58
JR
72692000-09-29 Jason Rumney <jasonr@gnu.org>
7270
7271 * w32term.c (w32_char_font_type, w32_encode_char)
7272 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7273 (w32_bdf_per_char_metric): New function.
7274 (w32_per_char_metric): Use it.
7275 (x_draw_glyph_string_background): Always draw background for BDF
7276 glyphs.
7277
7278 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7279 GDI object which is a scarce resource.
7280
7281 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7282 (get_quoted_string): Fix limit on memchr search.
7283 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7284 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7285 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7286 (get_cached_font_char, cache_char_offset): Use macro
7287 BDF_CODEPOINT_RANGE_COVER_P.
7288 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7289 (clear_cached_bitmap_slots): New function.
7290 (GET_HEX_VALUE): G-Z, g-z are not hex.
7291 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7292 (get_bitmap_with_cache): Use new cache implementation.
7293 (create_offscreen_bitmap): New function.
7294 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7295
7296 * w32term.c (x_produce_glyphs): If the distance from the current
7297 position to the next tab stop is less than a canonical character
7298 width, use the tab stop after that.
7299 (x_draw_glyphs): Handle case START and END are out of bounds more
7300 carefully.
7301 (x_clear_mouse_face): Block/unblock input.
7302 (x_display_and_set_cursor): Don't show a hollow box cursor for
7303 buffers whose cursor_type is nil.
7304
fe01239f
GM
73052000-09-29 Gerd Moellmann <gerd@gnu.org>
7306
52283633 7307 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7308
7309 * dispextern.h (updating_frame): Declare extern.
7310
e7c52f1f
AS
73112000-09-29 Andreas Schwab <schwab@suse.de>
7312
7313 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7314
de6e1f7c
GM
73152000-09-29 Gerd Moellmann <gerd@gnu.org>
7316
25126faa
GM
7317 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7318 use its function definition.
7319 (tool_bar_items): Likewise.
7320
de6e1f7c 7321 * lisp.h (fatal): Declare NO_RETURN.
52283633 7322
454ee39b
KH
73232000-09-29 Kenichi Handa <handa@etl.go.jp>
7324
7325 * keymap.c: Remove the line "#undef NULL".
7326
96301c5f
GM
73272000-09-28 Gerd Moellmann <gerd@gnu.org>
7328
52283633 7329 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7330
efffeeb4
DL
73312000-09-28 Dave Love <fx@gnu.org>
7332
ecb8b666
DL
7333 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7334
dc3cd20f
DL
7335 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7336
7337 * .gdbinit (xreload): Note its need on GNU/Linux.
7338
efffeeb4
DL
7339 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7340 r_alloc, r_alloc_free.
7341
8610d903
KH
73422000-09-28 Kenichi Handa <handa@etl.go.jp>
7343
7344 * syntax.c (skip_chars): Handle negation correctly.
7345
8901d1ac
GM
73462000-09-27 Gerd Moellmann <gerd@gnu.org>
7347
6f22f1ad
GM
7348 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7349 with non-zero FORCE_P argument.
7350
52283633 7351 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7352 Add assertions.
7353
7354 * xdisp.c (window_box_height): Add an assertion.
7355
7356 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7357 tool-bar than is available.
7358 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7359
36f1966f
DL
73602000-09-27 Dave Love <fx@gnu.org>
7361
efffeeb4 7362 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7363
31d929e5
GM
73642000-09-26 Gerd Moellmann <gerd@gnu.org>
7365
c98863bf
GM
7366 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7367 instead of BITS_PER_INT.
7368 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7369 EMACS_UINT, respectively.
7370 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7371
7372 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7373
7374 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7375
77072ab1
GM
7376 * window.c (freeze_window_starts): Construct last argument for
7377 foreach_window differently.
7378
7379 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7380
7381 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7382 EMACS_UINT instead of `int' and `unsigned int'.
7383 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7384
7385 * frame.h (struct frame): Make the `nothing' member of union
7386 output_data an EMACS_INT.
7387
52283633 7388 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7389 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7390 size in the sdata structure.
7391 (SDATA_NBYTES, SDATA_DATA): New macros.
7392 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7393 differently for the different layout of the sdata structure.
7394 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7395 in sdata.
7396 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7397 Check that size recorded in the string size and size recorded in
7398 the sdata structure agree.
7399
3e60b029
DL
74002000-09-25 Dave Love <fx@gnu.org>
7401
7402 * buffer.c: Include stdio.h.
7403
7404 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7405
3e60b029
DL
7406 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7407
7408 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7409 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7410 (__malloc_extra_blocks): Declare as __malloc_size_t.
7411
8ff16b4e
GM
74122000-09-25 Gerd Moellmann <gerd@gnu.org>
7413
755a2ccd
GM
7414 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7415
d8b4516f
GM
7416 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7417 (read_char): If help-echo is showing, preserve the echo area
7418 when redisplaying.
7419
7420 * xdisp.c (help_echo_showing_p): New variable.
7421 (set_message): Reset it to 0.
7422 (init_xdisp): Initialize help_echo_showing_p.
7423
7424 * dispextern.h (help_echo_showing_p): Declare extern.
7425
7426 * config.in: Fix typo in __GNUC_MINOR__.
7427
7428 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7429
b11af2dd
GM
7430 * s/freebsd.h (POSIX_SIGNALS): Define.
7431
8ff16b4e
GM
7432 * xterm.c (x_clear_mouse_face): Block/unblock input.
7433
844eb643
DL
74342000-09-24 Dave Love <fx@gnu.org>
7435
7436 * fns.c (base64_encode_1): Fix last change.
7437
b30ab1b3
GM
74382000-09-22 Gerd Moellmann <gerd@gnu.org>
7439
7440 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7441
7442 * xdisp.c (try_window_reusing_current_matrix): More fixes
7443 for the case window has a header-line.
7444
c6cbe5f0
DL
74452000-09-22 Dave Love <fx@gnu.org>
7446
4c7c1f3f
DL
7447 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7448 a doc string.
7449
7450 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7451
c6cbe5f0
DL
7452 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7453
550a625e
GM
74542000-09-21 Gerd Moellmann <gerd@gnu.org>
7455
4c7c1f3f 7456 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7457 for GCC >= 2.5.
7458
52283633
SM
7459 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7460 Declare NO_RETURN.
fca99116 7461
80d26f99
GM
7462 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7463 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7464 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7465 warnings.
52283633 7466
80d26f99
GM
7467 * marker.c (byte_char_debug_check): Return void.
7468
623a0aae
GM
7469 * xfns.c (Fx_create_frame): Set default frame parameter value
7470 for tool-bar-lines to 1.
7471
7472 * dispnew.c (scrolling_window): Compare y-positions of rows
7473 equal at the start. Some simplification.
7474
7475 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7476 reused rows' y-position in the case window has a header-line, and
7477 new window start is greater than old window start.
7478
42ac0ae5
GM
7479 * process.c (process_sent_to): New variable.
7480 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7481 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7482 Declare more parameters volatile.
7483
550a625e
GM
7484 * lread.c (Vrecursive_load_depth_limit): New variable.
7485 (Fload): Check recursive loads whose recursion depth exceeds
7486 Vrecursive_load_depth_limit.
7487 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7488
8320414c
GM
74892000-09-20 Gerd Moellmann <gerd@gnu.org>
7490
f46c275e
GM
7491 * fileio.c (Fread_file_name): Doc fix.
7492
7493 * editfns.c (Fmessage_or_box): Doc fix.
7494
7495 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7496
b7e11c5b 7497 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7498
8320414c
GM
7499 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7500 symbols are specified, add color translations to the cache.
52283633 7501 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7502 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7503 xpm_cache_color.
7504 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7505 structures to xpm_init_color_cache.
7506
da1608d9
GM
75072000-09-19 Gerd Moellmann <gerd@gnu.org>
7508
52283633 7509 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7510
6badfa25
AI
75112000-09-19 Andrew Innes <andrewi@gnu.org>
7512
7513 * makefile.nt (bootstrap-emacs): Don't change directory.
7514
3a5f42bb
KH
75152000-09-19 Kenichi Handa <handa@etl.go.jp>
7516
1b7649bd
KH
7517 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7518
3a5f42bb
KH
7519 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7520 If output buffer is too small, signal an appropriated error.
7521
9f83cf0b
DL
75222000-09-18 Dave Love <fx@gnu.org>
7523
52283633 7524 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7525 (current_active_maps): Remove redundant get_local_map call.
7526
28c7826c
GM
75272000-09-18 Gerd Moellmann <gerd@gnu.org>
7528
5cefa566
GM
7529 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7530 cursor for buffers whose cursor_type is nil.
52283633 7531
6fed3546
GM
7532 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7533 a feature to implement that is already implemented.
7534 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7535 warnings.
7536
7537 * xfns.c (x_clear_image_1): New function.
7538 (x_clear_image): Use it.
52283633 7539 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7540
05b1f851
GM
7541 * dispnew.c (update_window): Move test for invisible lines
7542 at the top to update_window_line.
7543 (update_window_line): Handle invisible lines here.
7544
f4779de9
GM
7545 * xfns.c (clear_image_cache): Clear current matrices of all
7546 frames sharing an image cache. Block input while freeing
7547 images. Fix timestamp comparison.
7548 (x_clear_image): Also free the mask.
7549
28c7826c
GM
7550 * xfns.c (lookup_image): Block input while loading the image so
7551 that we won't get interrupted in a state where the image isn't yet
7552 set up completely.
7553 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7554 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7555 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7556 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7557
b7412313
GM
75582000-09-16 Gerd Moellmann <gerd@gnu.org>
7559
7560 * dispnew.c (update_window): Make sure to make desired rows
7561 current even if they are completely invisible at the top
7562 of a window.
7563
47e351a3
GM
75642000-09-15 Gerd Moellmann <gerd@gnu.org>
7565
7f8f1edc
GM
7566 * xfns.c (lookup_image): Build mask before applying an algorithm.
7567 Recognize algorithm `disabled'.
7568 (cross_disabled_images): New variable.
7569 (COLOR_INTENSITY): New macro.
7570 (x_detect_edges): Use COLOR_INTENSITY.
7571 (x_disable_image): New function.
7572 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7573
7574 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7575 disabled state, don't apply an image transformation algorithm if
7576 the user specified an image for the disabled state. Use
28c7826c 7577 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7578 user hasn't specified an image.
7579
ebb8f116
GM
7580 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7581 allocation functions with the XPM lib.
7582 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7583 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7584 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7585 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7586 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7587 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7588 functions, if possible, because these handle color allocation
7589 failure more gracefully.
7590 (Fimage_mask_p): New function.
7591
47e351a3
GM
7592 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7593 (Qedge_detection, Qheuristic): New symbols.
7594 (syms_of_xfns): Initialize new symbols.
7595 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7596 `algorithm (edge-detection ...)'.
7597 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7598 (tiff_format, gif_format, gs_format): Add `:mask'.
7599 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7600 (GIF_MASK, GS_MASK): New enumerators.
7601 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7602 (emboss_matrix, laplace_matrix): New variables.
7603 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7604 (x_edge_detection): New functions.
7605 (x_laplace): Rewritten in terms of x_detect_edges.
7606 (x_build_heuristic_mask): If image has a mask, free it.
7607
fe83b953
AI
76082000-09-14 Andrew Innes <andrewi@gnu.org>
7609
7610 * makefile.w32-in: Revert to Unix line endings.
7611
3021e816
AI
76122000-09-14 Andrew Innes <andrewi@gnu.org>
7613
7614 * makefile.w32-in: Standardize indentation somewhat.
7615 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7616 cater for differences between shells.
7617
7618 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7619
2a32b5ea
GM
76202000-09-14 Gerd Moellmann <gerd@gnu.org>
7621
7622 * xterm.c (x_produce_glyphs): If the distance from the current
7623 position to the next tab stop is less than a canonical character
7624 width, use the tab stop after that.
7625
b4331e96
DL
76262000-09-14 Dave Love <fx@gnu.org>
7627
7628 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7629
ef9e4345
GM
76302000-09-14 Gerd Moellmann <gerd@gnu.org>
7631
085536c2
GM
7632 * xdisp.c (handle_fontified_prop): While running fontification
7633 functions, bind `fontification-functions' and
7634 `after-change-functions' to nil.
7635
ef9e4345
GM
7636 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7637 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7638
7639 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7640
7641 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7642 USE_MMAP_FOR_BUFFERS.
7643
7644 * insdel.c (make_gap): Use enlarge_buffer_text.
7645
7646 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7647 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7648 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7649 from former r_alloc_* functions in ralloc.c.
52283633 7650 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
7651 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7652 (mmap_init) [REL_ALLOC_MMAP]: New function.
7653 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7654 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7655 BUFFER_FREE.
7656
7657 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7658 (enlarge_buffer_text): Add prototype.
7659
7660 * ralloc.c: Remove everything having to do with the use of mmap.
7661
f8608968
GM
76622000-09-13 Gerd Moellmann <gerd@gnu.org>
7663
2a494b2d
GM
7664 * sound.c (Fplay_sound): Doc fix.
7665
8c907a56
GM
7666 * keyboard.c: Avoid some more compiler warnings.
7667 (parse_tool_bar_item): Ignore cached key bindings.
7668
f8608968
GM
7669 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
7670 and allocation of Lisp data.
7671
6ab70e9a
GM
76722000-09-12 Gerd Moellmann <gerd@gnu.org>
7673
d12d0a9b
GM
7674 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
7675 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
7676 defaults first.
7677
6ab70e9a
GM
7678 * lread.c (Fload): Put code checking for recursive loads in #if 0.
7679
63c36c3c
KH
76802000-09-12 Miyashita Hisashi <himi@meadowy.org>
7681
7682 * ccl.c: Comment fixed.
7683 (MAX_MAP_SET_LEVEL): Increased to 30.
7684 (PUSH_MAPPING_STACK): Enclose with do-while block.
7685 (POP_MAPPING_STACK): Likewise.
7686 (stack_idx_of_map_multiple): New variable.
7687 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
7688 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 7689 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
7690 (ccl_driver) <CCL_MapSingle>: Likewise.
7691 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
7692 with the case where looking up process reaches to the end of
7693 map-set, and call CCL programs as the above change.
7694
7ee3bd7b
GM
76952000-09-11 Gerd Moellmann <gerd@gnu.org>
7696
8ec8a5ec
GM
7697 * xfns.c (png_load, jpeg_load): Declare some variables volatile
7698 that might be clobbered by longjmp.
7699 (check_x_display_info, x_decode_color, create_frame_xic)
7700 (Fx_display_backing_store, Fx_display_visual_class)
52283633 7701 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 7702
f74b0705
GM
7703 * lread.c (init_lread): Set Vloads_in_progress to nil.
7704 (Fload): Show list of recursively loaded files, when signaling an
7705 error.
7706
7ee3bd7b
GM
7707 * lread.c (Vloads_in_progress): New variable.
7708 (record_load_unwind): New function.
7709 (Fload): Check for recursive loads.
7710 (syms_of_lread): Initialize Vloads_in_progress.
7711 (read_integer, read1): Avoid some compiler warnings.
7712
7713 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7714 compiler warnings.
7715
974e1e5b
MB
77162000-09-11 Miles Bader <miles@gnu.org>
7717
7718 * editfns.c (Fbuffer_string): Doc fix.
7719
9824c4e3
GM
77202000-09-10 Gerd Moellmann <gerd@gnu.org>
7721
7722 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7723
6a72fdd1
KR
77242000-09-09 Ken Raeburn <raeburn@gnu.org>
7725
7726 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7727 whether to include other header files.
7728
28e6fb66
GM
77292000-09-09 Gerd Moellmann <gerd@gnu.org>
7730
52283633 7731 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 7732 by Fmemq as a boolean.
28e6fb66 7733
7f8b6551
SM
77342000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7735
7736 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7737
a8710abf
GM
77382000-09-08 Gerd Moellmann <gerd@gnu.org>
7739
d1a02881
GM
7740 * ralloc.c (mmap_fd): Remove initializer which can make it
7741 read-only in a dumped Emacs.
7742 (mmap_fd_1): New variable.
7743 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7744 restore it from there.
7745 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7746 unconditionally so that mmap_fd can be initialized there.
7747 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7748 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7749 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7750
c454aac1
GM
7751 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7752
7753 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 7754 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 7755
fc653ef2
GM
7756 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7757
3015eec0
GM
7758 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7759 inheritance.
7760
bfe0ee88
GM
7761 * xdisp.c (try_window_id): When trying to locate cursor in
7762 unchanged rows at the top, handle the case that we can't find it.
7763
a8710abf
GM
7764 * xterm.c (x_draw_glyphs): Handle case START and END are out
7765 of bounds more carefully.
7766
6b7d4ae4
DL
77672000-09-08 Dave Love <fx@gnu.org>
7768
423193c5
DL
7769 * s/sol2.h (REL_ALLOC_MMAP): Define.
7770 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7771
7772 * ralloc.c: Don't include string.h (redundant).
7773 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7774 [!MAP_ANON]: Include fcntl.h.
7775 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7776 (r_alloc, r_re_alloc, r_alloc_free)
7777 (mmap_enlarge, mmap_set_vars): Use it.
7778 (r_alloc_init_fd): New function.
7779 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7780 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7781 malloc type.
7782
7783 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7784 Remove vm-limit.o.
7785
6b7d4ae4
DL
7786 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7787 change to __NetBSD__.
7788
44d31981
KH
77892000-09-08 Kenichi Handa <handa@etl.go.jp>
7790
7791 * search.c (compile_pattern): Check the multibyteness of cached
7792 string and PATTERN.
7793
aad40737
MB
77942000-09-08 Miles Bader <miles@gnu.org>
7795
7796 * xfaces.c (default_face_vector): Function removed.
7797 (Finternal_merge_in_global_face): Restore old global/local
7798 attribute override order. Use inline loop instead of calling
7799 default_face_vector.
7800
91a211b5
GM
78012000-09-07 Gerd Moellmann <gerd@gnu.org>
7802
7803 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7804 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7805 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7806 where necessary, in case POINTER_TYPE is `void'.
7807
03419440
EZ
78082000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7809
7810 * frame.c (make_terminal_frame): Initialize frame foreground and
7811 background colors to unspecified, for the initial instance of an
7812 MSDOS frame.
7813
f46f845b
GM
78142000-09-07 Gerd Moellmann <gerd@gnu.org>
7815
24f76fbf
GM
7816 * ralloc.c (mmap_find): Fix overlap computation.
7817 (mmap_enlarge): Compute nbytes before trying to find an
7818 overlapping region.
7819
f46f845b
GM
7820 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7821 instead of `!='.
7822
7823 * lread.c (syms_of_lread): Change value of regexp
7824 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7825
7826 * xmenu.c (xdialog_show): When looking up the selection in
7827 menu_items, take `quote' boundaries into account; this corresponds
7828 to a nil ITEM in x-popup-dialog.
7829
3c014385
KH
78302000-09-07 Kenichi Handa <handa@etl.go.jp>
7831
fd6f711b
KH
7832 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7833 not 0x81.
7834 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7835
3c014385 7836 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
7837 encoding, not decoding. Fix the handling of latin-jisx0201.
7838 Check for the charset katakana-jisx0201 too.
3c014385 7839 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 7840 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 7841
0da3ecef
GM
78422000-09-07 Gerd Moellmann <gerd@gnu.org>
7843
ab0ee409
GM
7844 * xfaces.c (Vparam_value_alist): New variable.
7845 (syms_of_xfaces): Initialize it.
7846 (Finternal_set_lisp_face_attribute): Avoid more consing.
7847
7848 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
7849 specially.
7850 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
7851 (Qbackground_mode): New variable.
7852 (syms_of_frame_1): Initialize Qbackground_mode.
7853
7854 * lisp.h (Qdisplay): Declare extern.
1091dd67 7855
0da3ecef
GM
7856 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
7857 change face on all frames, and change the default for new frames.
7858
b14654b9
DL
78592000-09-07 Dave Love <fx@gnu.org>
7860
7861 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
7862
d24fd56f
KH
78632000-09-07 Kenichi Handa <handa@etl.go.jp>
7864
794f3670
KH
7865 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
7866
0fddd0dc
KH
7867 * charset.c: Include composite.h
7868 (lisp_string_width): New function.
7869 (Fstring_width): Call lisp_string_width instead of strwidth.
7870
7871 * Makefile.in (charset.o): Depends on composite.h.
7872
d24fd56f
KH
7873 * process.c (read_process_output): Before inserting the decoded
7874 text in the buffer, adjust the multibyteness.
7875
fa0b693c
GM
78762000-09-06 Gerd Moellmann <gerd@gnu.org>
7877
52283633 7878 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
7879 buffer's text buffer is null, map new memory.
7880
0a58f946
GM
7881 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
7882 POINTER_TYPE and size_t.
7883 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
7884 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7885 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7886 [REL_ALLOC_MMAP]: New macros.
7887 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7888 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7889 [REL_ALLOC_MMAP]: New functions.
7890
7891 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7892 before and after unexec.
7893
7894 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7895 text buffers if necessary.
7896
7897 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7898 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7899 in prototypes.
7900
fa0b693c
GM
7901 * config.in (HAVE_MMAP): Add #undef.
7902
877055f6
GM
79032000-09-05 Gerd Moellmann <gerd@gnu.org>
7904
08ba3862
GM
7905 * frame.c (Qdisplay_type): New variable.
7906 (syms_of_frame_1): Initialize it.
7907 (Fframe_parameter): New function that avoids consing.
7908 (syms_of_frame): Defsubr it.
7909
66ffe51c
GM
7910 * buffer.c (Fother_buffer): Consider buffers as invisible when
7911 they are displayed in a window on an invisible frame.
7912
877055f6
GM
7913 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7914 get-largest-window always return nil.
7915
bb970e67
GM
79162000-09-04 Gerd Moellmann <gerd@gnu.org>
7917
7918 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7919 variable; recognize Emacs 19 elc files.
7920
7a3d0e0e
MB
79212000-09-04 Miles Bader <miles@gnu.org>
7922
7923 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7924 before initially popping up the menu, so the menu doesn't flash
52283633 7925 when the face settings are significantly different from the defaults.
7a3d0e0e 7926
14473664
SM
79272000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7928
7929 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7930 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7931 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7932 (BIT_UNIBYTE): Remove.
7933 (re_match_2_internal): Delete corresponding code and streamline the
7934 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7935 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7936 (re_wctype_t): New type.
7937 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7938 (regex_compile): Use them and fix handling of overly long char classes.
7939
c1174479
AI
79402000-09-03 Andrew Innes <andrewi@gnu.org>
7941
f8803e97
AI
7942 * makefile.w32-in: Change to DOS line endings.
7943
c1174479
AI
7944 * s/ms-w32.h (ORDINARY_LINK): New define.
7945
7946 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7947 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7948
7949 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7950 (distclean): Delete them here instead.
7951
44ef7cf6
AI
7952 * w32proc.c (compare_env): Convert to uppercase for comparison,
7953 not lowercase, to match how the native Windows shell works.
7954
49b3bd82
JR
79552000-09-03 Jason Rumney <jasonr@gnu.org>
7956
7957 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7958 CVS changes the line-ends when checking in/out on DOS/Windows.
7959
7960 * makefile.nt (emacs): Do not change directory to run temacs, as
7961 the load-path is set relative to current directory.
7962
a3d35a39
MB
79632000-09-03 Miles Bader <miles@gnu.org>
7964
7965 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7966
d276b0cf
GM
79672000-09-02 Gerd Moellmann <gerd@gnu.org>
7968
715e84c9
GM
7969 * xdisp.c (redisplay_mode_lines): New function.
7970 (display_mode_lines): Return number of mode lines displayed.
7971 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7972 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7973
8892f40b
GM
7974 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7975 string.h and strings.h.
7976 (index) [HAVE_INDEX]: Add prototype.
7977
d276b0cf
GM
7978 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
7979 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
7980
7981 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
7982 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7983
38404229
GM
79842000-09-01 Gerd Moellmann <gerd@gnu.org>
7985
7986 * lread.c (read1): Accept `?' as symbol constituent, for
7987 compatiblity with XEmacs.
7988
c0f9ea08
SM
79892000-08-31 Stefan Monnier <monnier@cs.yale.edu>
7990
7991 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
7992 (struct re_pattern_buffer): Remove newline_anchor.
7993 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
7994 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
7995 (re_max_failures, fail_stack): Use size_t rather than unsigned.
7996 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
7997 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
7998 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
7999 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8000 Get rid of references to newline_anchor.
8001 (regcomp): Allocate and precompute a fastmap.
8002
8c0f83fe
GM
80032000-08-31 Gerd Moellmann <gerd@gnu.org>
8004
8005 * lread.c (openp): GCPRO local variable `filename'.
8006
4bb91c68
SM
80072000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8008
8009 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8010
8011 * regex.c: Merge some changes from GNU libc. Add prototypes.
8012 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8013 Use memcmp and memcpy instead of bcopy and bcmp.
8014 (init_syntax_once): Use ISALNUM.
8015 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8016 (REG_UNSET_VALUE): Remove. Use NULL instead.
8017 (REG_UNSET, re_match_2_internal): Use NULL.
8018 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8019 New macros.
8020 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8021 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8022 (regex_compile): In handle_interval, return an error rather than try to
8023 unfetch the interval if we can't find the closing brace.
8024 Obey the RE_NO_GNU_OPS syntax bit.
8025 (TOLOWER): New macro.
8026 (regcomp): Use it.
8027 (regexec): Allocate regs.start and regs.end as one block.
8028
5226a931
GM
80292000-08-30 Gerd Moellmann <gerd@gnu.org>
8030
868dd24b
GM
8031 * xdisp.c (echo_area_display): Check display_completed instead
8032 of calling detect_input_pending.
8033
8034 * dispnew.c (update_frame): Only set display_completed here; move
8035 the update_begin and update_end calls here from update_frame_1.
8036 (update_frame_1): Don't set display_completed here, don't call
8037 update_begin/update_end.
8038
5226a931
GM
8039 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8040 instead of store_frame_param.
8041
2a8bd25f
GM
80422000-08-29 Gerd Moellmann <gerd@gnu.org>
8043
8044 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8045 desired window matrix hasn't been displayed, use the current row
8046 instead. Make sure that only those frame rows are updated for
8047 which there exists a corresponding enabled desired row.
52283633 8048
ba3478d9
MB
80492000-08-29 Miles Bader <miles@gnu.org>
8050
8051 * xfaces.c (default_face_vector): New function.
8052 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8053
87d0f685
GM
80542000-08-29 Gerd Moellmann <gerd@gnu.org>
8055
8056 * lread.c (openp): Prevent temporary string passed to
8057 Ffile_readable_p from being garbage collected.
8058
6fa86045
DL
80592000-08-28 Dave Love <fx@gnu.org>
8060
8061 * keymap.c (store_in_keymap): Add `static' to declaration.
8062
bb17930d
GM
80632000-08-28 Gerd Moellmann <gerd@gnu.org>
8064
8065 * emacs.c, callint.c, doc.c, editfns.c
8066 (toplevel) [HAVE_STRING_H]: Include string.h.
8067 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8068 (index): Remove prototypes which might conflict with non-standard
8069 definitions of index/strchr.
8070
8071 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8072 (rindex): Define only if !HAVE_RINDEX.
8073
8074 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8075
8076 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8077
87188200
MB
80782000-08-28 Miles Bader <miles@gnu.org>
8079
8080 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8081 made inconsistent by a font-related attribute in FROM.
8082 (merge_face_inheritance): Add function comment.
8083
41a68aef
KH
80842000-08-28 Kenichi Handa <handa@etl.go.jp>
8085
8086 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8087 the 4th arg (PREV_EVENT) Qt to suppress input method.
8088
f7c436c1
SM
80892000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8090
0b32bf0e
SM
8091 * regex.c: Indent cpp directives and remove parens after `defined'.
8092 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8093 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8094 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8095 (re_compile_pattern): Use size_t for length.
8096 (init_syntax_once): Move to a better place.
8097 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8098 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8099
f7c436c1
SM
8100 * syntax.c (back_comment): Detect cases where a comment-starter is
8101 actually inside another comment as in: /* a // b */ c // d \n.
8102 Make it clear that `comstart_pos' is unused for nested comments.
8103
8104 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8105 (KEYMAPP): New macro.
8106 (Fkeymap_parent, Fset_keymap_parent): Use it.
8107 (fix_submap_inheritance): Mark it static.
8108 (define_as_prefix, describe_buffer_bindings, describe_command)
8109 (describe_translation, describe_map): Complete prototypes.
8110
8111 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8112
8113 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8114 to better match the key-lookup behavior.
8115
6288c62f
GM
81162000-08-27 Gerd Moellmann <gerd@gnu.org>
8117
8118 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8119 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8120
e931344e
EZ
81212000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8122
8123 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8124 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8125 (xterm.o): Depend on coding.h
8126
d10dfeef
KH
81272000-08-26 Kenichi Handa <handa@etl.go.jp>
8128
8129 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8130 the corresponding '#endif'.
8131
2d73e8d3
MB
81322000-08-26 Miles Bader <miles@gnu.org>
8133
8134 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8135 * xfaces.c (QCinherit): New variable.
8136 (syms_of_xfaces): Initialize it.
8137 (LFACE_INHERIT): New macro.
8138 (Finternal_get_lisp_face_attribute)
52283633 8139 (merge_face_vector_with_property)
2d73e8d3
MB
8140 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8141 (check_lface_attrs): Allow new types of face height. Check
8142 inherit attribute.
8143 (CYCLE_CHECK): New macro.
8144 (merge_face_inheritance): New function.
8145 (merge_face_vectors): Merge inherited faces too. Add F and
8146 CYCLE_CHECK arguments.
8147 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8148 (lookup_named_face, lookup_derived_face, realize_named_face)
8149 (face_at_string_position, face_at_buffer_position): Supply
8150 new F and CYCLE_CHECK arguments to merge_face_vectors.
8151 (merge_face_heights): New function.
52283633 8152 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8153 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8154 handle relative face heights.
8155 (lface_same_font_attributes_p): Compare heights using EQ.
8156
6ce974d4
KH
81572000-08-26 Kenichi Handa <handa@etl.go.jp>
8158
8159 * charset.c (char_to_string): Check the character validity.
52283633 8160 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8161
dc1e502d
SM
81622000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8163
8164 * regex.c (PUSH_FAILURE_COUNT): New macro.
8165 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8166 Handle popping of a register's or a counter's data.
8167 (POP_FAILURE_POINT): Use the new name.
8168 (re_match_2_internal): Push counter data on the stack for succeed_n,
8169 jump_n and set_number_at and remove misleading dead code in succeed_n.
8170
bd9d0f3f
GM
81712000-08-25 Gerd Moellmann <gerd@gnu.org>
8172
8173 * xdisp.c (redisplay_internal): If considering all windows on all
8174 frames, update the display for each frame as soon as possible,
8175 instead of first building all desired matrices for all frames, and
8176 then updating them all.
8177 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8178
aa5b8e15
GM
81792000-08-24 Gerd Moellmann <gerd@gnu.org>
8180
17494071
GM
8181 * bytecode.c (mark_byte_stack): Add a comment.
8182
52283633
SM
8183 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8184 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8185 a graphical frame.
8186
c543db81
KH
81872000-08-24 Kenichi Handa <handa@etl.go.jp>
8188
d246d5f5
KH
8189 * minibuf.c (do_completion): Always use compare-string, not
8190 string-equal because the latter doesn't pay attention to
8191 multibyteness of strings.
8192
c543db81
KH
8193 * process.c (create_process): Don't setup raw-text coding here.
8194 (Fopen_network_stream): Don't set coding->src_multibyte and
8195 coding->dst_multibyte here.
8196 (read_process_output): For process filter, return unibyte string
8197 if default-enable-multibyte-characters is nil.
8198 (send_process): If OBJECT is multibyte text, be sure to encoded it
8199 by the specified coding system for the process. Otherwise, setup
8200 raw-text coding.
52283633 8201 (init_process): Don't initialize default-process-coding-system here.
c543db81 8202
9b47cfe0
EZ
82032000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8204
8205 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8206 <scroll-down-aggressively>: Likewise.
8207
f5a36960
KH
82082000-08-23 Kenichi Handa <handa@etl.go.jp>
8209
8210 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8211 zero. Set coding->produced_char correctly.
8212
69a7ffa7
AI
82132000-08-22 Andrew Innes <andrewi@gnu.org>
8214
8215 * makefile.w32-in: New file.
8216
8217 * unexw32.c (unexec): Ignore old_name, and use the actual location
8218 of the current executable instead. Base new_name on this.
8219
8220 * w32proc.c (create_child): Remove reference to security
8221 descriptor, which isn't needed and doesn't compile with mingw32.
8222
8223 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8224 up dllimport attributes.
8225 (x_update_window_end): Update prototype.
8226
8227 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8228 extern, which screws up dllimport attributes.
8229
8230 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8231 up dllimport attributes.
8232
8233 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8234 screws up dllimport attributes.
8235
8236 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8237 up dllimport attributes.
8238 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8239 screws up dllimport attributes.
8240
8241 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8242 up dllimport attributes.
8243
8244 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8245 screws up dllimport attributes.
8246
8247 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8248 screws up dllimport attributes.
8249
8250 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8251 up dllimport attributes.
8252
8253 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8254 unnecessary extern, which screws up dllimport attributes.
8255 (main): Ditto.
8256
8257 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8258 up dllimport attributes.
8259
8260 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8261 unnecessary extern, which screws up dllimport attributes.
8262
8263 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8264 screws up dllimport attributes.
8265
8266 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8267 up dllimport attributes.
8268
8269 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8270
52283633
SM
8271 * w32bdf.c (search_file_line):
8272 (set_bdf_font_info):
8273 (seek_char):
8274 (w32_get_bdf_glyph):
69a7ffa7
AI
8275 (w32_BDF_to_x_font): Fix compile warnings.
8276
52283633 8277 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8278
8279 * w32select.c: Include keyboard.h before frame.h.
8280
8281 * w32fns.c (max): Define macro.
8282 (JOHAB_CHARSET): Define if not known.
8283 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8284 (Fx_show_tip): Synch with X version.
8285
8286 * w32xfns.c: Include keyboard.h before frame.h.
8287
8288 * w32fns.c: Include keyboard.h before frame.h.
8289
8290 * w32term.c: Include keyboard.h before frame.h.
8291
8292 * fontset.c: Include keyboard.h before frame.h.
8293
8294 * w32inevt.c: Include keyboard.h before frame.h.
8295 (MOUSE_MOVED): Define if not known.
8296
8297 * minibuf.c: Include keyboard.h before frame.h.
8298
8299 * keyboard.c: Include keyboard.h before frame.h.
8300
8301 * indent.c: Include keyboard.h before frame.h.
8302
8303 * dispnew.c: Include keyboard.h before frame.h.
8304
8305 * buffer.c: Include keyboard.h before frame.h.
8306
8307 * alloc.c: Include keyboard.h before frame.h.
8308
8309 * print.c: Include keyboard.h before frame.h.
8310
8311 * process.c: Include keyboard.h before frame.h.
8312
8313 * scroll.c: Include keyboard.h before frame.h.
8314
8315 * sysdep.c: Include keyboard.h before frame.h.
8316
8317 * term.c: Include keyboard.h before frame.h.
8318
8319 * window.c: Include keyboard.h before frame.h.
8320
8321 * xdisp.c: Include keyboard.h before frame.h.
8322 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8323
8324 * frame.c: Include keyboard.h before frame.h.
8325
8326 * w32heap.h: Undefine min, max.
8327
8328 * w32gui.h: Undefine min, max.
8329
8330 * unexw32.c: Change PUCHAR to PCHAR.
8331 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8332 (relocate_offset):
8333 (get_section_info):
69a7ffa7
AI
8334 (copy_executable_and_dump_data): Remove unnecessary static defs.
8335 (copy_executable_and_dump_data): Fix compile warnings.
8336
8337 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8338
8339 * w32console.c (min): Define macro.
8340 (clear_frame, write_glyphs): Fix compile warning.
8341
52283633 8342 * w32proc.c (compare_env):
69a7ffa7
AI
8343 (find_child_console): Fix compile warning.
8344
8345 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8346 sys_errlist instead of _sys_errlist.
8347 (get_emacs_configuration_options): New function.
8348
8349 * s/ms-w32.h (sys_nerr): Provide default definition.
8350 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8351 name with _ prepended.
8352 (NSIG): Define if not known.
8353 (get_emacs_configuration): Provide extern declaration.
8354 (get_emacs_configuration_options): Provide extern declaration.
8355 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8356
8357 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8358 (map_w32_filename):
69a7ffa7
AI
8359 (read_unc_volume): Fix compile warning.
8360
8361 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8362 definitions from being used.
8363
8364 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8365
52283633 8366 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8367 (open_unc_volume): Make arg const.
8368
8369 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8370 (read_input_waiting): Remove excess parameter.
8371
8372 * w32.c (init_environment): Call _access.
8373 (check_windows_init_file): Call _close.
8374 (init_user_info): Call _putenv.
8375 (init_environment): Call _putenv and _strdup.
8376 (init_ntproc): Reset volume info cache on startup.
8377
8378 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8379 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8380 cannot override the CRT malloc.
8381
8382 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8383 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8384
8385 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8386 unless we are linking with a static CRT.
8387 (RVA_TO_PTR): Cast result to unsigned char*.
8388
8389 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8390 (add_volume_info): Use xstrdup.
8391
25060080
SM
83922000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8393
8394 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8395 (do_completion, Fminibuffer_complete_word): Use it.
8396 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8397 var so it can take non-boolean values.
8398
6917e6bb
GM
83992000-08-21 Gerd Moellmann <gerd@gnu.org>
8400
acb7cc89 8401 * editfns.c (find_field): Formatting changes.
52283633 8402 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8403 changed to prototypes, some new protypes added, some functions
8404 made static.
8405
8406 * lisp.h (set_time_zone_rule): Add prototype.
8407 (use_dialog_box): External declaration.
8408
0bbfdc25
GM
8409 * keyboard.c (gen_help_event): Add parameter SIZE.
8410 (kbd_buffer_events_waiting): Slightly rewritten.
8411 (clear_event): New function.
8412 (kbd_buffer_get_event): Use it, and clear the input_events of
8413 HELP_EVENTs.
8414 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8415 don't fill the newly created array with nils.
8416 (toplevel): Convert some old-style function forward declarations
8417 to prototypes.
8418
8419 * keyboard.h (gen_help_event): Change prototype.
8420
8421 * xterm.c (XTread_socket): Change calls to gen_help_event.
8422
8423 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8424
6917e6bb
GM
8425 * eval.c (Fmacroexpand): Doc fix.
8426
e5cd3d11
JR
84272000-08-20 Jason Rumney <jasonr@gnu.org>
8428
8429 * w32term.h (x_display_info_for_display): Remove as this function
8430 does not exist on W32.
8431
8432 * w32term.c (help_echo_window): New variable.
8433 (syms_of_w32term): staticpro it.
8434 (note_mode_line_highlight): Set it.
8435 (XTextExtents16): Removed as there is no equivalent on W32.
8436 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8437 the X way of doing this will not work for W32.
8438 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8439 (x_draw_image_foreground): Avoid drawing outside of the clip area
8440 when image doesn't have a mask.
8441 (note_mouse_highlight): Process overlays in the right order of
8442 priority. Set help_echo_window.
8443 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8444 because that's more visible for large images.
8445
8446 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8447 name to single_keymap_panes.
8448 (w32_menu_show): Set wv->title when dealing with titles.
8449 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8450
6e69ab8c
MB
84512000-08-21 Miles Bader <miles@gnu.org>
8452
8453 * minibuf.c (do_completion): Try again if we rewrite the input
8454 string, but no completion was done, so that any completion message
8455 will be correct.
8456
511bd4eb
GM
84572000-08-20 Gerd Moellmann <gerd@gnu.org>
8458
8459 * xfaces.c (lface_equal_p): Compare strings differently.
8460 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8461 (realize_tty_face): Use them.
8462 (syms_of_xfaces): Initialize new variables.
8463 (map_tty_color): New function, extracted from realize_tty_face.
8464 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8465 foreground or background color, store the new color name in the
8466 realized face; previous code trying to do this had no effect.
8467 (realize_tty_face): Use map_tty_color.
8468 (Fclear_face_cache): Set face_change_count and ensure thorough
8469 redisplay.
8470
1433385f
GM
84712000-08-19 Gerd Moellmann <gerd@gnu.org>
8472
511bd4eb
GM
8473 * undo.c (record_first_change, record_marker_adjustment): Don't
8474 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8475
419ac0a2
KH
84762000-08-18 Kenichi Handa <handa@etl.go.jp>
8477
8478 * coding.c (decode_coding_string): Set members consumed,
8479 consumed_char, produced, produced_char of *coding correctly. If
8480 decode_coding doesn't consume any byte, don't try anymore.
8481 (encode_coding_string): Likewise.
8482
7eb9e30d
GM
84832000-08-18 Gerd Moellmann <gerd@gnu.org>
8484
511bd4eb
GM
8485 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8486 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8487
8488 * xdisp.c (redisplay_internal): Compare windows for equality with
8489 EQ, instead of applying XWINDOW to something that might not
8490 be a window.
52283633 8491
dd34a735
KH
84922000-08-18 Kenichi Handa <handa@etl.go.jp>
8493
8494 * fontset.c (Finternal_char_font): Search only the selected frame
8495 for a window of the current buffer.
8496
385ff9e3
GM
84972000-08-18 Gerd Moellmann <gerd@gnu.org>
8498
511bd4eb 8499 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8500 Lisp_Objects.
8501
385ff9e3
GM
8502 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8503 second half of a HELP_EVENT is found at the start of kbd_buffer.
8504
d6abb4c7
MB
85052000-08-18 Miles Bader <miles@gnu.org>
8506
4618074a
MB
8507 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8508
d6abb4c7
MB
8509 * editfns.c (save_restriction_save): Rewrite to use markers.
8510 (save_restriction_restore): Rewrite to understand new form of data
8511 saved by save_restriction_save.
8512 (Fsave_restriction): Remove cautionary note in doc-string.
8513
a7b28523
GM
85142000-08-17 Gerd Moellmann <gerd@gnu.org>
8515
8516 * fileio.c (build_annotations): Add a comment explaining the
8517 return value of format-annotate-function. Replace a spurious call
8518 to Flength with a CONSP test. Call format-annotate-function with
8519 a fifth arg specifying how many times the function is been called
8520 in a row, to let it choose temporary buffers appropriately.
8521
03c9ed77
DL
85222000-08-17 Dave Love <fx@gnu.org>
8523
8524 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8525 declare make_temp_name twice.
8526
52283633 8527 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8528 (unreadpure): Give it an arg.
8529
8530 * unexalpha.c: Prototype fatal_unexec, mark_x,
8531 update_dynamic_symbols. Declare unexec as void.
8532
8533 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8534 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8535
8536 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8537 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8538
8539 * alloca.c: Use #error.
8540 [POINTER_TYPE]: Use it.
8541
8542 * eval.c (Fdefvar): Doc fix.
8543
8544 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8545 INITIALIZE_INTERVAL.
8546
8547 * buffer.h: Avoid DECLARE_INTERVALS.
8548
8549 * config.in: Add size_t.
8550
aae41d97
EZ
85512000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8552
8553 * w16select.c (set_clipboard_data): If there's not enough memory
8554 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8555 expects. In case of other failures, return 3.
8556 (system_error_msg): New error message.
8557 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8558 system_error_msg.
8559
65aa5e85
GM
85602000-08-16 Gerd Moellmann <gerd@gnu.org>
8561
8562 * term.c (write_glyphs): Also turn off inverse video after turning
8563 off other appearances in case TS_exit_attribute_mode is not equal
8564 to TS_end_standout_mode.
8565 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8566 with the same face.
8567 (turn_off_face): Reset standout_mode only if
8568 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8569 is equal to TS_end_standout_mode.
8570
ece23901
KH
85712000-08-16 Kenichi Handa <handa@etl.go.jp>
8572
9d7bcb2e
KH
8573 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8574 sequence at the end of the source block.
8575
ece23901
KH
8576 * ccl.c (Fccl_program_p): Docstring modified.
8577 (Fccl_execute): Likewise.
8578 (Fccl_execute_on_string): Likewise.
8579
5e30eaa2
EZ
85802000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8581
8582 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8583
290602fd
KH
85842000-08-16 Kenichi Handa <handa@etl.go.jp>
8585
8586 The following changes are mainly to fix bugs of
8587 encode/decode-coding-string failing if encoding/decoding return
8588 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8589 variable conversion_buffer.
8590
8591 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8592 decrement dst_end to avoid buffer overflow in the later call of
8593 string_as_multibyte
8594
8595 * coding.h (conversion_buffer_size, conversion_buffer)
8596 (get_conversion_buffer): Extern deleted.
8597
8598 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8599 (conversion_buffer, conversion_buffer_size): Variables deleted.
8600 (get_conversion_buffer): Function deleted.
8601 (struct conversion_buffer): New structure.
8602 (MAX_ALLOCA): New macro.
8603 (allocate_conversion_buffer): New macro.
8604 (extend_conversion_buffer, free_conversion_buffer): New functions.
8605 (ccl_coding_driver): Set coding->result.
8606 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8607 this is the last block of source.
8608 (encode_coding): Likewise. Handle the source block as the last
8609 one only when the whole source text is consumed.
8610 (decode_coding_string): Handle the case that the output buffer is
8611 too small to decode the whole source text. Use
8612 allocate_conversion_buffer, extend_conversion_buffer and
8613 free_conversion_buffer, not get_conversion_buffer.
8614 (encode_coding_string): Likewise.
8615 (init_coding): Function deleted.
52283633 8616 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8617
8618 * emacs.c (main): Don't call init_coding.
8619
52283633 8620 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8621
8622 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8623 (insert_glyphs): Likewise.
8624
8625 * w32console.c (write_glyphs): Use a locally declared
8626 conversion_buffer.
8627
b9f80d41
EZ
86282000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8629
8630 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8631 member of display_info is NULL.
8632
32dc52f7
GM
86332000-08-15 Gerd Moellmann <gerd@gnu.org>
8634
52283633 8635 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8636
32dc52f7 8637 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8638 appearances with capability `me'.
32dc52f7
GM
8639 (write_glyphs): Switch on inverse video before each face change.
8640
4eb22d33
DL
86412000-08-14 Dave Love <fx@gnu.org>
8642
8643 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8644 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8645 (lisp_free): Declare and make static.
8646
8647 * window.c: Fix embedded comment.
8648 (syms_of_window): Fix doc string.
8649
90cbf47e
GM
86502000-08-14 Gerd Moellmann <gerd@gnu.org>
8651
52283633 8652 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
8653 make sure to print `C-' before `M-', like in the manual.
8654
440fc135
GM
86552000-08-11 Gerd Moellmann <gerd@gnu.org>
8656
8657 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8658 since they aren't relocated anymore.
52283633 8659 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
8660
8661 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 8662 partially visible line which is smaller than the window's height.
440fc135 8663
6e264fad
KH
86642000-08-11 Kenichi Handa <handa@etl.go.jp>
8665
8666 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 8667 the multibyte form of eight-bit-control characters.
6e264fad
KH
8668 (Fccl_execute_on_string): Initialize ccl->multibyte.
8669
8670 * ccl.h (struct ccl_program): New member multibyte.
8671
8672 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
8673
c371f69a
KH
86742000-08-11 Kenichi Handa <handa@etl.go.jp>
8675
8676 * regex.c (regex_compile) <normal_char>: Pay attention to
8677 multibyteness.
8678 (analyse_first) <exactn>: Setup fastmap correctly for
8679 eight-bit-control characters.
8680
86812000-08-11 Kenichi Handa <handa@etl.go.jp>
8682
52283633 8683 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
8684
8685 * keyboard.c (make_lispy_event): Handle the new event type
8686 multibyte_char_keystroke.
8687
8688 * xterm.c: Include coding.h.
8689 (XTread_socket): Work around a bug of XmbLookupString. If the
8690 input is from XIM, decode it according to the current locale. In
8691 that case, generate multibyte_char_keystroke events.
8692
b8ddbe71
KH
86932000-08-11 Kenichi Handa <handa@etl.go.jp>
8694
8695 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
8696 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
8697
47589c8c
GM
86982000-08-10 Gerd Moellmann <gerd@gnu.org>
8699
8700 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
8701 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
8702 (move_it_in_display_line_to): Record iterator's ascent and descent
8703 before producing glyphs, and restore them when we know the glyph
8704 doesn't fit on the line.
8705 (move_it_to): Restructured so that it's easier to debug. If
8706 moving to a vpos, and not moving to an x or character position,
8707 stop as soon as the specified vpos is reached; don't move further
8708 into that line because that might change the computed line height.
8709 (try_cursor_movement): New function, extracted from the cursor
8710 movement branch of redisplay_window. If ending on a partially
8711 visible line, don't try to scroll if the cursor line is taller
8712 than the window.
8713 (redisplay_window): Use try_cursor_movement.
8714
8715 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8716 because that function doesn't cope with variable-height lines.
8717
8718 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8719 box cursor because that's better visible for large images.
52283633 8720
c51bacd6
MB
87212000-08-10 Miles Bader <miles@gnu.org>
8722
8723 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8724
bea56df7
GM
87252000-08-10 Gerd Moellmann <gerd@gnu.org>
8726
8727 * xdisp.c (Vmessages_buffer_name): New variable.
8728 (message_dolog): Use it.
8729 (syms_of_xdisp): Initialize it.
8730
99cd7364
EZ
87312000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8732
52283633 8733 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
8734 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8735 redundant now that keyboard.h is included.
8736
7d093d56
EZ
87372000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8738
8739 * keyboard.c (kbd_buffer_events_waiting): New function.
8740
8741 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8742
8743 * msdos.c: Include keyboard.h.
8744 (XMenuActivate): Empty no_event events from the event buffer. If
8745 no events are left after that, call clear_input_pending.
8746 (mouse_clear_clicks): New function, code moved from mouse_init.
8747 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8748 mouse driver to ``forget'' any past clicks.
8749
8750 * Makefile.in (msdos.o): Depend on keyboard.h.
8751
41e757a6
GM
87522000-08-09 Gerd Moellmann <gerd@gnu.org>
8753
8e7bd231
GM
8754 * lisp.h (input_pending): External declaration.
8755
8756 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8757
8e7bd231
GM
8758 * xdisp.c (echo_area_display): Display thoroughly if input is
8759 pending. Bind redisplay-dont-pause to t during the redisplay.
8760 in case input is pending.
8761
8762 * dispnew.c (Qredisplay_dont_pause): New variable.
8763 (syms_of_display): Initialize and staticpro it.
8764 (update_frame_1): Don't interrupt the display for pending input if
8765 redisplay_dont_pause is set.
52283633 8766
43028b7e
GM
8767 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8768
41e757a6
GM
8769 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8770
2f2174fa
KH
87712000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8772
8773 * callproc.c (Fcall_process): Terminate the unwind-protect around
8774 the post-read-conversion of coding system.
8775
0a6fd67e
MB
8776 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8777 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8778 * buffer.h (overlays_at): Update prototype.
8779 * xdisp.c (next_overlay_change): Update call to overlays_at.
8780 * xfaces.c (face_at_buffer_position): Likewise.
8781 * textprop.c (Fget_char_property): Likewise.
8782 * xterm.c (note_mouse_highlight): Likewise.
8783
0c80756e
MB
8784 * minibuf.c (do_completion): Don't consider a simple change of
8785 case as `completion'.
8786
975f250a
KR
87872000-08-08 Ken Raeburn <raeburn@gnu.org>
8788
52283633 8789 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8790 * undo.c (record_delete): Make sure last_point_position_buffer is
8791 a buffer before comparing pointers.
8792
8793 * coding.h (decode_coding_string): Declare.
8794
8795 * intervals.h (Fprevious_single_char_property_change): Declare.
8796
8797 * textprop.c (Fprevious_single_char_property_change): Don't do
8798 arithmetic directly on lisp objects.
8799
52283633 8800 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
8801
8802 * keyboard.h (menu_item_eval_property): Declare.
8803
8804 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8805 reuse as buffer name, instead of recreating (and discarding) every
8806 time a message is logged.
8807 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
8808 (current_message_1, truncate_message_1, set_message_1)
8809 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8810 (current_message, truncate_echo_area, display_echo_area)
8811 (resize_echo_area_axactly): Changed calls.
b347b3fd 8812
975f250a 8813 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 8814 Lisp object.
975f250a 8815 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 8816 must be an integer, not a Lisp object.
975f250a 8817
46dc9912
KH
88182000-08-08 Kenichi Handa <handa@etl.go.jp>
8819
8820 * charset.c (Fchar_width): Doc fix.
8821
9f6d1a6c
GM
88222000-08-08 Gerd Moellmann <gerd@gnu.org>
8823
8824 * charset.c (Fstring_width): Doc fix.
8825
ff3d9573
GM
88262000-08-07 Gerd Moellmann <gerd@gnu.org>
8827
41e757a6 8828 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
8829 line, clear ascent and descent members of the iterator structure;
8830 the height of the continued line does not affect the height of the
8831 continuation line.
8832 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8833 line taller than the window.
8834 (redisplay_window) <forced window start>: Handle case that the
8835 middle of the window is not found in any row.
8836 (dump_glyph_row): Show more information.
8837 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8838 first text line in a glyph matrix.
8839
8840 * xterm.c (x_draw_image_foreground): Avoid drawing outside
8841 of the clip area when image doesn't have a mask.
8842
70fc58b3
GM
8843 * fns.c (sweep_weak_table): Fix survival conditions for
8844 key-or-value and key-and-value weakness.
8845
8846 * .gdbinit (xhashtable): New command.
8847
ac0e96ee
GM
8848 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
8849 tables out of the list of all weak hash tables.
8850
ff3d9573
GM
8851 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
8852 a new buffer is created, make sure echo_area_buffer[] references
8853 the new buffer.
8854
e0d8827b
EZ
88552000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
8856
8857 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
8858 the doc string.
8859
c6f35378
KH
88602000-08-07 Kenichi Handa <handa@etl.go.jp>
8861
8862 * syntax.c (skip_chars): Fix previous change. Make the handling
8863 of unibyte string consistent with that of regex search.
8864
1fd4c450
GM
88652000-08-05 Gerd Moellmann <gerd@gnu.org>
8866
e49aa397
GM
8867 * xmenu.c (popup_get_selection): Use xfree instead of free.
8868
8869 * fileio.c (Finsert_file_contents): Use xfree instead of free.
8870
8871 * editfns.c (Ftranspose_regions): Use xfree instead of free.
8872
8873 * callproc.c (child_setup): Use xfree instead of free.
8874
8875 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
8876 instead of malloc.
8877 (run_mac_command, closedir): Use `xfree' instead of `free'.
8878
8879 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
8880
8881 * eval.c (error): Use xfree instead of free.
8882
1fd4c450
GM
8883 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
8884
8885 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8886 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8887
82d497fc
KH
88882000-08-05 Kenichi Handa <handa@etl.go.jp>
8889
8890 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8891 conversion.
8892
59f953a2
NF
88932000-08-04 Noah Friedman <friedman@splode.com>
8894
8895 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8896 docstring.
8897
688351f2
GM
88982000-08-04 Gerd Moellmann <gerd@gnu.org>
8899
8900 * syntax.c (skip_chars): Fix typo in error message.
8901
2dad51cc
AS
89022000-08-04 Andreas Schwab <schwab@suse.de>
8903
8904 * m/ia64.h: Moved from s/ia64.h.
8905
99bb2c60
KH
89062000-08-04 Kenichi Handa <handa@etl.go.jp>
8907
082a1df2
KH
8908 * process.c (read_process_output): Big simplification. Handle
8909 composition and post-read-conversion of coding system correctly.
8910 (send_process): Handle composition correctly.
8911
8912 * callproc.c (Fcall_process): Handle post-read-conversion of
8913 coding system if any.
8914
99bb2c60
KH
8915 * coding.c (decode_coding_iso2022): More strict check for handling
8916 single shifting.
082a1df2
KH
8917 (coding_restore_composition): Pay attention to the case that
8918 cmp_data is not set properly (because of invalid code in the
8919 source text).
8920 (run_pre_post_conversion_on_str): Include text properties in the
8921 resulting string.
8922 (decode_coding_string): Set members of coding correctly.
99bb2c60 8923
f4988be7
GM
89242000-08-03 Gerd Moellmann <gerd@gnu.org>
8925
8926 * s/ia64.h: New file.
8927
8928 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8929 Use NULL instead of 0 at the end of variable argument list of
8930 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8931 sizeof (int) < sizeof (void *).
8932
8933 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8934 of variable argument lists of XtVaGetValues and XtVaSetValues.
8935
8936 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8937 variable argument lists of XtVaGetValues and XtVaSetValues.
8938
ead53494
GM
89392000-08-02 Gerd Moellmann <gerd@gnu.org>
8940
8941 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8942 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8943
8944 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8945 prototype.
8946
8947 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8948 in call to Fsingle_key_description.
8949
8950 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8951 Callers changed.
8952
89532000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8954
8955 * window.c (display_buffer_reuse_frames): New variable.
8956 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8957 frames displaying BUFFER.
52283633 8958 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8959
10b0f752
MB
89602000-08-01 Miles Bader <miles@gnu.org>
8961
8962 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8963 when to constrain NEW_POS (they were pretty screwed up before).
8964
16425c4a
EZ
89652000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8966
8967 * msdos.c (run_msdos_command): Save and restore the master
8968 environment, for the case that child_setup signals an error.
8969 When mirroring slashes in DOS shell commands, don't fail when
8970 argv[2] has embedded blanks.
da288c14
EZ
8971 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8972 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8973 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8974
8975 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
8976 using alloca; free it after run_msdos_command returns.
8977
27f73852
DL
89782000-07-27 Dave Love <fx@gnu.org>
8979
52283633
SM
8980 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
8981 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
8982
8983 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
8984
c0261b5e
EZ
89852000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
8986
8987 * editfns.c (lisp_time_argument): Fix last change.
8988
b548072f
GM
89892000-07-27 Gerd Moellmann <gerd@gnu.org>
8990
3ab82477
GM
8991 * fns.c (Fdelete): Make it work on vectors and strings in addition
8992 to lists.
8993
b548072f
GM
8994 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
8995 (syms_of_fns): Initialize new variables.
52283633 8996 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
8997 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
8998 weakness, with t meaning the same as `key-and-value'.
8999
91ae8751
KH
90002000-07-27 Kenichi Handa <handa@etl.go.jp>
9001
9002 * coding.h (struct coding_system): Member safe_charset deleted.
9003
9004 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9005 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9006 New variables.
91ae8751
KH
9007 (coding_safe_chars): New function.
9008 (CODING_SAFE_CHAR_P): New macro.
9009 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9010 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9011 (detect_coding_iso2022): New local variable safe_chars.
9012 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9013 safe_charsets member of the coding system.
9014 (decode_coding_iso2022): New local variable safe_chars.
9015 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9016 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9017 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9018 (ENCODE_UNSAFE_CHARACTER): New macro.
9019 (encode_coding_iso2022): New local variable safe_chars. Check
9020 unsafe chars.
9021 (setup_coding_system): Delete the code to initialize
9022 coding->safe_charses
9023 (intersection, find_safe_codings): New functions.
9024 (Ffind_coding_systems_region_internal): New function.
9025 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9026 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9027 variable and initialize it.
9028
9029 * fns.c (char_table_ref_and_index): New function.
9030
9031 * lisp.h (char_table_ref_and_index): Add prototype.
9032
34a7a267
SS
90332000-07-26 Sam Steingold <sds@gnu.org>
9034
9035 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9036 (Ffloat_time): New built-in Lisp function.
34a7a267 9037
a95cb10a
GM
90382000-07-26 Gerd Moellmann <gerd@gnu.org>
9039
3353ef5a
GM
9040 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9041 for the character code.
9042
9043 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9044 GNU/Linux.
9045
a95cb10a
GM
9046 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9047 if called for a popup menu.
9048 (xmenu_show): Store help string in widget values.
9049
b4a12321
DL
90502000-07-26 Dave Love <fx@gnu.org>
9051
9052 * syswait.h: Move some definitions.
9053 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9054 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9055 perspicuous definitions.
9056 (WTERMSIG): Fix bit pattern used.
9057
13f5ad37
KH
90582000-07-26 Kenichi Handa <handa@etl.go.jp>
9059
9060 * print.c (print_object): If vector printing is truncated, print
9061 "..." to indicate it as well as the case of list printing.
9062
070fe99c
GM
90632000-07-25 Gerd Moellmann <gerd@gnu.org>
9064
969065c3
GM
9065 * xdisp.c (next_element_from_display_vector): Improve comments.
9066
9067 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9068 for the character code, and the rest for the face id as in 20.x.
9069 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9070
9071 * window.c (window_display_table): Cleaned up.
9072
070fe99c
GM
9073 * syntax.c (Fforward_word): Add last arg nil in call of
9074 Fconstrain_to_field.
9075
bad77ef7
EZ
90762000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9077
969065c3 9078 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9079 identical but for the letter-case, don't call
9080 barf_or_query_if_file_exists.
bad77ef7 9081
c28da489
MB
90822000-07-25 Miles Bader <miles@gnu.org>
9083
9084 * editfns.c (find_field): Honor special `boundary' fields.
9085 (Qboundary): New variables.
9086 (syms_of_editfns): Initialize Qboundary.
9087 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9088 Use scan_buffer instead of find_before_next_newline, because it
9089 allows us to detect the boundary case where there's a newline at
9090 the search limit.
9091 * lisp.h (Fconstrain_to_field): Update external declaration.
9092
e3c31fd5
GM
90932000-07-24 Gerd Moellmann <gerd@gnu.org>
9094
9095 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9096 if that is nil.
c28da489 9097
c66c29a2
DL
90982000-07-24 Dave Love <fx@gnu.org>
9099
9100 * s/sunos4-0.h, s/sol2.h:
9101 (LIBS_TERMCAP): Move from m/sparc.h.
9102
9103 * m/sparc.h (TERMINFO): Moved to system files (probably only
9104 relevant for sunos4 judging by its vintage).
9105 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9106 __arch64__.
9107
fbe0a958
EZ
91082000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9109
9110 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9111 name to single_keymap_panes.
9112
7d88e5c9
AS
91132000-07-24 Andreas Schwab <schwab@suse.de>
9114
9115 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9116
e024b101
GM
91172000-07-24 Gerd Moellmann <gerd@gnu.org>
9118
9119 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9120 parameters instead of using int parameters. Expect FN to accept
9121 EMACS_INT parameters.
9122 (display_echo_area, resize_echo_area_axactly, current_message)
9123 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9124 with new argument list.
9125 (resize_mini_window_1): New callback function.
9126 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9127 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9128
25c1a9ce
KH
91292000-07-24 Kenichi Handa <handa@etl.go.jp>
9130
9131 * fontset.c (fontset_ref): Remove INLINE declaration.
9132 (fontset_ref_via_base): Likewise.
9133 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9134 to downcase.
9135
7f987ac0
EZ
91362000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9137
9138 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9139 correct order of priority. If help echo was found in an overlay,
9140 use that overlay as the object in which the help echo was found.
9141
e2db3069
MB
91422000-07-22 Miles Bader <miles@gnu.org>
9143
9144 * textprop.c (Fprevious_single_char_property_change): The initial
9145 property value should be from the position preceding POSITION, not
9146 following it.
9147
5e3203e4
EZ
91482000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9149
9150 * coding.c (syms_of_coding): Doc fix for
9151 inhibit-iso-escape-detection.
9152
62145073
GM
91532000-07-21 Gerd Moellmann <gerd@gnu.org>
9154
c20aeb83
GM
9155 * xterm.c (note_mouse_highlight): Process overlays in the right
9156 order of priority.
34a7a267 9157
743934db
GM
9158 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9159
9160 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9161 overlay, use that overlay as the object in which the help was found.
743934db 9162
d1dc7e43 9163 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9164
62145073
GM
9165 * window.c (foreach_window): Instead of a fake variable argument
9166 list, take one USER_DATA argument.
9167 (foreach_window_1): Likewise, and call callback functions with two
9168 args, the window and USER_DATA.
9169 (struct check_window_data): New struct.
9170 (check_window_containing): Use it.
9171 (window_from_coordinates): Set up a struct check_window_data for
9172 foreach_window.
9173 (add_window_to_list, freeze_window_start): Change parameters
9174 according to new calling convention.
9175
9176 * window.h (foreach_window): Change prototype.
9177
9178 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9179
91802000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9181
9182 * xmenu.c (menu_help_callback): Call show_help_echo with
9183 additional arguments OBJECT and POS.
9184
11270583
KH
91852000-07-21 Kenichi Handa <handa@etl.go.jp>
9186
07b14857
KH
9187 * data.c (Faset): Allow storing any multibyte character in a
9188 string. Convert unibyte string to multibyte if necessary.
9189
11270583
KH
9190 * xfns.c (x_encode_text): New function.
9191 (x_set_name): Use x_encode_text.
9192 (x_set_title): Likewise.
9193
9194 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9195
9196 * xterm.h (x_encode_text): Add prototype.
9197
bc75b4fd
DL
91982000-07-20 Dave Love <fx@gnu.org>
9199
9200 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9201 xfree, not free.
9202
48c14970
EZ
92032000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9204
9205 * msdos.c (help_echo_window): New variable.
9206 (syms_of_msdos): Initialize and staticpro it.
9207 (IT_note_mode_line_highlight): Set help_echo_window.
9208 (IT_note_mouse_highlight): Ditto.
9209 (dos_rawgetc): Store help_echo_window in the second event produced
9210 for HELP_EVENTs.
9211
9212 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9213 Record the object that generated the help echo and the position of
9214 that object in help_echo_object and help_echo_pos. Record that
9215 some glyphs in a row are displayed in mouse-face.
9216 (IT_update_begin): Don't clear mouse highlight unless one of the
9217 enabled glyph rows is marked as being displayed in mouse-face.
9218 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9219 and position recorded in help_echo_object and help_echo_pos to the
9220 event queue.
9221 (IT_menu_display): Accept a new argument PN: the pane number of
9222 the current menu pane. Record the pane number and the item
9223 number of the item which has associated help string.
9224 (XMenuActivate): Update the prototype for help_callback in
9225 function declaration. Call IT_menu_display with the current menu
9226 pane number as an additional argument. Call help_callback with
9227 two additional arguments: the pane number and the item number of
9228 the menu item associated with the help text.
9229 (help_echo_object, help_echo_pos): New variables.
9230 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9231
9232 * msdos.h (XMenuActivate): Update prototype.
9233
4279296d
GM
92342000-07-19 Gerd Moellmann <gerd@gnu.org>
9235
47db06aa
GM
9236 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9237 Add some more prototypes.
9238
9239 * xterm.c, xterm.h: Add some more prototypes.
9240
9241 * lisp.h (Fnext_single_char_property_change): Add prototype.
9242
9243 * dispnew.c (direct_output_for_insert): Remove confusing
9244 outer local variable mouse_face_overwritten_p.
9245 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9246
4279296d
GM
9247 * alloc.c (allocate_string_data): Don't copy old string contents.
9248
670acd62
KH
92492000-07-19 Kenichi Handa <handa@etl.go.jp>
9250
9251 * coding.c (code_convert_region): Delete text properties before
9252 shrinking the conversion region.
9253
7cea38bc
GM
92542000-07-18 Gerd Moellmann <gerd@gnu.org>
9255
dc1cac59
GM
9256 * dispnew.c (update_text_area): Write the whole row if it
9257 has mouse-face in it.
9258
85a8aca9
GM
9259 * xfaces.c (face-alternative-font-family-alist): Remove
9260 DEFVAR_LISP; staticpro instead.
9261
34a7a267 9262 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9263 new arguments.
9264
9265 * keyboard.c (show_help_echo): Add parameter WINDOW.
9266 (read_char): Call show_help_echo with window extracted from Lisp
9267 help event.
9268 (gen_help_event): Add parameter WINDOW.
9269
9270 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9271
9272 * xterm.c (help_echo_window): New variable.
52283633 9273 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9274 (XTread_socket): Pass help_echo_window to gen_help_event.
9275 (syms_of_xterm): Initialize and staticpro help_echo_window.
9276
f8276b77
DL
92772000-07-18 Dave Love <fx@gnu.org>
9278
52283633 9279 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9280
088831a6
GM
92812000-07-18 Gerd Moellmann <gerd@gnu.org>
9282
3d6cd763
GM
9283 * alloc.c (allocate_string_data): If string had already data
9284 assigned, copy old contents to new string data.
9285
9286 * coding.c (syms_of_coding): Fix typo in spelling of variable
9287 `inhibit-iso-escape-detection'.
9288
088831a6
GM
9289 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9290
9291 * Makefile.in: Add dependencies on dispextern.h.
9292 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9293 `free'; both can conflict with system header files.
9294
bc8a8d55
KH
92952000-07-18 Kenichi Handa <handa@etl.go.jp>
9296
9297 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9298 undefined.
9299
069f5950
DL
93002000-07-18 Dave Love <fx@gnu.org>
9301
9302 * window.c (Fwindow_list): Declare arg `window'.
9303
aa96c820
KH
93042000-07-18 Kenichi Handa <handa@etl.go.jp>
9305
9306 * coding.c (setup_coding_system): Don't override the explicitly
9307 specified designations.
9308
06be8d32
MB
93092000-07-15 Miles Bader <miles@gnu.org>
9310
9311 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9312 from `text_property_eq' and `text_property_stickiness', respectively.
9313 (find_field, Fconstrain_to_field, char_property_eq)
9314 (char_property_stickiness): Changed to call char-property functions
9315 instead of text-property-only ones.
9316
9317 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9318 `next_single_char_property_change'). Do more error checking, and
9319 cleanup limit behavior.
9320 (Fprevious_single_char_property_change): New function.
9321 (syms_of_textprop): Initialize new subrs.
9322
9323 * xdisp.c (display_prop_end, invisible_text_between_p):
9324 Call Fnext_single_char_property_change instead of
9325 next_single_char_property_change.
9326
3fddcdc3
JR
93272000-07-15 Jason Rumney <jasonr@gnu.org>
9328
9329 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9330 after menu is finished with.
9331 (add_menu_item): Only consider wv->title as a menu title.
9332 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9333
9334 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9335 null title.
9336 (FONT_REGEXP): Remove unused macro, and its sub-components.
9337 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9338
9339 * w32term.c (help_echo_object, help_echo_pos): New variables.
9340 (note_mode_line_highlight): Store additional information about the
9341 help-echo in help_echo_object and help_echo_pos. Check both
9342 `local-map' and `keymap' properties for changing the cursor
9343 (note_mouse_highlight): Store additional information about the
9344 help-echo in help_echo_object and help_echo_pos.
9345 (note_tool_bar_highlight): Set help_echo_object to nil and
9346 help_echo_pos to -1.
9347 (w32_read_socket): Use gen_help_event instead of filling
9348 input_events manually.
9349 (syms_of_w32term): Staticpro help_echo_object.
9350 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9351 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9352 (x_clear_mouse_face): New function.
9353 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9354 (x_update_window_begin): No need to turn off the mouse
9355 highlight here.
9356 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9357 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9358 (x_fill_stretch_glyph_string): Consume runs of stretch
9359 glyphs instead of a single one.
9360 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9361 with new argument list.
9362 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9363 (x_append_glyph, x_append_composite_glyph)
9364 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9365 changes in struct glyph starting 1999-12-27. See comments for
9366 xterm.c on 2000-07-05.
9367
178c5d9c
SS
93682000-07-14 Sam Steingold <sds@gnu.org>
9369
9370 * xfaces.c (realize_x_face): Fix the last patch:
9371 check `default_face' before dereferencing.
9372
6fe533f6
DL
93732000-07-14 Dave Love <fx@gnu.org>
9374
069f5950 9375 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9376
dd7b81cf
KH
93772000-07-14 Kenichi Handa <handa@etl.go.jp>
9378
0693904a 9379 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9380 default_face's fontset, not using the default fontset.
0693904a 9381
dd7b81cf
KH
9382 * coding.c (inhibit_iso_escape_detection): New variable.
9383 (syms_of_coding): Make it a Lisp variable.
9384 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9385 nonzero, ignore ISO2022's escape sequence.
9386
d5aa31d8
GM
93872000-07-14 Gerd Moellmann <gerd@gnu.org>
9388
e5acf0ca
GM
9389 * alloca.c (malloc) [emacs]: Define as xmalloc.
9390
bd23a692
GM
9391 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9392 use that instead of the mouse position. Add parameters DX and DY.
9393
9394 * dispextern.h (Fx_show_tip): Adjust number of parameters
9395 in prototype.
9396
9662da0b
GM
9397 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9398 if HELP is a function, call it with OBJECT and POS as parameters
9399 to get the help to display.
9400 (gen_help_event, kbd_buffer_store_help_event): New functions.
9401 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9402 (read_char): Call show_help_echo with new parameters.
9403
178c5d9c 9404 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9405 Add prototypes.
9406
9407 * xterm.c (help_echo_object, help_echo_pos): New variables.
9408 (note_mode_line_highlight): Store additional information about the
9409 help-echo in help_echo_object and help_echo_pos. Check both
9410 `local-map' and `keymap' properties for changing the cursor
9411 (note_mouse_highlight): Store additional information about the
9412 help-echo in help_echo_object and help_echo_pos.
9413 (note_tool_bar_highlight): Set help_echo_object to nil and
9414 help_echo_pos to -1.
9415 (XTread_socket): Use gen_help_event instead of filling
9416 input_events manually.
9417 (syms_of_xterm): Staticpro help_echo_object.
9418
9419 * xmenu.c (menu_highlight_callback): Use
9420 kbd_buffer_store_help_event instead of setting up and input_event
9421 structure manually.
9422
9423 * xdisp.c (eval_form): GCPRO argument sexpr.
9424 (call_function): New function.
9425 (handle_single_display_prop): Use call_function and FUNCTIONP
9426 instead of checking whether if font_height is a symbol and
9427 using eval_form.
9428
9429 * eval.c (internal_condition_case_2): New function.
9430
9431 * lisp.h (FUNCTIONP): New macro.
9432 (internal_condition_case_2, call_function): Add prototypes.
9433
d5aa31d8
GM
9434 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9435 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9436 Always set `arg' member of input_events.
9437 (construct_menu_click): Unused function removed.
9438
9439 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9440
9441 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9442 (construct_drag_n_drop, x_scroll_bar_handle_click)
9443 (w32_read_socket): Always set `arg' member of input_events.
9444
9445 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9446
9447 * lisp.h (eval_form): Add prototype.
9448
9449 * xdisp.c (eval_form): Make it externally visible.
9450
0f1a9b23
GM
94512000-07-13 Gerd Moellmann <gerd@gnu.org>
9452
9453 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9454 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9455 consing. For prefix events, store the frame in the `arg' slot of
9456 the event, otherwise store the key there.
9457 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9458 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9459
9460 * xmenu.c (menu_highlight_callback): Store help string in the
9461 `arg' member of the input event; don't cons.
9462 (menubar_selection_callback): Use the `arg' slot of input events
9463 to queue additional information, instead of consing.
9464
9465 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9466
9467 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9468 TOOL_BAR_EVENTs.
9469 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9470
9471 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9472 input events to queue additional information, instead of consing.
9473
9474 * keyboard.c (kbd_buffer_gcpro): Renamed from
9475 kbd_buffer_frame_or_window. Now used for all Lisp objects
9476 referenced from the input queue.
9477 (kbd_buffer_store_event): Always use structure assignment for
9478 copying input events. Record all Lisp objects referenced from
9479 events in kbd_buffer_gcpro.
9480 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9481 differently from input events. Test for prefix menu_bar_events
9482 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9483 event in kbd_buffer_gcpro to nil.
9484 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9485 frame_or_window is equal to its arg member as prefix events.
9486 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9487 used by an input event to nil.
9488 (init_keyboard): Use two times the size of the input queue
9489 for kbd_buffer_gcpro.
9490 (syms_of_keyboard): Likewise.
9491
52283633
SM
9492 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9493 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9494
9495 * termhooks.h (struct input_event): Add member `arg'.
9496 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9497 (USER_SIGNAL_EVENT): Renamed from user_signal.
9498
9499 * xfaces.c (ASET): Remove definition.
9500
9501 * lisp.h (AREF, ASET, ASIZE): New macros.
9502
9503 * fontset.c (AREF, ASIZE): Remove definitions.
9504
9505 * fns.c (AREF): Remove definition.
178c5d9c 9506
0f1a9b23
GM
9507 * composite.c (AREF): Remove definition.
9508
712eaef2
GM
95092000-07-12 Gerd Moellmann <gerd@gnu.org>
9510
d8ee7803
GM
9511 * dispnew.c (redraw_overlapped_rows): Add missing local.
9512 (scrolling_window): Remove debug code.
9513
712eaef2
GM
9514 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9515 Before scrolling, turn off a mouse-highlight in the window
9516 being scrolled.
9517
9518 * xterm.c (x_update_window_end): Add parameter
9519 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9520 redisplay in XTframe_up_to_date.
9521 (x_clear_mouse_face): New function.
9522 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9523
9524 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9525 current glyph row.
9526 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9527 it when any row is written to that contains glyphs highlighted in
9528 mouse-face.
9529 (update_window): Call the window update end hook with new
9530 parameter MOUSE_FACE_OVERWRITTEN_P.
9531 (direct_output_for_insert): Give up if row contains mouse-face.
9532
9533 * dispextern.h (struct redisplay_interface): Add parameter
9534 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9535 (clear_mouse_face): New function pointer member.
9536
02010917
SM
95372000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9538
9539 * syntax.c (back_comment): Use one switch rather than a few `if's.
9540 Obey open_paren_in_column_0_is_defun_start.
9541 When reverting to the `slow' method, try to nicely handle the case
9542 of nested comments by checking that the comment-starter we found
9543 does indeed match the comment-ender.
9544 (scan_sexps_forward, scan_sexps_forward):
9545 Ignore excessive opening parenthesis rather than throwing an error.
9546
d76c03ea
GM
95472000-07-11 Gerd Moellmann <gerd@gnu.org>
9548
9549 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9550 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9551
9552 * dispnew.c (direct_output_forward_char): Give up if currently
9553 displaying a message instead of the minibuffer contents.
9554
9555 * xterm.c (x_update_window_begin): No need to turn off the mouse
9556 highlight here.
9557 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9558 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9559
9560 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9561 compare the mouse_face_p flags of both rows.
9562
9563 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9564
d55ead18
EZ
95652000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9566
9567 * keyboard.c (show_help_echo): Accept additional parameter
9568 ok_to_overwrite_keystroke_echo.
9569 (read_char): Call show_help_echo with a zero
9570 ok_to_overwrite_keystroke_echo argument.
52283633 9571 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9572 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9573 ok_to_overwrite_keystroke_echo argument.
9574 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9575 non-zero ok_to_overwrite_keystroke_echo argument.
9576
df75b1a3
GM
95772000-07-10 Gerd Moellmann <gerd@gnu.org>
9578
4b92c49a
GM
9579 * xdisp.c (try_window_id): If changes are all below what is
9580 displayed in the window, and point is in the window, we still
9581 might have to find point on the display.
9582
9583 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9584 glyphs instead of a single one.
9585 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9586 with new argument list.
9587 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9588
df75b1a3
GM
9589 * keymap.c (get_keymap_1): Add comment that this function can GC.
9590 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9591 comment that functions can GC.
9592 (Fset_keymap_parent): GCPRO arg KEYMAP.
9593
4314cf3e
EZ
95942000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9595
9596 * msdos.c (XMenuActivate): After exiting the menu, restore the
9597 echo area message and erase it.
9598
ab49ce15
KH
95992000-07-10 Kenichi Handa <handa@etl.go.jp>
9600
9601 * fontset.c (Ffontset_info): Make the return value more compatible
9602 with that of Emacs 20.
9603
090a072f
GM
96042000-07-07 Gerd Moellmann <gerd@gnu.org>
9605
9606 * eval.c (Fsignal): Handle case that backtrace_list is null.
9607
f92de4a6
KH
96082000-07-07 Kenichi Handa <handa@etl.go.jp>
9609
9610 * ccl.c (Fccl_execute): Typo fixed.
9611
dd8888a1
GM
96122000-07-06 Gerd Moellmann <gerd@gnu.org>
9613
e5c81191 9614 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9615
dd8888a1
GM
9616 * window.c (Fwindow_list): Reverse list at the end.
9617 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9618 means allow windows on OWINDOW's frame, only.
9619 (window_loop): Simplified; use Fwindow_list.
9620
9621 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9622
485266d0
GM
96232000-07-05 Gerd Moellmann <gerd@gnu.org>
9624
9625 * xterm.c (XTread_socket): Increment handling_signal at the start,
9626 decrement it at the end.
9627
9628 * eval.c (handling_signal): New variable.
9629 (Fsignal): Abort if handling_signal is non-zero.
9630
9631 * lisp.h (handling_signal): External declaration.
178c5d9c 9632
485266d0
GM
9633 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9634
80fcd514
KR
96352000-07-05 Ken Raeburn <raeburn@gnu.org>
9636
9637 Sound support for NetBSD through "Linux emulation" support:
9638 * config.in (HAVE_SOUNDCARD_H): Undef.
9639 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9640 * Makefile.in (LIBSOUND): New variable.
9641 (LIBES): Include it.
52283633
SM
9642 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9643 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9644 (vox_open): Use DEFAULT_SOUND_DEVICE.
9645 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9646
d5c5cddd
GM
96472000-07-05 Gerd Moellmann <gerd@gnu.org>
9648
9649 * print.c (print_error_message): If Vsignaling_function is set,
9650 show it in *Messages*.
9651
9652 * lisp.h (Vsignaling_function): External declaration.
9653
9654 * eval.c (Vsignaling_function): New variable.
9655 (Fsignal): Compute it.
9656 (syms_of_eval): Staticpro it.
9657
65171e3a
DL
96582000-07-05 Dave Love <fx@gnu.org>
9659
9660 * syswait.h: Use the autoconf recommended approach. Old code
9661 #if'd out in case we need to revert.
9662
178c5d9c 9663 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 9664
e2c46326
AI
96652000-07-05 Andrew Innes <andrewi@gnu.org>
9666
9667 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
9668 when non-NULL instead of __morecore, to take account of buffer
9669 memory. This also solves a problem with spurious memory warnings
9670 on Windows.
9671
9672 * ralloc.c: Make real_morecore non-static.
9673
9674 * eval.c (internal_condition_case): Comment out abort if
9675 interrupt_input_blocked is not zero.
9676
9677 * makefile.nt: Add support for `bootstrap' and related targets.
9678 Include minimal debug info in emacs.exe in release build.
9679 Remove all dependencies on lisp.h, and fixup some others.
9680
9681 * w32.c (init_environment): Install code from 20.7 for providing
9682 default values for environment variables, based on the
9683 executable's own location.
52283633 9684 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
9685 (sys_socket): Install socket inheritance bug fix from 20.7.
9686
9687 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
9688 here via blockinput.h).
9689
a027a91b
SM
96902000-07-05 Stefan Monnier <monnier@cs.yale.edu>
9691
e4b31601
SM
9692 * w32menu.c (w32_menu_display_help):
9693 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
9694
9695 * keyboard.h (show_help_echo): Declare.
9696
9697 * keyboard.c (show_help_echo): New function, extracted from read_char.
9698 Feval its `msg' argument if it's a cons cell.
9699 (read_char): Use it.
4cf8d9d5 9700 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 9701
178c5d9c 9702 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 9703 (note_tool_bar_highlight, XTread_socket):
178c5d9c 9704 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
9705 (dos_rawgetc):
9706 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9707 (note_tool_bar_highlight, w32_read_socket):
9708 Do not gratuitously ignore non-string `help-echo' properties.
9709
88d75730
GM
97102000-07-05 Gerd Moellmann <gerd@gnu.org>
9711
969f7e79
GM
9712 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9713
71201b00
GM
9714 * window.c (delete_all_subwindows): Reset Vwindow_list.
9715
88d75730
GM
9716 * xterm.c (x_append_glyph, x_append_composite_glyph)
9717 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9718 changes in struct glyph starting 1999-12-27. Some bit-fields of
9719 struct glyph were not set, which made glyphs unequal when compared
9720 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9721 effects were the result. This also depended on the contents of
9722 memory returned by xmalloc. If flickering happens again, activate
9723 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9724 gone with that, chances are that it is caused by something similar.
88d75730
GM
9725
9726 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9727
88d75730
GM
9728 * dispextern.h: Add some comments.
9729
9730 * window.c (add_window_to_list): Add parameter LIST.
9731 (window_list): Order list so that, for each frame, windows are
9732 in canonical order, and so that frames appear in the list in
9733 the order given by Vframe_list.
9734 (next_window): Reverse the handling of NEXT_P.
9735
53654733
GM
97362000-07-04 Gerd Moellmann <gerd@gnu.org>
9737
87efd256
GM
9738 * window.c (Vwindow_list): New variable.
9739 (make_window, delete_window): Set Vwindow_list to nil.
9740 (check_window_containing): New function.
9741 (window_from_coordinates): Rewritten.
9742 (add_window_to_list, window_list, candidate_window_p)
9743 (decode_next_window_args, next_window): New functions.
52283633 9744 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
9745 (Fwindow_list): New function.
9746 (Fother_window): Cleaned up.
9747 (foreach_window): Add a longer "variable argument list". Let
9748 callback function return 0 to indicate that cycling over windows
9749 should stop.
9750 (foreach_window_1): Likewise.
9751 (freeze_window_start): Return int.
9752 (init_window): New function.
9753 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9754
9755 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9756 input_event with bzero.
9757 (main): Call init_window.
9758
53654733
GM
9759 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9760 a menu filter.
9761
4a8c194f
KH
97622000-07-04 Kenichi Handa <handa@etl.go.jp>
9763
9764 * composite.h (make_composition_value_copy): Extern it.
9765
9766 * composite.c (make_composition_value_copy): New function.
9767
9768 * editfns.c (Fformat): While copying text properties, make each
9769 composition property value a copy.
9770
9771 * fns.c (concat): While copying text properties, make each
9772 composition property value a copy.
9773
831a6cb0
GM
97742000-07-03 Gerd Moellmann <gerd@gnu.org>
9775
2f516940
GM
9776 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9777
178c5d9c 9778 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9779 marked already.
9780
831a6cb0
GM
9781 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9782 include those frames as candidates which have their focus
9783 redirected to the minibuffer frame.
9784
d9c4f922
SM
97852000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9786
9787 * fns.c (Fputhash): Return `value' rather than nil.
9788
3780bc22
GM
97892000-06-30 Gerd Moellmann <gerd@gnu.org>
9790
97d176db
GM
9791 * frame.c (next_frame): Don't check focus redirection in case
9792 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9793 unless their focus is redirected, which contradicts the
9794 specification of next-frame, and leads to infinite loops in
9795 certain situations when cycling through windows with next-window.
9796
dca9961d
KH
97972000-06-30 Kenichi Handa <handa@etl.go.jp>
9798
9799 * coding.c (code_convert_region): Even if the length of text is
9800 zero, try to convert it if coding->type is coding_type_ccl.
9801 (decode_coding_string, encode_coding_string): Likewise.
9802
d5483ab1
GM
98032000-06-28 Gerd Moellmann <gerd@gnu.org>
9804
af5c25e1 9805 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 9806 the display if windows_or_buffers_changed.
af5c25e1
GM
9807
9808 * dispnew.c (struct row_entry): New structure.
9809 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9810 (row_table_size, old_lines, new_lines, old_lines_size)
9811 (new_lines_size, run_pool, runs_size, runs): New variables.
9812 (add_row_entry): New function.
9813 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 9814 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
9815 holding them in local variables. Use a larger hash table whose
9816 size depends on glyph matrix sizes. Don't use bzero to clear the
9817 hash table; instead, clear used slots only.
9818
9819 * fns.c (next_almost_prime): Make it externally visible.
9820
9821 * lisp.h (next_almost_prime): Add prototype.
9822
d5483ab1
GM
9823 * s/isc4-0.h (sigunblock): Define.
9824
9825 * s/sco5.h (sigunblock): Define.
9826
93e40f40
DL
98272000-06-27 Dave Love <fx@gnu.org>
9828
9829 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9830 (moved to osf5-0.h).
9831 [!NOT_C_CODE]: Protect string.h stuff.
9832
9833 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9834 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9835
3c4b7685
GM
98362000-06-27 Gerd Moellmann <gerd@gnu.org>
9837
97d176db 9838 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
9839 below the last line from the needed window height.
9840
32cad0aa
SM
98412000-06-26 Stefan Monnier <monnier@cs.yale.edu>
9842
9843 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
9844 (Fwidget_get): Use it.
9845 (syms_of_fns): Defsubr it.
9846
2c69ced2
GM
98472000-06-26 Gerd Moellmann <gerd@gnu.org>
9848
178c5d9c 9849 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
9850 display info for XIM.
9851 (xim_open_dpy): Likewise.
9852 (xim_close_dpy): Don't free the display info's XIM.
9853
9854 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
9855
9856 * config.in (USE_XIM): New define.
9857
3fc720e4
GM
9858 * keymap.c (get_keyelt): For menu-items containing a `:filter
9859 FILTER', apply FILTER to the menu-item's definition to get the
9860 real definition to use.
9861
9862 * lisp.h (QCfilter): External declaration.
9863
2c69ced2
GM
9864 * xfns.c (Fimage_size): New function.
9865 (syms_of_xfns): Defsubr it.
9866
f978b2a2
AS
98672000-06-26 Andreas Schwab <schwab@suse.de>
9868
9869 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
9870 Fstring_as_unibyte.
9871
94cc7892
DL
98722000-06-25 Dave Love <fx@gnu.org>
9873
52283633 9874 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
9875
9876 * Makefile.in (blockinput.h): Depend on atimer.h.
9877 (atimer.h): Depend on systime.h.
9878
52283633 9879 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 9880
52283633 9881 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
9882
9883 * lisp.h (swap_in_global_binding): Declare.
9884
b8c24556
KR
98852000-06-24 Ken Raeburn <raeburn@gnu.org>
9886
9887 * process.c (Fopen_network_stream): Turn off atimers for duration
9888 of call to connect. (Patch from Gerd.)
9889
8cf8560b
DL
98902000-06-23 Dave Love <fx@gnu.org>
9891
511c7541
DL
9892 * ralloc.c: Maybe include unistd.h
9893
8cf8560b
DL
9894 * emacs.c (setgrp): Undefine before defining.
9895 (malloc_warning, set_time_zone_rule, index): Prototype.
9896
9897 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9898 HAVE_STRUCT_TIMEZONE.
9899
9900 * s/osf1.h: Move string.h hack here from alpha.h and make it
9901 conditional.
9902 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9903 _XOPEN_SOURCE.
9904 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9905 (SOCKLEN_TYPE): Don't define.
9906
9907 * m/alpha.h: Remove string.h hack.
9908
9909 * s/osf5-0.h: New file.
9910
9911 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9912 include time.h, done by systime.h.
9913 [__FreeBSD__]: Remove redundant includes.
9914
3fc720e4 9915 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9916 (delete_temp_file): Return Qnil to avoid warning.
9917
9918 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9919
9920 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9921 HAVE_X_WINDOWS.
9922
9923 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9924
9925 * composite.h (compose_text): Declare.
9926
9927 * xterm.c: Don't include sys/types.h unconditionally. Don't
9928 protect its inclusion with !USG (following xmenu.c).
9929
ea055732
GM
99302000-06-23 Gerd Moellmann <gerd@gnu.org>
9931
9932 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9933 in x_create_frame.
9934
74b01b80
EZ
99352000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9936
9937 * coding.c (decode_eol_post_ccl): Special handling for undecided
9938 and inconsistent EOL types.
9939
64f3a166
GM
99402000-06-22 Gerd Moellmann <gerd@gnu.org>
9941
16cf31f7
GM
9942 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9943 trough color and main window's background color.
9944
52283633 9945 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9946
9947 * xterm.h (Xt_app_con): External declaration.
9948
9949 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9950
486a103d
GM
9951 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9952
64f3a166
GM
9953 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9954 (handle_invisible_prop): Record the start of invisible text in
9955 it->add_overlay_start.
9956 (struct overlay_entry): Add member `overlay'.
9957 (handle_overlay_change): Simplify.
9958 (next_overlay_string): After having processed overlay strings at the
9959 end of the buffer, record that fact in
9960 it->overlay_strings_at_end_processed_p.
9961 (compare_overlay_entries): If before- and after-strings come
9962 from the same overlay, let before-strings come first.
9963 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9964 (load_overlay_strings): Take it->add_overlay_start into account
9965 when adding overlay strings.
9966
9967 * dispextern.h (struct it): Add member add_overlay_start.
9968
bb746ea6
DL
99692000-06-22 Dave Love <fx@gnu.org>
9970
9971 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9972
9973 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9974
a8f573f3
KH
99752000-06-22 Kenichi Handa <handa@etl.go.jp>
9976
9977 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
9978 is greater than 0.
9979
9f2bbc92
DL
99802000-06-21 Dave Love <fx@gnu.org>
9981
178c5d9c 9982 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 9983
3ee5041c
SM
99842000-06-21 Stefan Monnier <monnier@cs.yale.edu>
9985
9986 * syntax.c (back_comment): Simplify string-parity counting (with
9987 the added benefit of handling multiple string-styles as long as
9988 they are not intertwined).
9989 Jump to the slow code as soon as a comment starter is found in
9990 a "string_lossage" position. Fixes the case: " /* " /* " */.
9991
4c343001
DL
99922000-06-21 Dave Love <fx@gnu.org>
9993
9994 * Makefile.in: Use GETLOADAVG_LIBS.
9995
9996 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
9997 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
9998
e6365855
SM
99992000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10000
10001 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10002 (Fforward_comment, scan_lists):
10003 Check the comstyle of single-char comment-starters.
10004 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10005 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10006 Check the comstyle of single-char comment-starters.
10007 Clarify control-flow around the Scomment case.
e6365855 10008
5700d2cc
DL
100092000-06-20 Dave Love <fx@gnu.org>
10010
d355bd8a
SM
10011 * fns.c (make_hash_table, maybe_resize_hash_table):
10012 Cast arg of next_almost_prime.
5700d2cc 10013
178c5d9c 10014 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10015
10016 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10017 and unistd.h.
10018
4a27bdfb
GM
100192000-06-20 Gerd Moellmann <gerd@gnu.org>
10020
a61d762c 10021 * keyboard.c (adjust_point_for_property): Check if display
52283633 10022 property should be treated as intangible by looking at its value.
a61d762c 10023
178c5d9c 10024 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10025 (display_prop_intangible_p): New functions.
10026
10027 * dispextern.h (display_prop_intangible_p): Add prototype.
10028
10029 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10030
4a27bdfb
GM
10031 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10032 argument to sigprocmask.
10033
10034 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10035 argument to sigprocmask.
10036
10037 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10038 sigprocmask_set, and pass a pointer to it to sigprocmask.
10039
10040 * sysdep.c (sigprocmask_set): New variable.
10041
10042 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10043 report_file_error.
10044
427ec082
SS
100452000-06-20 Sam Steingold <sds@gnu.org>
10046
10047 * xrdb.c: Don't declare xmalloc, xrealloc.
10048
8972fe79 100492000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10050
10051 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10052 (re_comp): Cast gettext return value to avoid complaints when
10053 !HAVE_LIBINTL.
10054
074b6efe
DL
100552000-06-20 Dave Love <fx@gnu.org>
10056
52283633 10057 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10058
5700d2cc 10059 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10060
d355bd8a 10061 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10062
10063 * m/alpha.h: Don't declare xmalloc, xrealloc.
10064
0af4f205
DL
10065 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10066
10067 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10068
10069 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10070
10071 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10072 HAVE_GETWD.
10073
074b6efe
DL
10074 * keyboard.h (poll_for_input_1): Declare.
10075
10076 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10077
10078 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10079
10080 * doprnt.c: Don't declare xmalloc, xrealloc.
10081
10082 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10083 (getenv, ctime, getwd): Removed.
10084 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10085
10086 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10087 x_set_tool_bar_lines.
10088
10089 * config.in: Add HAVE_GETWD. Move some definitions above
10090 machine/system includes.
10091
68a5e97b
KH
100922000-06-20 Kenichi Handa <handa@etl.go.jp>
10093
95417e1e
KH
10094 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10095
68a5e97b
KH
10096 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10097 contain information about ENCODING.
10098
10099 * fontset.c (FONTSET_ASCII): Use the first element of char table
10100 for an ASCII font, not defalt slot.
10101 (fontset_ref_via_base): If FONTSET doesn't contain information for
10102 C, try the default fontset.
10103 (make_fontset): Don't copy the default fontset.
10104 (fontset_font_pattern): Likewise.
10105 (accumulate_font_info): If ELT is nil, use the corresponding
10106 element in the default fontset.
10107
3b4fa1b2
DL
101082000-06-19 Dave Love <fx@gnu.org>
10109
943e731c
DL
10110 * syntax.c (Fparse_partial_sexp): Doc fix.
10111
10112 * regex.h: Test PROTOTYPES as well as __STDC__.
10113
3b4fa1b2
DL
10114 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10115 errno, strerror. Put text after #endif in comment.
10116
52283633 10117 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10118
10119 * xterm.c (x_frame_of_widget): Likewise.
10120
cdf0357b
GM
101212000-06-19 Gerd Moellmann <gerd@gnu.org>
10122
10123 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10124 to Vfundamental_mode_abbrev_table.
10125
10126 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10127 bogus objects are marked. This slows down GC by ~80 percent, but
10128 it might be worth trying when debugging GC-related problems.
10129 This feature requires conservative stack marking to be enabled.
10130
10131 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10132 returns XLookupChars, reset `modifiers' to zero.
10133
998e9f8c
DL
101342000-06-19 Dave Love <fx@gnu.org>
10135
10136 * mktime.c: Unprotoized.
10137
18e21ce8 101382000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10139
10140 * data.c (set_internal): If variable is frame-local,
10141 store the new value immediately into the frame parameter alist.
10142
140c4ac6
KR
101432000-06-19 Ken Raeburn <raeburn@gnu.org>
10144
14358466
KR
10145 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10146 in the custom handler pointer.
10147
140c4ac6
KR
10148 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10149 value, or checks for CHAR_META can fail when Lisp_Object is a
10150 union type.
10151 * keymap.c (get_keyelt): Likewise.
10152
10d7bf84
KH
101532000-06-19 Kenichi Handa <handa@etl.go.jp>
10154
10155 * ccl.h (struct ccl_program): New member eol_type.
10156 (struct ccl_spec): New member cr_carryover.
10157
10158 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10159 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10160
10161 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10162 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10163 (decode_eol_post_ccl): New function.
10164 (decode_coding): Don't detect EOL format here for CCL based coding
10165 systems.
10166 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10167 decode_eol_post_ccl after running the CCL program.
10168 (code_convert_region): Don't detect EOL format here for CCL based
10169 coding systems.
10170 (decode_coding_string): Likewise.
10171
52e386c2
KR
101722000-06-18 Ken Raeburn <raeburn@gnu.org>
10173
10174 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10175 when treating it as an integer.
10176
10177 * coding.h (encode_coding_string): Declare.
10178
10179 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10180 it as an integer.
10181
10182 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10183 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10184 to be passed to get_local_map.
10185
10186 * sound.c (Fplay_sound): Don't call make_number on
10187 Frun_hook_with_args count argument.
10188
10189 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10190 for lisp objects in X event structure data field, when lisp
10191 objects are represented with unions.
10192 (x_scroll_bar_to_input_event): Ditto.
10193
b357b9d4
KR
101942000-06-16 Ken Raeburn <raeburn@gnu.org>
10195
10196 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10197 termination of string. Fix sense of test whether
10198 Vline_number_display_limit is an integer.
b357b9d4 10199
a871441d
GM
102002000-06-16 Gerd Moellmann <gerd@gnu.org>
10201
a9021acd
GM
10202 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10203 only if HAVE_X_WINDOWS.
10204
6344985d
GM
10205 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10206 of titles.
10207
427ec082 10208 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10209 out of bounds.
10210
228b083e
EZ
102112000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10212
10213 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10214 of its headers.
10215
c25b53a2
KH
102162000-06-15 Kenichi Handa <handa@etl.go.jp>
10217
10218 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10219 start of the while loop.
10220
a6981b11
GM
102212000-06-15 Gerd Moellmann <gerd@gnu.org>
10222
e9924e52
GM
10223 * atimer.c (alarm_signal_handler): Add forward declaration.
10224
a6981b11
GM
10225 * data.c (set_internal): Remove debug code.
10226
25fa6deb
GM
102272000-06-14 Gerd Moellmann <gerd@gnu.org>
10228
dce6b995
GM
10229 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10230
9f817ea4
GM
10231 * unexec.c (toplevel) [COFF]: Include coff.h.
10232
10233 * s/lynxos.h: New file.
10234
10235 * keymap.c (Fsingle_key_description): Enclose function key and
10236 event symbol names in angle brackets.
10237
8a4e3c0c
GM
10238 * xdisp.c (setup_echo_area_for_printing): Call
10239 message_log_maybe_newline if message_buf_print is not set.
10240
10241 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10242 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10243 function does something useful even when message_buf_print is
10244 already set.
10245
52283633
SM
10246 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10247 New variables.
25fa6deb
GM
10248 (ensure_echo_area_buffers): Initialize echo buffer's
10249 truncate lines setting to nil.
10250 (with_echo_area_buffer): Don't set the echo buffer's truncate
10251 lines setting here.
8a4e3c0c 10252 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10253 of message_truncate_lines.
10254 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10255 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10256 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10257
10258 * keyboard.c (read_char): Bind message-truncate-lines to t
10259 while displaying a help-echo.
10260
10261 * lisp.h (Qmessage_truncate_lines): External declaration.
10262
163dcff3
GM
102632000-06-13 Gerd Moellmann <gerd@gnu.org>
10264
1681ead6
GM
10265 * xdisp.c (Vline_number_display_limit): Renamed from
10266 line_number_display_limit.
10267 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10268 Extend documentation string. Initialize
10269 Vline_number_display_limit to nil meaning no limit.
10270 (decode_mode_spec): Use Vline_number_display_limit with its new
10271 meaning.
10272
163dcff3
GM
10273 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10274
18e21ce8 102752000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10276
10277 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10278
163dcff3
GM
10279 * xfns.c (x_set_frame_parameters): Comment fix.
10280
10281 * frame.c (store_frame_param): Call swap_in_global_binding if the
10282 variable's current binding was chosen based on this frame.
10283
10284 * data.c (swap_in_global_binding): New function.
10285
a704139d
EZ
102862000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10287
10288 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10289 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10290
9b6610db
EZ
102912000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10292
10293 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10294
c68833d2
JR
102952000-06-12 Jason Rumney <jasonr@gnu.org>
10296
10297 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10298
10299 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10300
10301 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10302
10303 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10304
ed1056b3
GM
103052000-06-12 Gerd Moellmann <gerd@gnu.org>
10306
10307 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10308 (syms_of_xfaces): Defsubr Sdump_colors.
10309 (x_free_colors): Don't treat b&w specially on default visual.
10310 (x_free_dpy_colors): New function.
10311 (free_face_colors): Don't check visual class; it's done
10312 in x_free_colors.
10313
10314 * xterm.c (x_frame_of_widget): New function.
10315 (x_alloc_nearest_color_for_widget): Use it.
10316 (x_copy_dpy_color): New function.
10317 (x_destroy_window): Free various colors.
10318
5050a2ef
KH
103192000-06-12 Kenichi Handa <handa@etl.go.jp>
10320
10321 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10322
10323 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10324
10325 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10326
10327 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10328
10329 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10330
fb1b041d
DL
103312000-06-11 Dave Love <fx@gnu.org>
10332
10333 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10334
ff96b5f4
EZ
103352000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10336
10337 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10338
db8eeecd
GM
103392000-06-11 Gerd Moellmann <gerd@gnu.org>
10340
ed1056b3 10341 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10342 to `XEvent *'.
10343
49b71c5f
KH
103442000-06-10 Kenichi Handa <handa@etl.go.jp>
10345
c479bd55
KH
10346 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10347 (regex_compile): Fix the code for handling the case of single byte
10348 char and multibyte char being mixed in a range within [...].
10349
ff6a65c2
KH
10350 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10351 and dst_multibyte members of coding.
10352
49b71c5f
KH
10353 * charset.c (update_charset_table): Update the table
10354 bytes_by_char_head.
10355 (init_charset_once): Initialize elements of bytes_by_char_head to
10356 1 except for leading codes for private charases.
10357
10358 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10359 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10360
9e80b57d
KR
103612000-06-09 Ken Raeburn <raeburn@gnu.org>
10362
10363 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10364 access the data it doesn't point to.
10365
f83fe4b4
GM
103662000-06-08 Gerd Moellmann <gerd@gnu.org>
10367
10368 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10369 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10370 event queue. This is necessary because Emacs otherwise won't
10371 perform a switch-frame to a new frame until some other event, for
10372 example a keystroke event, forces it to do so. This has various
10373 effects, one visible being that the cursor of a frame created with
10374 C-x 5 2 or switched to with a window manager key binding like
10375 A-TAB stays hollow because selected_window isn't on the newly
10376 focused frame until the switch-frame is performed.
10377
10378 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10379 generating a switch-frame event if necessary.
10380
10381 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10382
10383 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10384 it's an integer.
10385
0890801b
KH
103862000-06-08 Kenichi Handa <handa@etl.go.jp>
10387
52283633 10388 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10389
173cbca8
GM
103902000-06-07 Gerd Moellmann <gerd@gnu.org>
10391
3091c2a6
GM
10392 * window.c (displayed_window_lines): Take empty lines at
10393 the bottom of a window into account.
427ec082 10394
f38952fe
GM
10395 * window.c (displayed_window_lines): New function.
10396 (Fmove_to_window_line): Use displayed_window_lines to determine
10397 the number of lines to move, instead of using the window's height.
10398
10399 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10400 to stop reading, even if the form read sets point to a different
10401 value when evaluated.
10402
427ec082 10403 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10404 put the cursor.
10405
6ba6c818
KH
104062000-06-07 Kenichi Handa <handa@etl.go.jp>
10407
10408 * fileio.c (e_write): Free composition data if stored in
10409 coding->cmp_data.
10410
5f1aea9a
GM
104112000-06-06 Gerd Moellmann <gerd@gnu.org>
10412
666852af
GM
10413 * xdisp.c (display_line): Set row's and iterator's
10414 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10415 Set cursor even if row ends in the middle of a character.
10416 (dump_glyph_row): Print values of new flags.
10417 (redisplay_window) <cursor movement in unchanged window>: When
10418 point has been moved forward, and PT is at the end of the cursor
10419 row, don't place the cursor in the next row if the cursor row ends
10420 in the middle of a character or at ZV.
10421
10422 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10423 (struct glyph_row): Add starts_in_middle_of_char_p and
10424 ends_in_middle_of_char_p.
10425 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10426 ends_in_middle_of_char_p flag.
10427 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10428
d13f3e2e
GM
10429 * term.c (append_glyph): Revert change of 2000-06-06.
10430
10431 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10432 padding glyph not fitting on line as whole character not
10433 fitting on line.
10434
5f1aea9a
GM
10435 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10436 this isn't true for images with `:ascent 100'.
10437
10cda9b0
KH
104382000-06-06 Kenichi Handa <handa@etl.go.jp>
10439
ed00559d
KH
10440 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10441 as modified if it is originally unmodified.
10442
10cda9b0
KH
10443 * term.c (encode_terminal_code): Change the way to check if
10444 terminal coding does any conversion.
10445 (append_glyph): Set glyph->pixel_width correctly.
10446
10447 * xdisp.c (display_line): While checking line continuation, pay
10448 attention to a padding glyph.
10449
1969fae2
GM
104502000-06-05 Gerd Moellmann <gerd@gnu.org>
10451
10452 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10453
162ccef4
DL
104542000-06-05 Dave Love <fx@gnu.org>
10455
f19f32dd
DL
10456 * xdisp.c: Include fontset.h.
10457
10458 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10459
10460 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10461
10462 * dispnew.c: Conditionally include term.h.
10463
10464 * coding.h: Declare code_convert_string_norecord.
10465
10466 * frame.h (struct frame): Use volatile unconditionally.
10467
10468 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10469
10470 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10471
10472 * systime.h: Protect against multiple inclusion.
10473 (timezone) [USG5_4]: Define as time_t.
10474
10475 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10476 (Foptimize_char_table, make_temp_name): Declare.
10477
10478 * Makefile.in (xdisp.o): Depend on fontset.h.
10479
10480 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10481
10482 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10483 (Foptimize_char_table, make_temp_name): Declare.
10484
427ec082 10485 * s/irix4-0.h:
162ccef4
DL
10486 * s/irix5-0.h:
10487 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10488
2082fe81
DL
104892000-06-02 Dave Love <fx@gnu.org>
10490
10491 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10492
dcf671d2
GM
104932000-06-02 Gerd Moellmann <gerd@gnu.org>
10494
10495 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10496 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10497 be freed.
10498
10499 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10500 glyph, use the ASCII NUL character to determine the face.
10501
d42122a3
DL
105022000-06-02 Dave Love <fx@gnu.org>
10503
10504 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10505 (VFORK_RETURN_TYPE): Remove.
427ec082 10506
d42122a3
DL
10507 * config.in: Add NO_MATHERR.
10508
dd432f16
DL
105092000-06-01 Dave Love <fx@gnu.org>
10510
90aa4ea8
DL
10511 * cmds.c (internal_self_insert): Don't check
10512 Vbefore_change_function, Vafter_change_function.
10513
10514 * insdel.c (signal_before_change, signal_after_change): Likewise.
10515
10516 * buffer.c (Vbefore_change_function, Vafter_change_function):
10517 Variables and their initializations deleted.
10518
2330c9d4
DL
10519 * callint.c (Fcall_interactively): Doc fix.
10520
dd432f16
DL
10521 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10522
bf9e8804
DL
105232000-05-31 Dave Love <fx@gnu.org>
10524
10525 * textprop.c: Revert last change -- duplicated.
10526
3694b4ab
GM
105272000-05-31 Gerd Moellmann <gerd@gnu.org>
10528
10529 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10530 in #if 0.
10531
10532 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10533
f14156cd
JR
105342000-05-31 Jason Rumney <jasonr@gnu.org>
10535
8119aab8
JR
10536 * search.c (Fre_search_forward, Fre_search_backward)
10537 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10538
f14156cd
JR
10539 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10540
4aab9be3
JR
105412000-05-30 Jason Rumney <jasonr@gnu.org>
10542
10543 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10544 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10545
52283633 10546 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10547
10548 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10549 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10550 expand a nil default_filename.
10551
10552 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10553 pointer to glyph_to_pixel_coords, not a frame.
10554
10555 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10556 coding.h to dependencies.
10557
10558 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10559
10560 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10561 window pointer to be consistent with w32term.c and xterm.c.
10562
10563 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10564 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10565 (Qline_spacing, Qcenter): New variables.
10566 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10567 (x_set_line_spacing): New function.
52283633 10568 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10569 (x_specified_cursor_type): New function.
10570 (x_set_cursor_type): Use it.
10571 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10572 and icon strings.
10573 (validate_x_resource_name, x_get_resource_string): Measure lengths
10574 of external strings in bytes.
10575 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10576 GetTextExtentPoint32 with NULL title.
10577 (Fx_create_frame): Initialize Qline_spacing.
10578 (w32_load_system_font): Initialize font->double_byte_p.
10579 (x_to_w32_charset): Use Vw32_charset_info_alist.
10580 (Image, busy cursor, tooltip functions): Merged changes from
10581 xfns.c. Not yet functional on Windows.
10582
10583 * w32gui.h (W32FontStruct): Add double_byte_p member.
10584
10585 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10586 (emacs_button_translation): Use it.
10587 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10588 in `mask' to be set.
10589
10590 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10591 menu strings.
10592
10593 * w32term.c: Format and doc changes to bring closer to xterm.c.
10594 (w32_char_font_type): New enum.
10595 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10596 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10597 (w32_encode_char): New function.
10598 (x_encode_char): Removed.
10599 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10600 x_encode_char and w32_font_is_double_byte.
10601 (x_produce_image_glyph): Use image_ascent.
10602 (x_produce_glyphs): Use new version of w32_per_char_metric and
10603 handle NULL return value. Allow extra line spacing.
10604 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10605 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10606 w32_font_type member of glyph instead.
10607 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10608 (fast_find_position): Make sure not to consider rows not visible
10609 in the window.
10610 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10611 w32_menu_display_help with input blocked, as it can abort.
10612 (x_display_and_set_cursor): Choose cursor depending
10613 on buffer-local value of cursor_type.
10614 (x_draw_bar_cursor): Add parameter WIDTH.
10615
10616 * w32term.h (CP_DEFAULT): Define.
10617 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10618
10fc3187
GM
106192000-05-30 Gerd Moellmann <gerd@gnu.org>
10620
10621 * search.c (Fre_search_forward, Fre_search_backward)
10622 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10623
d0555360
KH
106242000-05-30 Kenichi Handa <handa@etl.go.jp>
10625
10626 * coding.c (detect_coding_iso2022): Fix code for checking
10627 CODING_CATEGORY_MASK_ISO_8_2.
10628
f1ad044f
SM
106292000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10630
10631 * regex.c (PREFETCH_NOLIMIT): New function.
10632 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10633
84ec3b4b
GM
106342000-05-29 Gerd Moellmann <gerd@gnu.org>
10635
66254a13
GM
10636 * syntax.c (find_defun_start): Move test for
10637 open_paren_in_column_0_is_defun_start outside of the loop.
10638
49e70dec
GM
10639 * xdisp.c (redisplay_window): Really switch buffers when
10640 displaying mode lines, and temporarily set selected_frame to the
10641 frame of the window that's redisplayed.
10642
84ec3b4b
GM
10643 * xfaces.c (free_realized_faces): Block/unblock input.
10644 (free_realized_multibyte_face): Ditto.
10645
869a3a14
DL
106462000-05-29 Dave Love <fx@gnu.org>
10647
10648 * textprop.c (Qkeymap): New variable.
10649 (syms_of_textprop): Intern it.
10650
10651 * keymap.c: Include intervals.h.
10652 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10653
10654 * Makefile.in (keymap.o): Depend on intervals.h.
10655
10656 * keyboard.c (menu_bar_items, tool_bar_items)
10657 (Fexecute_extended_command): Deal with `keymap' property.
10658 (read_key_sequence): Track map from `keymap' property as well as
10659 `local_map'.
10660
10661 * intervals.c (get_local_map): Extra arg to allow looking for
10662 `keymap' too.
10663
10664 * intervals.h (map_property): New enum.
10665 (get_local_map): Extra arg using it.
10666 (Qkeymap): Declare.
10667
84ec3b4b 10668 * lisp.h (get_local_map): Don't declare here.
869a3a14 10669
89d0c844
KH
106702000-05-29 Kenichi Handa <handa@etl.go.jp>
10671
10672 * Makefile.in (callproc.o): Depend on composite.h.
10673
10674 * callproc.c: Include composite.h.
10675 (Fcall_process): Handle composition correctly.
10676
10677 * coding.h (coding_allocate_composition_data): Extern it.
10678 (coding_restore_composition): Likewise.
10679
10680 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
10681 yet allocated, finish decoding with result
10682 CODING_FINISH_INSUFFICIENT_CMP.
10683 (coding_allocate_composition_data): Make it non-static.
10684 (coding_restore_composition): Likewise.
10685
797a084a
EZ
106862000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
10687
10688 * charset.c (syms_of_charset): Revert last change.
10689
cf872af5
EZ
106902000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10691
10692 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
10693 charsets as unibyte, with 1-column screen width. Sent by Kenichi
10694 Handa.
cf872af5 10695
5b1ae051
EZ
106962000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10697
10698 * charset.c (syms_of_charset): Set width of character sets
10699 eight-bit-control and eight-bit-graphic to 1 column.
10700
34ec9ebe
GM
107012000-05-26 Gerd Moellmann <gerd@gnu.org>
10702
10703 * config.in (HAVE_SPEED_T): New define.
10704
10705 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10706 `extern speed_t'.
10707
dd854dc2
DL
107082000-05-26 Dave Love <fx@gnu.org>
10709
10710 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10711
10712 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10713 (Fsubr_arity): New function.
10714 (syms_of_data): Install them.
10715
ba9f8f95
KH
107162000-05-26 Kenichi Handa <handa@etl.go.jp>
10717
0f3e0672
KH
10718 * charset.c (init_charset_once): Set the table bytes_by_char_head
10719 correctly.
10720
cebefb44
KH
10721 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10722 the default fontset to what Emacs uses by default.
0f3e0672
KH
10723 (check_registry_encoding): This function deleted.
10724 (Fset_fontset_font): Remove the adhoc condition for the default
10725 fontset. Allow cons in FONTNAME.
cebefb44 10726
0f3e0672
KH
10727 * fns.c (map_char_table): Ignore char-table entries for
10728 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 10729
7a18af49
KR
107302000-05-25 Ken Raeburn <raeburn@gnu.org>
10731
10732 * emacs.c (main): Initialize keyboard syms before initializing
10733 window code, so face names are available.
10734
d2af47df
SM
107352000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10736
10737 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10738 of an anchor at the beginning of a shy-group.
10739
fc6a6a4e
GM
107402000-05-25 Gerd Moellmann <gerd@gnu.org>
10741
10742 * xdisp.c (handle_invisible_prop): Don't try to skip over
10743 invisible text if end of text is already reached.
10744
005f0d35
DL
107452000-05-25 Dave Love <fx@gnu.org>
10746
02513cdd
DL
10747 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10748
005f0d35
DL
10749 * coding.c (encode_eol): Add null statement after label.
10750
89f6ca4e
EZ
107512000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10752
10753 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10754 2000-05-20.
10755
a4e1759e
KH
107562000-05-25 Kenichi Handa <handa@etl.go.jp>
10757
10758 * ccl.c (ccl_driver): Fix previous change.
10759
eacfd7fe
KH
107602000-05-25 Kenichi Handa <handa@etl.go.jp>
10761
46ab33a9
KH
10762 * coding.c (run_pre_post_conversion_on_str): Set point to the
10763 beginning of buffer before calling coding->post_read_conversion.
10764 (decode_coding_string): Give correct args to
10765 run_pre_post_conversion_on_str.
10766 (encode_coding_string): Likewise.
10767
eacfd7fe
KH
10768 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10769 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10770 eight-bit-graphic correctly.
10771
f8569325
DL
107722000-05-24 Kenichi HANDA <handa@etl.go.jp>
10773
10774 * fileio.c (Finsert_file_contents): Even if a file is not found,
10775 execute codes for setting up coding system. Call
10776 after-insert-file-functions unconditionally.
10777
04545643
GM
107782000-05-24 Gerd Moellmann <gerd@gnu.org>
10779
10780 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10781 BSD_PGRPS are not defined.
10782
747d90ea
KH
107832000-05-24 Kenichi Handa <handa@etl.go.jp>
10784
10785 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10786 DESCRIPTION.
10787 (syms_of_charset): Avoid building same strings.
10788
716e3b88
GM
107892000-05-23 Gerd Moellmann <gerd@gnu.org>
10790
10791 * lread.c (Fload): Add a comment about the meaning of
10792 Vuser_init_file being t.
10793
10794 * puresize.h (BASE_PURESIZE): Increase to 675000.
10795
10796 * s/gnu-linux.h (setpgrp): Don't define it here because this
10797 prevents compilation on GNU/Linux systems with glib 2.2.
10798
10799 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10800 as setpgid.
427ec082 10801
9aeb39fa
EZ
108022000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10803
10804 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10805 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10806 version.
10807 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10808
29ced61b
KH
108092000-05-23 Kenichi Handa <handa@etl.go.jp>
10810
52283633 10811 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 10812
3d80f24d
KH
10813 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10814
52283633 10815 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 10816
29ced61b
KH
10817 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10818
d7e00792
KH
108192000-05-22 Kenichi Handa <handa@etl.go.jp>
10820
c9d80d38
KH
10821 * keyboard.c (read_char): Allow character codes 128..255 to be
10822 handled by input-method-function.
10823
d7e00792
KH
10824 * insdel.c (adjust_markers_for_replace): Fix previous change.
10825 (adjust_after_replace): If PREV_TEXT is nil, call
10826 adjust_markers_for_insert, not adjust_markers_for_replace.
10827
087121cc 108282000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 10829
087121cc
GM
10830 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10831 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10832 [HAVE_GRANDPT]: Define.
10833 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10834
10835 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10836 like SYSV_PTYS.
10837
10838 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10839
10840 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
10841
c9671f81
KH
108422000-05-20 Kenichi Handa <handa@etl.go.jp>
10843
10844 The following changes are to handle 8-bit characters in a
10845 multibyte buffer/string without facing with byte combining
10846 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
10847 eight-bit-graphic (for 0xA0..0xFF) are introduced.
10848
10849 * Makefile.in (fns.o): Depend on charset.h.
10850
10851 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
10852 convert it to unibyte.
10853 (make_string): Use parse_str_as_multibyte, not chars_in_text.
10854
10855 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
10856 apparent char boundary.
10857 (Fset_buffer_multibyte): Convert 8-bit characters in the range
10858 0x80..0x9F to/from multibyte form.
10859
10860 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
10861 to unibyte.
10862
10863 * callproc.c (Fcall_process): Always encode an argument string if
10864 it is multibyte. Setup src_multibyte and dst_multibyte members of
10865 process_coding properly.
ce75fd23 10866
c9671f81
KH
10867 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
10868 SPLIT_NON_ASCII_CHAR.
10869
10870 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
10871 as is.
10872 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
10873
52283633 10874 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 10875 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 10876 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
10877 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
10878 and eight-bit-graphic.
10879 (char_to_string): Likewise. Signal an error for too large
10880 character code.
10881 (char_printable_p): Return 0 for 8-bit characters.
10882 (update_charset_table): Update iso_charset_table only when a final
10883 character is non-negative.
10884 (find_charset_in_text): Renamed from find_charset_in_str.
10885 Arguments and return value changed. Callers changed.
10886 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10887 be -1 if CHARSET is used only internally.
10888 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10889 eight-bit-graphic.
10890 (Fcharset_after): Simplified.
10891 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10892 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10893 (multibyte_chars_in_text): Simplified by assuming there's no
10894 invalid multibyte sequence.
52283633
SM
10895 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10896 (str_as_unibyte): New functions.
10897 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10898 (init_charset_once): Initialization for
10899 LEADING_CODE_8_BIT_CONTROL.
10900 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10901 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10902 eight-bit-control and eight-bit-graphic.
10903
52283633
SM
10904 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10905 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10906 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10907 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10908 (CHARSET_REVERSE_CHARSET): Likewise.
10909 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10910 eight-bit-graphic.
10911 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10912 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10913 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10914 encounter an invalid multibyte sequence.
10915 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10916 sequence is always valid.
10917 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10918 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10919 (CHAR_STRING): For 8-bit characters, call char_to_string.
10920 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10921 multibyte sequence is always valid.
10922 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10923 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10924 (str_as_unibyte): Extern them.
c9671f81 10925 (BCOPY_SHORT): Fix a bug.
52283633 10926 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10927 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10928 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10929 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10930
bd4bde7f 10931 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10932 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10933 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10934 (EMIT_BYTES): New macros.
10935 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10936 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10937 macros deleted.
10938 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10939 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10940 check the validity of multibyte sequence.
10941 (decode_coding_emacs_mule): New function.
10942 (encode_coding_emacs_mule): New macro.
10943 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10944 the source.
10945 (DECODE_ISO_CHARACTER): Just return a character code.
10946 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10947 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10948 EMIT_CHAR to produced decoded characters. Exit the loop only by
10949 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10950 block here.
10951 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10952 only position codes for an invalid character.
10953 (encode_designation_at_bol): Return new destination pointer. 5th
10954 arg DSTP is changed to DST.
10955 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10956 from the source by ONE_MORE_CHAR. Don't handle the case of last
10957 block here.
10958 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10959 macros deleted.
52283633
SM
10960 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10961 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10962 TWO_MORE_BYTES to fetch a byte from the source.
10963 (encode_eol): Pay attention to coding->src_multibyte.
10964 (detect_coding, detect_eol): Preserve members src_multibyte and
10965 dst_multibyte.
10966 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10967 (encoding_buffer_size): Set magnification to 3 for all coding
10968 systems that require encoding.
10969 (ccl_coding_driver): For decoding, be sure that the result is
10970 valid multibyte sequence.
10971 (decode_coding): Initialize coding->errors and coding->result.
10972 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10973 and raw-text, always call decode_eol. Handle the case of last
10974 block here. If not coding->dst_multibyte, convert the resulting
10975 sequence to unibyte.
10976 (encode_coding): Initialize coding->errors and coding->result.
10977 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
10978 and raw-text, always call encode_eol. Handle the case of last
10979 block here.
10980 (shrink_decoding_region, shrink_encoding_region): Detect cases
10981 that we can't skip data more rigidly.
10982 (code_convert_region): Setup src_multibyte and dst_multibyte
10983 members of coding. For decoding, if the buffer is multibyte,
10984 convert the source sequence to unibyte in advance. For encoding,
10985 if the buffer is multibyte, convert the resulting sequence to
10986 multibyte afterward.
10987 (run_pre_post_conversion_on_str): New function.
10988 (code_convert_string): Deleted and divided into the following two.
10989 (decode_coding_string, encode_coding_string): New functions.
10990 (code_convert_string1, code_convert_string_norecord): Call one of
10991 above.
10992 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
10993 MAKE_NON_ASCII_CHAR.
52283633
SM
10994 (Fset_terminal_coding_system_internal)
10995 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
10996 and dst_multibyte members.
10997 (init_coding_once): Initialize iso_code_class with new enum
10998 ISO_control_0 and ISO_control_1.
10999
11000 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11001 devided into ISO_control_0 and ISO_control_1.
11002 (struct coding_system): New members src_multibyte, dst_multibyte,
11003 errors, and result. Delete member fake_multibyte.
11004 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11005 nonzero.
11006 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11007 nonzero.
11008
11009 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11010 (Faset): Likewise.
11011
11012 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11013 multibyte form.
11014 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11015 combining occurs.
11016 (Ftranspose_region): Delete codes for handling byte combining.
11017
11018 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11019 dst_multibyte members of coding. On handling REPLACE on unibyte
11020 buffer, convert the result of decode_coding to unibyte. On
11021 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11022 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11023 multibyteness of the source (buffer or string).
11024
11025 * fns.c (concat): Handle 8-bit characters correctly.
11026 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11027 unibyte in the result.
11028 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11029 valid multibyte form in the result.
11030 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11031 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11032 return -1, signal an error.
11033 (base64_encode_1): New arg MULTIBYTE. Get each character by
11034 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11035 character is found, return -1.
11036 (Fbase64_decode_region): Delete codes for handling byte-combining.
11037 Treat each decoded byte as a unibyte character.
11038 (Fbase64_decode_string): Return unibyte string.
11039 (Fcompare_strings, concat, string_byte_to_char): Use
11040 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11041 FETCH_STRING_CHAR_ADVANCE.
11042 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11043 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11044
11045 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11046 SPLIT_NON_ASCII_CHAR.
11047 (fontset_ref_via_base, fontset_set): Likewise
11048
11049 * insdel.c (adjust_markers_for_record_delete): Deleted.
11050 (adjust_markers_for_insert): Argument changed. Caller changed.
11051 (adjust_markers_for_replace): Likewise.
52283633
SM
11052 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11053 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11054 (copy_text): Delete unused local varialbe c_save. For converting
11055 to multibyte, be sure to make all 8-bit characters in valid
11056 multibyte form.
11057 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11058 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11059 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11060 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11061 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11062 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11063 handling byte combining.
11064 (adjust_before_replace): Deleted.
427ec082 11065
c9671f81
KH
11066 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11067 SPLIT_NON_ASCII_CHAR.
11068 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11069 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11070 (Fkey_description): Likewise.
11071
11072 * lread.c (read1): On reading multibyte string, be sure to make
11073 all 8-bit chararacters in valid multibyte form.
11074 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11075
11076 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11077 unconditionally.
11078
11079 * process.c (Fstart_process): GCPRO current_dir before calling
11080 Ffind_operation_coding_system. Encode arguments here.
11081 (create_process): Don't encode arguments here. Setup
11082 src_multibyte and dst_multibyte members of struct coding.
11083 (read_process_output): Setup src_multibyte and dst_multibyte
11084 members of struct coding. If the output is to multibyte buffer,
11085 always decode the output of the process. Adjust the
52283633 11086 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11087 (send_process): Setup coding->src_multibyte according to the
11088 multibyteness of the source.
11089
52283633 11090 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11091 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11092 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11093
52283633 11094 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11095
11096 * w16select.c (Fw16_set_clipboard_data): Setup members
11097 src_multibyte and dst_multibyte of coding. Adjusted for the
11098 change for find_charset_in_str.
11099 (Fw16_get_clipboard_data): Likewise.
11100
11101 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11102 dst_multibyte of coding.
11103 (x_to_w32_font): Likewise.
11104
11105 * w32select.c (Fw32_set_clipboard_data): Setup members
11106 src_multibyte and dst_multibyte of coding. Adjusted for the
11107 change for find_charset_in_str.
11108 (Fw32_get_clipboard_data): Likewise.
11109
11110 * xdisp.c (get_next_display_element): Handle 8-bit characters
11111 correctly.
52283633
SM
11112 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11113 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11114
11115 * xselect.c (selection_data_to_lisp_data): Setup members
11116 src_multibyte and dst_multibyte of coding. Adjusted for the
11117 change for find_charset_in_str.
11118 (lisp_data_to_selection_data): Likewise.
11119
5f64c9e0
GM
111202000-05-19 Gerd Moellmann <gerd@gnu.org>
11121
52283633 11122 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11123
5f64c9e0
GM
11124 * dispextern.h (Vimage_types): Add extern declaration.
11125
11126 * xdisp.c (Vimage_types): Moved here from xfns.c.
11127 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11128
11129 * xfns.c (Vimages_types): Moved to xdisp.c.
11130 (syms_of_xfns): Move `image-types' to xdisp.c.
11131
11132 * w32fns.c (Vimage_types): Removed.
11133 (syms_of_w32fns): Remove `image-types'.
11134
813086ea
KH
111352000-05-18 Kenichi Handa <handa@etl.go.jp>
11136
11137 * fns.c (map_char_table): Pay attention to character number of
11138 charset. Check the validity of charset at the first level. For
11139 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11140 the default value.
11141
11142 * fontset.c: Include "buffer.h".
11143 (fs_load_font): If the face has fontset, record the face ID in
11144 that fontset.
11145 (Finternal_char_font): New function.
11146 (accumulate_font_info): New function.
11147 (Ffontset_info): Rewritten for the new fontset implementation.
11148 (syms_of_fontset): Register Vdefault_fontset in the first element
11149 of Vfontset_table. Include Vdefault_fontset in
11150 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11151 function.
11152
bdaebbf0
DL
111532000-05-16 Dave Love <fx@gnu.org>
11154
11155 * m/iris5d.h: Deleted -- unused.
11156
cb613bb8
GM
111572000-05-16 Gerd Moellmann <gerd@gnu.org>
11158
b15f3b77
GM
11159 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11160 `invalid' instead of `illegal'.
11161
11162 * indent.c (Fmove_to_column): When ending within a tab, insert
11163 spaces first so that markers at the end of the tab get adjusted.
11164
835c1b36
GM
11165 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11166 buffer list that wasn't selected in that frame.
11167
cb613bb8
GM
11168 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11169 is needed on mescaline, use a 2 char prefix, and call
11170 make_temp_name with second arg non-zero.
11171
11172 * fileio.c (make_temp_name): New function, extracted from
11173 Fmake_temp_name.
11174 (Fmake_temp_name): Use it.
11175
f685bea9
EZ
111762000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11177
52283633 11178 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11179
a1b8d58b
GM
111802000-05-15 Gerd Moellmann <gerd@gnu.org>
11181
11182 * Makefile.in (lisp): Add env.elc.
11183
11184 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11185
a265079f
GM
111862000-05-12 Gerd Moellmann <gerd@gnu.org>
11187
11188 * search.c (Freplace_match): Handle case of `\N' in the
11189 replacement when there's no group N.
11190
da4496b6
GM
111912000-05-11 Gerd Moellmann <gerd@gnu.org>
11192
0ace421a
GM
11193 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11194 of the message to message_dolog.
11195
1172eb8d
GM
11196 * keyboard.c (read_char): Don't clear current message for help
11197 events; let the code handling help events handle this. Change
11198 code detecting help events that should be ignored.
11199
da4496b6
GM
11200 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11201 we're interating over a string.
11202
0623e40f
DL
112032000-05-09 Dave Love <fx@gnu.org>
11204
11205 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11206 that offset before writing. Move gcpro region past call of
11207 Ffile_regular_p.
11208
bae2503b
DL
112092000-05-04 Dave Love <fx@gnu.org>
11210
11211 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11212
ec82fb2f
GM
112132000-05-04 Gerd Moellmann <gerd@gnu.org>
11214
11215 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11216 of inserted characters when BUF equals the current buffer, and PT
11217 is in front of or equal to FROM.
11218
cbf18892
GM
112192000-05-03 Gerd Moellmann <gerd@gnu.org>
11220
4ff40dd0
GM
11221 * xdisp.c (handle_single_display_prop): If display property value
11222 is invalid, or something not supported on the frame, restore
11223 iterator's position to what it was initially. Make sure to return
11224 0 for invalid and unsupported property values.
11225
cbf18892
GM
11226 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11227 that x_per_char_metric returns null.
11228
1b0672c3
GM
112292000-05-02 Gerd Moellmann <gerd@gnu.org>
11230
576da55d
GM
11231 * xterm.h (struct face): Add forward declaration.
11232 (struct image): Ditto.
11233 (image_ascent): Add prototype.
11234
11235 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11236 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11237 image_ascent instead of using IMAGE_ASCENT.
11238
11239 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11240 (IMAGE_ASCENT): Removed.
11241
11242 * xfns.c (Qcenter): New variable.
11243 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11244 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11245 (image_ascent): New function.
11246 (lookup_image): Recognize `:ascent center'.
11247 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11248 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11249 (xbm_load): Don't set image's ascent here.
11250 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11251 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11252 check ascent values here.
11253 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11254 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11255 (syms_of_xfns): Initialize Qcenter.
11256
1b0672c3
GM
11257 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11258 to the limits, increase the limits.
11259
0d7811ed
KH
112602000-05-01 Kenichi Handa <handa@etl.go.jp>
11261
11262 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11263 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11264
a943a5ca
GM
112652000-04-28 Gerd Moellmann <gerd@gnu.org>
11266
11267 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11268 taller than the window.
11269
5dba1e29
KH
112702000-04-28 Kenichi Handa <handa@etl.go.jp>
11271
11272 * xfaces.c (realize_x_face): Fix the argument of the second
11273 xassert. BASE_FACE may not be a face for ASCII.
11274
353964e3
GM
112752000-04-27 Gerd Moellmann <gerd@gnu.org>
11276
c76e04a8
GM
11277 * print.c (print_object): Treat print-length < 0 as nil.
11278
11279 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11280
11281 * s/freebsd.h (TERMCAP_OBJ): Removed.
11282 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11283
11284 * lread.c (read1): Don't treat period followed by certain
11285 characters as symbol start.
11286
11287 * xfns.c (slurp_file): New function.
11288 (xbm_image_p): Handle case of in-memory XBM files.
11289 (xbm_scan): Rewritten to work on memory buffers instead of files.
11290 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11291 Work on memory buffers instead of files. If DATA is null test
11292 if buffer looks like an in-memory XBM file.
11293 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11294 memory buffers instead of files.
11295 (xbm_file_p): New function.
11296 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11297
353964e3
GM
11298 * lread.c (end_of_file_error): New function.
11299 (read1): Call it instead of signaling `end-of-file' directly.
11300
427ec082 11301 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11302 with Fprinc instead of Fprin1.
11303
24d744ac
KR
113042000-04-26 Ken Raeburn <raeburn@gnu.org>
11305
11306 * window.c (freeze_window_start): Check that minibuffer scroll
11307 window isn't nil before extracting the window structure pointer
11308 from it.
11309
11310 * undo.c (record_delete): If we hit the end of the undo list, stop
11311 picking elements apart.
11312
7464346d
GM
113132000-04-26 Gerd Moellmann <gerd@gnu.org>
11314
11315 * xdisp.c (display_line): If lines are continued, restore
11316 iterator's ascent/descent information to the values before the
11317 first glyph not fitting on the line.
11318
612839b6
GM
113192000-04-25 Gerd Moellmann <gerd@gnu.org>
11320
11321 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11322 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11323
11324 * dispnew.c (increment_matrix_positions): Renamed from
11325 increment_glyph_matrix_buffer_positions.
11326 (increment_row_positions): Renamed from
11327 increment_glyph_row_buffer_positions.
11328
11329 * dispextern.h: Change names of renamed functions from dispnew.c
11330 in prototypes.
11331
cc181e95
GM
113322000-04-24 Gerd Moellmann <gerd@gnu.org>
11333
abfcc168
GM
11334 * fileio.c (Fdo_auto_save): Create directories for auto-save
11335 list file if necessary.
11336
cc181e95
GM
11337 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11338 from buffer or frame.
11339 (automatic_hscrolling_p): New variable.
11340 (hscroll_windows): Scroll windows horizontally only if automatic
11341 hscrolling is allowed.
11342 (syms_of_xdisp): New variable `automatic-hscrolling'.
11343
11344 * frame.h (struct frame): Add member extra_line_spacing.
11345
11346 * xfns.c (x_set_line_spacing): New function.
11347 (Fx_create_frame): Set line spacing from resources.
11348 (Qline_spacing): New variable.
11349 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11350
cc181e95
GM
11351 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11352
11353 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11354 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11355 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11356 extra_line_spacing from default value.
11357 (init_buffer_once): Initialize default value of extra_line_spacing.
11358
11359 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11360 and extra3.
11361
11362 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11363 prompt_width. Add extra line spacing.
11364
11365 * term.c (produce_glyphs): Remove reference to struct it's
11366 prompt_width.
11367
11368 * dispextern.h (struct it): Remove member prompt_width, add
11369 extra_line_spacing.
11370
58827478
GM
113712000-04-22 Gerd Moellmann <gerd@gnu.org>
11372
11373 * dispnew.c (update_frame_line): When writing a whole line, make
11374 sure cursor is in the right row afterwards, otherwise a use of
11375 capability `ch' in cmgoto might leave the cursor in the row below.
11376
25a87f42
GM
113772000-04-21 Gerd Moellmann <gerd@gnu.org>
11378
11379 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11380
11381 * keyboard.c (timer_check): Fix typo in comment.
11382
54edf5c2
KH
113832000-04-21 Kenichi Handa <handa@etl.go.jp>
11384
11385 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11386 name change: ch -> character.
11387
3a64eef5
GM
113882000-04-20 Gerd Moellmann <gerd@gnu.org>
11389
11390 * keyboard.c (echo_message_buffer): New variable.
11391 (echo_now): Set echo_message_buffer to the echo area buffer used
11392 to display the echo.
11393 (cancel_echoing): Reset echo_message_buffer to nil.
11394 (read_char): Code rewritten that handles canceling an echo or
11395 echoing a dash, respectively.
11396
11397 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11398 directory doesn't exist.
11399
6142fdcb
DL
114002000-04-19 Dave Love <fx@gnu.org>
11401
11402 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11403 (concat): Don't allow numeric args.
11404 (Fconcat): Doc change.
6142fdcb 11405
ac6b5352
SM
114062000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11407
11408 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11409 instead define end_match(1|2) more carefully.
11410 Use GET_CHAR_BEFORE_2 for `begline'.
11411
cb9215e4
GM
114122000-04-19 Gerd Moellmann <gerd@gnu.org>
11413
5e3dac3f
GM
11414 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11415 on 64-bit systems where NULL is defined as `0'.
11416
11417 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11418 the `variable argument list' to make it work on Alpha.
11419
cb9215e4
GM
11420 * m/alpha.h (_LP64) [!_LP64]: Define.
11421 (ORDINARY_LINK): Define for NetBSD.
11422
11423 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11424
f532dca0
DL
114252000-04-19 Dave Love <fx@gnu.org>
11426
c750667e
DL
11427 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11428 change.
11429
11430 * Makefile.in (LIBS): Don't use.
11431 (GETLOADAVG_OBJ): Define again.
11432 (otherobj): Add GETLOADAVG_OBJ.
11433
f532dca0
DL
11434 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11435
1c7e22fd
GM
114362000-04-18 Gerd Moellmann <gerd@gnu.org>
11437
f6d3257b
GM
11438 * lread.c (read_filtered_event): Cancel and start busy cursor.
11439
427ec082 11440 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11441 that the per-character metrics may be null.
11442
e10f64e7
GM
114432000-04-17 Gerd Moellmann <gerd@gnu.org>
11444
0daee095
GM
11445 * buffer.c (clone_per_buffer_values): New function.
11446 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11447 clone_per_buffer_values if CLONE is not nil.
11448
e10f64e7
GM
11449 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11450
38687d43
DL
114512000-04-16 Dave Love <fx@gnu.org>
11452
11453 * Makefile.in: Remove obsolete localcpp stuff.
11454 (GETLOADAVG_OBJ): Don't define.
11455 (obj): Move LIBOBJS...
11456 (otherobj): ... to here.
11457 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11458 whitespace-only lines after the continuation (Irix).
11459
c21c7262
GM
114602000-04-14 Gerd Moellmann <gerd@gnu.org>
11461
11462 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11463
11464 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11465
314767c0
DL
114662000-04-14 Dave Love <fx@gnu.org>
11467
11468 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11469 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11470 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11471 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11472 NLIST_STRUCT.
11473
11474 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11475 autoconfiscated HAVE_GETLOADAVG.
11476
11477 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11478 BROKEN_MKTIME.
11479
a2522dca
GM
114802000-04-14 Gerd Moellmann <gerd@gnu.org>
11481
11482 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11483 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11484
33744b5d
DL
114852000-04-14 Dave Love <fx@gnu.org>
11486
c21c7262 11487 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11488 (INTERVAL_SRC): Convert to make variable.
11489 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11490 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11491 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11492 add LIBOBJS.
11493 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11494 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11495 (shortlisp): Add facemenu, float-sup, frame.
11496 (SOME_MACHINE_LISP): Remove them from here.
11497 (LIBES): Change unused LDLIBS to autoconf LIBS.
11498
11499 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11500
9d3d5916
KH
115012000-04-14 Kenichi Handa <handa@etl.go.jp>
11502
11503 * composite.c (update_compositions): If FROM and TO are not in a
11504 valid range, do nothing.
11505
198e3c7a
GM
115062000-04-13 Gerd Moellmann <gerd@gnu.org>
11507
52283633 11508 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11509
52283633 11510 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11511
11512 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11513 as TERMCAP_OBJ.
11514
055a28c9
EZ
115152000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11516
11517 * fileio.c (a_write): Remove redundant semi-colons.
11518 (e_write): Return -1 if failed to write all the data.
11519 This fixes the changes made at 1999-12-15.
11520
f5c75033
DL
115212000-04-12 Dave Love <fx@gnu.org>
11522
11523 * fns.c (mapcar1): Test for null vals to support mapc.
11524 (Fmapc): New function.
11525
0c3cfc51
EZ
115262000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11527
11528 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11529 (IT_frame_up_to_date): Support the buffer local value of
11530 cursor-type, if defined.
11531
33465a31
DL
115322000-04-10 Dave Love <fx@gnu.org>
11533
11534 * editfns.c (preceding-char, following-char): Doc fix.
11535
6ed56568
KR
115362000-04-10 Ken Raeburn <raeburn@gnu.org>
11537
11538 * Makefile.in (temacs): Revert 2000-03-12 change.
11539
7cf80d4e
JR
115402000-04-10 Jason Rumney <jasonr@gnu.org>
11541
11542 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11543
34f3f342
GM
115442000-04-10 Gerd Moellmann <gerd@gnu.org>
11545
1a1b1895
GM
11546 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11547 area buffer, if it's not set up yet.
11548
34f3f342
GM
11549 * indent.c (compute_motion): Set immediate_quit.
11550
be0dbdab
GM
115512000-04-09 Gerd Moellmann <gerd@gnu.org>
11552
52283633 11553 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11554 (realize_tty_face): Suppress boldness if colors are the inverse of
11555 the default colors, and tty_suppress_bold_inverse_default_colors_p
11556 is set.
11557 (Ftty_suppress_bold_inverse_default_colors): New function.
11558 (syms_of_xfaces): Defsubr it.
11559
be0dbdab
GM
11560 * buffer.c (Frestore_buffer_modified_p): New function.
11561 (syms_of_buffer): Defsubr it.
11562
e8413c3b
KR
115632000-04-08 Ken Raeburn <raeburn@gnu.org>
11564
87f67317
KR
11565 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11566 charset id (int) argument, not a charset (Lisp_Object).
11567
e8413c3b
KR
11568 * coding.h (code_convert_string): Declare.
11569 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11570 object, as the fourth argument to code_convert_string.
11571
52283633 11572 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11573 (Fset_fontset_font): Use EQ to compare lisp objects.
11574
7c752c80
KR
115752000-04-05 Ken Raeburn <raeburn@gnu.org>
11576
c0333abc
KR
11577 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11578 a pointer that looks like a lisp object.
11579 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11580 zero, instead see whether it's an integer object, since they can't
11581 have intervals.
11582 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11583
52283633
SM
11584 * dispnew.c (allocate_matrices_for_frame_redisplay)
11585 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11586 to convert between (unsigned) int values and lisp integers.
11587 * keyboard.c (read_key_sequence): Likewise.
11588 * lread.c (substitute_object_recurse): Likewise.
11589 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11590 * minibuf.c (do_completion, Fminibuffer_complete_word)
11591 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11592 * term.c (produce_special_glyphs): Likewise.
11593
11594 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11595 * print.c (print_preprocess, print_object): Likewise.
11596
11597 * search.c (compile_pattern): Use NILP when checking for nil.
11598
74e49b38
KR
11599 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11600 __OPTIMIZE__]: Provide a GNU C macro version that handles
11601 lisp-object unions.
11602 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11603 field, to better cope with ENABLE_CHECKING and calls that modify a
11604 Lisp_Object using its old value.
11605
685e5ed2
GM
116062000-04-04 Gerd Moellmann <gerd@gnu.org>
11607
c407c570
GM
11608 * window.c (compare_window_configurations): Signal an error
11609 if parameters C1 or C2 aren't window configurations.
11610
685e5ed2
GM
11611 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11612 AFTER_POTENTIAL_GC calls around calls to functions that can
11613 signal an error and thus invoke the debugger.
11614
587a49ab
GM
116152000-04-03 Gerd Moellmann <gerd@gnu.org>
11616
62f20204
GM
11617 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11618 an error if decoding fails.
11619
587a49ab
GM
11620 * keyboard.c (lispy_mouse_names): Variable removed.
11621 (Vlispy_mouse_stem): New variable.
11622 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11623 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11624 for any mouse button number. Increase size of mouse_syms and
11625 button_down_location as needed. Call modify_event_symbol with
11626 different arguments.
11627 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11628 Call modify_event_symbol with different arguments.
11629 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11630 for any button number. Call modify_event_symbol with different
11631 arguments.
11632 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11633 Accept a string for NAME_ALIST_OR_STEM.
11634
11635 * lisp.h (larger_vector): Add prototype.
11636
11637 * fns.c (larger_vector): Make externally visible.
11638
11639 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11640
2d1675e4
SM
116412000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11642
11643 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11644 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11645 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11646 we are between str1 and str2.
11647 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11648 (PATFETCH): Use `TRANSLATE'.
11649 (PATFETCH_RAW): Fetch multibyte char if applicable.
11650 (PATUNFETCH): Remove.
11651 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11652 When writing a char, write it directly into the pattern buffer rather
11653 than going needlessly through a temp char-array.
11654 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11655 multibyte magic and remove the useless `#ifdef emacs'.
11656 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11657 buffer.
11658
11659 * regex.h (struct re_pattern_buffer): Make field `multibyte'
11660 conditional on `emacs'.
11661
11662 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
11663
cc2d8c6b
KR
116642000-04-01 Ken Raeburn <raeburn@gnu.org>
11665
11666 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
11667 non-union-type versions of XMARK and friends here, because XMARK
11668 and friends won't work on an integer field if NO_UNION_TYPE is not
11669 defined.
52283633 11670 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 11671
52283633 11672 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
11673 (syms_of_composite): Delete local var NARGS, pass an int as first
11674 argument to Fmake_hash_table.
11675
2387b382
KR
11676 * editfns.c (text_property_stickiness): Use NILP to test
11677 Lisp_Object boolean value.
11678 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
11679 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
11680 problems reading from and changing the same lisp value in an
11681 XSETSTRING call.
11682
27660e89
GM
116832000-04-01 Gerd Moellmann <gerd@gnu.org>
11684
11685 * term.c (TN_no_color_video): New variable.
11686 (term_init): Intitialize TN_no_color_video.
11687 (enum no_color_bit): New enumeration.
11688 (MAY_USE_WITH_COLORS_P): New macro.
11689 (turn_on_face): Use it to determine if attributes may be used
11690 combined with colors.
11691
3578db3c
KR
116922000-04-01 Ken Raeburn <raeburn@gnu.org>
11693
11694 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 11695 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
11696 (enlarge_window): Variable sizep now points to Lisp_Object. Use
11697 proper accessor macros.
11698 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
11699 (grow_mini_window): Fix typo getting int value of root->height.
11700
6fc556fd
KR
11701 * xdisp.c (compute_string_pos): Fix order of arguments to
11702 string_pos_nchars_ahead.
11703 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
11704 count arg to variable-arg routines like Frun_hook_with_args and
11705 Fformat.
587a49ab
GM
11706 (back_to_previous_visible_line_start)
11707 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
11708 fixed-arg routines like Fget_char_property and Fmake_string.
11709 (reconsider_clip_changes): Use XINT when comparing integer lisp
11710 objects, or passing them as int arguments.
587a49ab
GM
11711 (mark_window_display_accurate, insert_left_trunc_glyphs)
11712 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11713 storing or passing integer values as lisp objects.
11714 (set_cursor_from_row, highlight_trailing_whitespace): Use
11715 INTEGERP, not implicit test against zero, for glyph object.
11716 (try_window_id): Don't use make_number when we want an int value.
11717
11718 * xfaces.c (xlfd_symbolic_value): Make last argument a
11719 Lisp_Object, to be consistent with callers.
11720 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11721 (lface_hash): Apply XFASTINT to lisp values before folding in.
11722
11723 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11724 fill in window width and height. Pass an int, not a lisp object,
11725 as first arg to Finsert.
11726
6e7b2457
GM
117272000-04-01 Gerd Moellmann <gerd@gnu.org>
11728
610d841e
GM
11729 * xfaces.c (realize_basic_faces): Block input while realizing
11730 the faces.
11731
6e7b2457
GM
11732 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11733
11734 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11735
aa110c0c
GM
117362000-03-31 Gerd Moellmann <gerd@gnu.org>
11737
11738 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 11739 or ASCII, handle case that per-char metric is null.
aa110c0c 11740
8801a864
KR
117412000-03-30 Ken Raeburn <raeburn@gnu.org>
11742
c6129d7e
KR
11743 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11744
52283633
SM
11745 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11746 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
11747 pointer, using eassert.
11748 * frame.h (XFRAME): Likewise.
11749
52283633
SM
11750 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11751 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11752 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 11753 * data.c (set_internal): Likewise.
52283633
SM
11754 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11755 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
11756 * fileio.c (auto_save_1): Likewise.
11757 * insdel.c (check_markers): Likewise.
11758 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11759 * undo.c (record_insert): Likewise.
11760 * vmsproc.c (child_sig): Likewise.
11761 * window.c (unshow_buffer, window_loop): Likewise.
11762 * xterm.c (x_erase_phys_cursor): Likewise.
11763
8e7af858
GM
117642000-03-30 Gerd Moellmann <gerd@gnu.org>
11765
11766 * xfns.c (free_image_cache): Free the cache structure itself
11767 last, after all its members have been freed.
11768
11769 * lisp.h (xstrdup): Add prototype.
11770
11771 * alloc.c (xstrdup): Moved here from xfaces.c.
11772 (allocating_for_lisp): Variable removed.
52283633 11773 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11774
11775 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11776 of Fsymbol_value.
11777 (xstrdup): Moved to alloc.c.
11778
e0b8c689
KR
117792000-03-29 Ken Raeburn <raeburn@gnu.org>
11780
b96f9fb7
KR
11781 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11782
11783 * emacs.c (main): Fix sense of no-loadup test.
11784
e0b8c689
KR
11785 * config.in (ENABLE_CHECKING): Undef.
11786
11787 * lisp.h (struct interval): Replace "parent" field with a union of
11788 interval pointer and Lisp_Object; add new bitfield to use as
11789 discriminant. Change other flag fields to bitfields.
11790 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11791 is defined and the supplied test fails, print a message and abort.
11792 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11793
11794 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11795 pointers; abort if the value looks like a lisp object.
52283633
SM
11796 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11797 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11798 Modify for new interval parent definition.
11799
52283633
SM
11800 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11801 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
11802 addressable lisp object in the interval structure.
11803 (die): New function.
11804 (suppress_checking): New variable.
11805
11806 * intervals.c (interval_start_pos): Just return 0 if there's no
11807 parent object.
11808
f83c5440
GM
118092000-03-29 Gerd Moellmann <gerd@gnu.org>
11810
11811 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11812 and earlier Emacs versions.
11813
11814 * keyboard.c (Ftop_level): Cancel busy-cursor.
11815
11816 * eval.c (call_debugger): Cancel busy-cursor.
11817
fdce64ff
KH
118182000-03-29 Kenichi Handa <handa@etl.go.jp>
11819
11820 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 11821 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 11822
f6a3f532
SM
118232000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11824
11825 * regex.c (analyse_first): New function obtained by ripping out most
11826 of re_compile_fastmap and generalizing it a little bit so that it
11827 can also just return whether a given (sub)pattern can match the empty
11828 string or not.
11829 (regex_compile): Use `analyse_first' to decide whether the loop-check
11830 needs to be done or not for *, +, *? and +? (the loop check is costly
11831 for non-greedy repetition).
11832 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11833
e9b309ac
DL
118342000-03-28 Dave Love <fx@gnu.org>
11835
52283633 11836 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 11837
e9b309ac
DL
11838 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11839
ed0767d8
SM
118402000-03-27 Stefan Monnier <monnier@cs.yale.edu>
11841
11842 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
11843 an expression.
11844 (enum re_opcode_t): Update description of succeed_n.
11845 (PATFETCH): Always define.
11846 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
11847 operators, char classes, shy-groups and intervals).
11848 Optimize special cases of intervals so as to only use succeed_n and
11849 jump_n when really needed.
11850 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
11851 that we don't have to handle the special cases any more.
11852 Simplify on_failure_jump handling as well.
11853
e11e7e46
JR
118542000-03-28 Jason Rumney <jasonr@gnu.org>
11855
11856 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
11857
88faab89
GM
118582000-03-27 Gerd Moellmann <gerd@gnu.org>
11859
182ff242
GM
11860 * s/freebsd.h (GC_SETJMP_WORKS): Define.
11861
11862 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 11863
182ff242
GM
11864 * alloc.c (mark_maybe_object): New function.
11865 (mark_memory): Use it.
11866 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
11867 (setjmp_tested_p, longjmp_done): New variables.
11868 (test_setjmp): New function.
11869 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
11870 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
11871
c1005d06
GM
11872 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
11873 to DEC_TEXT_POS and INC_TEXT_POS.
11874
11875 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
11876 with parameter MULTIBYTE_P.
11877
52283633 11878 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 11879
7439e5b9 11880 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
11881 buffers because it looks for multibyte character byte sequences
11882 which don't exist in unibyte text.
7439e5b9 11883
d9c545da
GM
11884 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11885
11fd416e 11886 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11887 [DEBUG_X_COLORS]: New functions.
11888 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11889
11890 * xfns.c (x_set_cursor_color): Get color reference counts right.
11891
11892 * xterm.c (x_copy_color): New function.
11893 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11894
11895 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11896 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11897 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11898 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11899 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11900 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11901 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11902 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11903 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11904 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11905
11fd416e
GM
11906 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11907 names for handling per-buffer variables.
d9c545da
GM
11908
11909 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11910 instead of MAX_BUFFER_LOCAL_VARS.
11911 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11912
11913 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11914
88faab89
GM
11915 * xfns.c (x_specified_cursor_type): New function.
11916 (x_set_cursor_type): Use it.
11917
11918 * buffer.h (struct buffer): Add cursor_type.
11919
d80f42b7
SM
119202000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11921
11922 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11923 (print_partial_compiled_pattern, re_compile_fastmap):
11924 Handle new opcode.
d80f42b7
SM
11925 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11926 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11927 executing it as well as when popping it off the stack to find infinite
11928 loops in non-greedy repetition operators.
11929
89e80928
GM
119302000-03-26 Gerd Moellmann <gerd@gnu.org>
11931
3d4ff2dd
GM
11932 * doc.c (Qfunction_documentation): New variable.
11933 (syms_of_doc): Initialize Qfunction_documentation.
11934 (Fdocumentation): If FUNCTION is a symbol with non-nil
11935 `function-documentation' property, return a documentation derived
11936 from that.
11937
bd96bd79
GM
11938 * buffer.c (syms_of_buffer): Add default-cursor-type.
11939 (init_buffer_once): Don't let cursor_type have a local value
11940 in every buffer.
11941
19d1bc27
GM
11942 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11943 on buffer-local value of cursor_type.
11944 (x_draw_bar_cursor): Add parameter WIDTH.
11945
11946 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11947 (init_buffer_once): Set default cursor_type value to t.
11948 Mark cursor_type as local everywhere.
11949 (syms_of_buffer): New per-buffer variable cursor-type.
11950
89e80928
GM
11951 * buffer.h (struct buffer): Remove member local_var_flags,
11952 add local_flags.
11953 (MAX_BUFFER_LOCAL_VARS): New macro.
11954 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11955 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11956 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11957 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11958
52283633 11959 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11960
11961 * category.c (Fset_category_table): Use new macros for per-buffer
11962 variables.
11963
11964 * buffer.c (buffer_permanent_local_flags): Make a char array.
11965 (max_buffer_local_idx): New variable.
11966 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11967 for new handling of per-buffer variables.
11968 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11969 (init_buffer_once): Initialize per-buffer vars differently.
11970 Set max_buffer_local_idx.
11971
11972 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11973 variables.
11974
52283633 11975 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
11976
11977 * data.c (do_symval_forwarding, store_symval_forwarding)
11978 (find_symbol_value, set_internal, default_value, Fset_default)
11979 (Fkill_local_variable, Flocal_variable_p): Use new macros for
11980 per-buffer variables.
11981
11982 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
11983
9a0dd3dc
GM
119842000-03-24 Gerd Moellmann <gerd@gnu.org>
11985
b68c375f
GM
11986 * xterm.c (x_term_init): Unblock input around call1 of
11987 Qvendor_specific_keysyms.
11988
9a0dd3dc
GM
11989 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
11990 (find_defun_start): Consider an open parenthesis in column 0
11991 a defun start only if open_paren_in_column_0_is_defun_start is set.
11992 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
11993
7973e637
SM
119942000-03-24 Stefan Monnier <monnier@cs.yale.edu>
11995
11996 * eval.c (Fautoload): Add entry in load-history (if after dump).
11997 * lread.c (load-history): Update docstring.
11998
39210e90
GM
119992000-03-24 Gerd Moellmann <gerd@gnu.org>
12000
12001 * indent.c (Fvertical_motion): Always use the current buffer.
12002 Temporarily change the window's buffer, if necessary.
12003
72db3ab5
GM
120042000-03-23 Gerd Moellmann <gerd@gnu.org>
12005
12006 * xterm.c (fast_find_position): Make sure not to consider rows
12007 not visible in the window.
12008
990b2375
SM
120092000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12010
12011 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12012 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12013
ff4df011
JR
120142000-03-22 Jason Rumney <jasonr@gnu.org>
12015
12016 * w32menu.c (single_submenu): Set help string to NULL if none.
12017 (w32_menu_show): Set help string correctly.
12018 (add-menu-item): Set help string in MIIM_DATA for menu item.
12019 Load SetMenuItemInfoA explicitly.
12020 (w32_menu_display_help): New function.
427ec082 12021
ff4df011
JR
12022 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12023 (QCdata): Moved to xdisp.c.
12024
12025 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12026 (Vw32_charset_to_codepage_alist): Removed.
12027 (Vw32_charset_info_alist): New variable.
52283633
SM
12028 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12029 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12030 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12031 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12032 with TODO comment.
12033 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12034 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12035 Define Vw32_charset_info_alist and w32_charset symbols.
12036
120372000-03-22 Jason Rumney <jasonr@gnu.org>
12038
12039 * makefile.nt (w32bdf.obj): Update dependencies.
12040
12041 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12042
12043 * w32fns.c: Include fontset.h after dispextern.h.
12044 (Fx_create_frame): Do not create fontset.
12045 (w32_load_system_font): Doc fix.
12046 (Fx_close_connection): Free full_name if it is not shared.
12047
12048 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12049 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12050 Callers updated.
ff4df011
JR
12051 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12052 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12053 (w32_font_is_double_byte): New function, needs body.
12054 (x_append_glyph): Set glyph->glyph_not_available_p.
12055 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12056 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12057 character, convert it to a unibyte character.
12058 (struct glyph_string): Delete member `charset'.
12059 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12060 calculating it is found.
12061 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12062 the case that per char metric is not available correctly.
12063 (x_fill_glyph_string): Handle the case that the specific glyph is
12064 not available correctly.
12065 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12066 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12067 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12068 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12069 fontset. Don't call FS_LOAD_FONT.
12070
439d5cb4
KR
120712000-03-22 Ken Raeburn <raeburn@gnu.org>
12072
12073 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12074 (INT_LISPLIKE): New macro.
12075 (NULL_INTERVAL_P): Use it.
52283633
SM
12076 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12077 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12078 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12079
12080 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12081 explicit references to "parent" field of struct interval and
12082 associated unclean type conversions.
52283633
SM
12083 * intervals.c (create_root_interval, root_interval, rotate_right)
12084 (rotate_left, balance_possible_root_interval, split_interval_right)
12085 (split_interval_left, interval_start_pos, find_interval)
12086 (next_interval, previous_interval, update_interval)
12087 (adjust_intervals_for_insertion, delete_node, delete_interval)
12088 (adjust_intervals_for_deletion, merge_interval_right)
12089 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12090 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12091 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12092 Likewise.
12093 * syntax.c (update_syntax_table): Likewise.
12094
12095 * intervals.c (reproduce_tree_obj): New function, like
12096 reproduce_tree but takes a Lisp_Object for the parent. Declare
12097 with prototype.
12098 (graft_intervals_into_buffer): Use it when appropriate.
12099 (reproduce_tree): Declare with prototype.
12100 (balance_possible_root_interval): Check that the parent is a lisp
12101 object before trying to examine its type.
12102
ee1c5b21
GM
121032000-03-22 Gerd Moellmann <gerd@gnu.org>
12104
12105 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12106 as strings only if both are known to be strings.
12107
12108 * s/openbsd.h (LIBS_TERMCAP): Undef.
12109
1fb352e0
SM
121102000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12111
12112 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12113 definitions for non-Emacs compilation.
12114 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12115 outside of `#ifdef emacs'.
12116 (print_partial_compiled_pattern): Update.
12117 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12118 (re_compile_fastmap): Merge handling of charset and charset_not (for
12119 emacs and non-emacs compilation as well).
12120 Similarly for (not)categoryspec and (not)syntaxspec.
12121 Don't use the fastmap when reaching `anychar' since the added
12122 complexity is not justified.
12123 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12124 and (not)syntaxspec. Merge (not)categoryspec.
12125
fdaa1f77
KH
121262000-03-22 Kenichi Handa <handa@etl.go.jp>
12127
52283633
SM
12128 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12129 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12130 --without-x.
fdaa1f77 12131
d152fb46
DL
121322000-03-21 Dave Love <fx@gnu.org>
12133
12134 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12135 doc string.
12136
d2cafc8c
GM
121372000-03-21 Gerd Moellmann <gerd@gnu.org>
12138
12139 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12140 (lface_fully_specified_p): Don't check contents of
12141 LFACE_FONT_INDEX because that attribute is optional.
12142 (realize_x_face): Remove now unwarranted xassert.
12143
9111d4b5
KH
121442000-03-21 Kenichi HANDA <handa@etl.go.jp>
12145
12146 The following changes are to make font selection based on
12147 characters, not charset. In addition, they recover fontset
12148 facilities while utilizing the new font selection mechanism.
12149
6c4bfdc0
KH
12150 * Makefile.in (fontset.o): Depend on dispextern.h.
12151
12152 * alloc.c (mark_face_cache): Don't mark face->registry.
12153
9111d4b5
KH
12154 * dispextern.h (struct glyph): New member glyph_not_available_p.
12155 Use 22 bits for face_id.
12156 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12157 (struct face): Delete member registry, new member ascii_face.
12158 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12159 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12160 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12161 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12162
12163 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12164 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12165 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12166 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12167 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12168 (fs_free_face_fontset, fontset_font_pattern)
12169 (face_suitable_for_char_p, face_for_char)
12170 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12171 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12172 (FS_LOAD_FACE_FONT): New macro.
12173
12174 * fontset.c: All codes rewritten or adjusted for the change of
12175 fontset implementation. Now fontset is represented by char table.
52283633
SM
12176 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12177 Variables removed.
9111d4b5 12178 (my_strcasecmp): Function removed.
52283633 12179 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12180 (AREF, ASIZE): New macros.
52283633
SM
12181 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12182 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12183 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12184 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12185 (fontset_id_valid_p, font_family_registry, fontset_name)
12186 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12187 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12188 New functions.
12189 (fs_load_font): New arg FACE. Caller changed.
12190 (fs_query_fontset): Argument changed. Caller changed.
12191 (Fquery_fontset): call fs_query_fontset.
12192 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12193 Functions removed.
52283633
SM
12194 (clear_fontset_elements, check_registry_encoding)
12195 (check_fontset_name): New functions.
9111d4b5
KH
12196 (syms_of_fontset): Set char-table-extra-slots property of fontset
12197 to 3. Staticpro and initialize Vfontset_table and
12198 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12199
12200 * frame.h (struct frame): Member `fontset_data' removed.
12201 (FRAME_FONTSET_DATA): Macro removed.
12202
12203 * frame.c (make_frame): Don't allocate f->fontset_data.
12204 (Fdelete_frame): Don't free f->fontset_data.
12205
6c4bfdc0
KH
12206 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12207
9111d4b5
KH
12208 * xdisp.c (charset_at_position): Function removed.
12209 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12210 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12211 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12212 Likewise.
12213 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12214 FACE_FOR_CHARSET.
52283633
SM
12215 (get_next_display_element, append_space)
12216 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12217
12218 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12219 Variables removed.
12220 (clear_font_table, frame_update_line_height, load_face_font):
12221 Adjusted for the change of fontset implementation.
12222 (load_face_fontset_font): Function removed.
12223 (pixel_point_size): New function.
12224 (font_list): Argument type changed. Caller changed.
12225 (LFACE_FONT): New macro.
12226 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12227 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12228 Lisp_Object. Determine the font name by actually loading a font
12229 by the specified pattern. Set LFACE_FONT (lface) to the specified
12230 pattern. Even if a font is not found, don't try alternatives.
12231 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12232 (set_font_frame_param): If `font' is specified in lface, use it.
12233 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12234 (lface_same_font_attributes_p): Likewise.
12235 (make_realized_face): Arguent changed. Caller changed. Set
12236 face->ascii_face to face itself.
12237 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12238 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12239 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12240 (free_realized_multibyte_face): New function.
12241 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12242 changed. Caller changed.
12243 (try_font_list): Argument type changed.
12244 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12245 (choose_face_font): Argument changed. Handle fontset properly.
12246 (choose_face_fontset_font): Function removed.
12247 (realize_default_face, realize_named_face): Don't remove the
12248 former face here.
12249 (realize_face): Argument changed. Caller changed. Remove face
52283633 12250 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12251 (realize_x_face): Argument changed. Caller changed. For a
12252 multibyte character, share fontset with base_face. For a single
52283633 12253 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12254 (realize_tty_face): Argument changed. Caller changed.
12255 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12256 (face_at_buffer_position): Don't check multibyte_p for returning
12257 DEFAULT_FACE_ID.
12258 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12259 FACE_SUITABLE_FOR_CHARSET_P.
12260 (syms_of_xfaces): Remove code for Qx_charset_registry and
12261 Vface_default_registry.
12262
6c4bfdc0
KH
12263 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12264 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12265 (x_per_char_metric): Don't try FONT->default_char. Even if
12266 pcm->width is zero, glyph bits may exist.
12267 (x_encode_char): Always initialize char2b->byte1.
12268 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12269 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12270 (x_append_glyph): Set glyph->glyph_not_available_p.
12271 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12272 it->charset. Handle the case that per char metric is not
12273 available. If it->multibyte_p is zero and it->c is a multibyte
12274 character, convert it to a unibyte character.
12275 (struct glyph_string): Delete member `charset'.
12276 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12277 the case that per char metric is not available correctly.
12278 (x_fill_glyph_string): Handle the case that the specific glyph is
12279 not available correctly.
12280 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12281 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12282 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12283 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12284 fontset. Don't call FS_LOAD_FONT.
12285
12286 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12287 (x_create_tip_frame): Likewise.
12288 (Fx_close_connection): Free full_name of font_info.
12289
12290 * fns.c (optimize_sub_char_table): New function.
12291 (Foptimize_char_table): New function.
12292 (syms_of_fns): Defsubr Soptimize_char_table.
12293
b33dd3b0
GM
122942000-03-20 Gerd Moellmann <gerd@gnu.org>
12295
12296 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12297 only if buffer is displayed in some window.
12298
12299 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12300 (try_window_reusing_current_matrix): Don't call scroll run
12301 function if run's current and desired position are the same;
12302 this prevents cursor flickering.
12303
4e8a9132
SM
123042000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12305
12306 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12307
12308 * regex.c (RE_STRING_CHAR): New macro.
12309 (GET_CHAR_AFER_2): Remove.
12310 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12311 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12312 (print_partial_compiled_pattern, re_compile_fastmap)
12313 (re_match_2_internal): Remove on_failure_jump_exclusive.
12314 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12315 optimization only need to work for * (ie. can use of_keep_string_jump).
12316 Remove the special case for .*\n since it is now covered by the general
12317 optimization.
12318 (re_search_2): Don't bother with `room'.
12319 (skip_one_char): New function.
12320 (skip_noops): Simplify since `memory' is not needed any more.
12321 (mutually_exclusive_p): Restructure slightly to use `switch' and
12322 add handling for "all" remaining cases.
12323 (re_match_2_internal): Change on_failure_jump_smart to use
12324 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12325 rather than on_failure_jump_exclusive.
12326
2136fdd4
GM
123272000-03-19 Gerd Moellmann <gerd@gnu.org>
12328
12329 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12330 number of bits per RGB because it's everywhere used as the depth
12331 of the visual.
12332
12333 * term.c (calculate_costs): Remove code dealing with X frames.
12334
18e21ce8 123352000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12336
12337 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12338
d7b511c4
GM
123392000-03-18 Gerd Moellmann <gerd@gnu.org>
12340
12341 * lread.c (read_integer): Unread the last char not consumed.
12342
16b5d424
GM
123432000-03-17 Gerd Moellmann <gerd@gnu.org>
12344
12345 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12346 which are in the process of being deleted.
16b5d424 12347
1fa28578
GM
123482000-03-16 Gerd Moellmann <gerd@gnu.org>
12349
83488cce
GM
12350 * Makefile.in (mostlyclean): Add `*.core'.
12351 (clean): Add `bootstrap-emacs'.
12352
1fa28578
GM
12353 * lread.c (read_integer): New function.
12354 (read1): Support read syntax #o, #x, #b, #r.
12355
99633e97
SM
123562000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12357
1fa28578
GM
12358 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12359 make sure POINTER_TO_OFFSET gives the same value before and after
12360 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12361 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12362 (debug): Now only active if > 0 rather than if != 0.
12363 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12364 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12365 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12366 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12367 (store_op1, store_op2, insert_op1, insert_op2)
12368 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12369 (group_in_compile_stack): Move to after its arg's types are
12370 declared and add a prototype.
99633e97 12371 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12372 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12373 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12374 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12375 indentation of the greedy-op and shy-group code.
99633e97
SM
12376 (at_(beg|end)line_loc_p): Fix argument's types.
12377 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12378 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12379 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12380 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12381 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12382 QUIT unconditionally.
99633e97 12383
699238d9
GM
123842000-03-15 Gerd Moellmann <gerd@gnu.org>
12385
12386 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12387 a sole completion.
12388
12389 * process.c (send_process): Add a hint that the function
12390 can call Lisp code to its comment.
12391
12392 * lread.c (load_dangerous_libraries): New variable.
12393 (Vbytecomp_version_regexp): New variable.
12394 (safe_to_load_p): New function.
12395 (Fload): Handle files not compiled with Emacs specially.
12396 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12397
34e23e5a
GM
123982000-03-14 Gerd Moellmann <gerd@gnu.org>
12399
9c763cca
GM
12400 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12401
12402 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12403 support functions only if HAVE_X11R6_XIM is defined.
12404 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12405
12406 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12407
12408 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12409 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12410 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12411
12412 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12413 (HAVE_X11R6_XIM): Define.
12414
12415 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12416
34e23e5a
GM
12417 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12418 If set, call XSynchronize.
12419
66f0296e
SM
124202000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12421
34e23e5a
GM
12422 * regex.c: Declare a new type `re_char' used throughout the code
12423 for the string char type. It's `const unsigned char' to match the
12424 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12425 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12426 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12427 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12428 code duplication.
66f0296e
SM
12429
12430 * charset.h (GET_CHAR_AFTER_2): Remove.
12431 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12432
854a025c
KR
124332000-03-12 Ken Raeburn <raeburn@gnu.org>
12434
12435 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12436 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12437 of them try to use backquotes.
12438
b9d2c7e2
DL
124392000-03-12 Dave Love <fx@gnu.org>
12440
12441 * unexelf.c: Restore changes of 1999-10-19.
12442 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12443 fix its type and alignment; copy it from current process.
12444
5e5dff44
GM
124452000-03-12 Gerd Moellmann <gerd@gnu.org>
12446
9b2f3c38
GM
12447 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12448 has been found. Fix bug not computing timer's predecessor.
12449
427ec082 12450 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12451 file name.
12452
e1cff360
GM
12453 * window.c (Fsave_window_excursion): Doc fix.
12454
52283633 12455 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12456
e411ce4b
EZ
124572000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12458
12459 * msdos.c (vga_installed): New function, code moved from
12460 dos_set_window_size.
12461 (Qbar, Qcursor_type, outside_cursor): New variables.
12462 (syms_of_msdos): Intern and staticpro them.
12463 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12464 shape used outside Emacs when called for the first time.
12465 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12466 cursor shape used outside Emacs.
12467 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12468 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12469 type has changed.
12470 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12471 parameters specify the cursor. Make qreverse a global
12472 variable (renamed to Qreverse).
12473
80460654
GM
124742000-03-09 Gerd Moellmann <gerd@gnu.org>
12475
12476 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12477
95cd4c40
SM
124782000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12479
12480 This is a big redesign of failure-stack and register handling, prompted
12481 by bugs revealed when trying to add shy-groups. Overall, what happened
12482 is that loops are now structured a little differently, groups can be
12483 shy and the code is a little simpler.
12484
12485 * regex.h: Update the copyright.
12486 (RE_SHY_GROUPS): New value.
12487 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12488 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12489
80460654
GM
12490 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12491 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12492 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12493 for (start|stop)_memory since they now only take one argument (the
12494 second has becomes unnecessary).
52283633 12495 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12496 (print_compiled_pattern): Use %ld to printf long ints and flush to
12497 make debugging a little easier.
95cd4c40
SM
12498 (union fail_stack_elt): Make the integer unsigned.
12499 (struct fail_stack_type): Add a `frame' element.
12500 (INIT_FAIL_STACK): Init `frame' as well.
12501 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12502 (DEBUG_PUSH, DEBUG_POP): Remove.
12503 (NUM_REG_ITEMS): Remove.
12504 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12505 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12506 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12507 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12508 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12509 New macros.
80460654
GM
12510 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12511 address pushed is not the destination of the jump but the source
12512 of it instead.
95cd4c40
SM
12513 (NUM_FAILURE_ITEMS): Remove.
12514 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12515 registers before the actual failure point). Don't hardcode any
12516 meaning for str==NULL anymore.
95cd4c40 12517 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12518 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12519 Remove.
95cd4c40
SM
12520 (REG_UNSET_VALUE): Use NULL (why not?).
12521 (compile_range): Remove declaration since it doesn't exist.
12522 (struct compile_stack_elt_t): Remove inner_group_offset.
12523 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12524 (regex_grow_registers): Remove dead code.
12525 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12526 (regex_compile): Add shy-groups Change loops to use
12527 on_failure_jump_smart&jump instead of
12528 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12529 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12530 variable to me). Use `jump' instead of `jump_past_alt' and don't
12531 bother with push_dummy_failure in alternatives since it is now
12532 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12533 emacs' for (re)allocating the stack.
12534 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12535 from loop when bufp->can_be_null rather than jumping to `done'.
12536 Avoid jumping backwards so as to ensure termination. Use
12537 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12538 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12539 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12540 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12541 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12542 (lowest_active_reg, highest_active_reg)
12543 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12544 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12545 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12546 variables. Push register (in `start_memory') on the stack rather
12547 than storing it in old_reg(start|end). Remove the cycle detection
12548 from `stop_memory', replaced by the use of on_failure_jump_loop
12549 for greedy loops. Add code for the new on_failure_jump_<foo>.
12550 Remove ad-hoc code in `on_failure_jump' to push more registers in
12551 the case of a loop. Take out code from `maybe_pop_jump' into
12552 separate functions and adapt it to the semantics of
12553 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12554 and push_dummy_failure. Remove dummy_failure handling and
12555 handling of `failures to jump to on_failure_jump' (this last one
12556 was already dead code, it seems).
12557 (group_match_null_string_p, alt_match_null_string_p)
12558 (common_op_match_null_string_p): Remove.
95cd4c40 12559
7397acc4
DL
125602000-03-08 Dave Love <fx@gnu.org>
12561
12562 * config.in: Don't depend on __STDC__ for volatile.
12563 Add POINTER_TYPE, PTR, PROTOTYPES.
12564
12565 * hftctl.c, strftime.c: Use PROTOTYPES.
12566 * eval.c (find_handler_clause): Likewise.
12567
12568 * mem-limits.h: Use POINTER_TYPE.
12569
12570 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12571 (memory_warnings): Declare using POINTER_TYPE.
12572
5e91ff9e
GM
125732000-03-08 Gerd Moellmann <gerd@gnu.org>
12574
feab4fba
GM
12575 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12576
52283633 12577 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12578
5e91ff9e
GM
12579 * xfns.c: Remove obsolete code in #if 0.
12580 (Fx_focus_frame): New function.
12581
a735b7e1
KH
125822000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12583
12584 * coding.c (coding_category_name): Add coding-category-utf-8,
12585 coding-category-utf-16-be, coding-category-utf-16-le.
12586 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12587 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12588 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12589 (detect_coding_utf_8): New function.
12590 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12591 UTF_16_LOW_SURROGATE_P): New macros.
12592 (detect_coding_utf_16): New function
12593 (detect_coding_mask): When priorities are specified, skip any
12594 categories that have `nil' coding-system. Fix bug of returning
12595 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12596 returns a mask not set in PRIORITIES.
12597 (detect_eol_type_in_2_octet_form): New function.
12598 (detect_eol): selects detect_eol_type_XXX to call according to
12599 cooding->category_idx.
12600 (detect_coding_system): Remove `nil' coding-system in the result.
12601 (Fupdate_coding_systems_internal): Update all coding-categories.
12602
52283633
SM
12603 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12604 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12605 New macros.
12606 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12607 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12608 (CODING_CATEGORY_IDX_UTF_16_LE)
12609 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12610 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12611 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12612 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12613
9994cc69
GM
126142000-03-07 Gerd Moellmann <gerd@gnu.org>
12615
e9b4e5ff
GM
12616 * doc.c (Fdocumentation_property): If value is not a string,
12617 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12618
f7daf1e1
GM
12619 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12620 close the display with XtCloseDisplay. This caused a bus error
12621 on OpenWindows.
12622
9994cc69
GM
12623 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12624 complete but not unique.
12625
4336c705
GM
126262000-03-06 Gerd Moellmann <gerd@gnu.org>
12627
18bb0684
GM
12628 * process.c (send_process): Remove local variable `procname' that
12629 might become invalid when a GC happens. Instead, access the
12630 process name slot directly.
12631
4336c705
GM
12632 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12633 orig_height if set.
12634
12635 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12636 orig_height if set.
12637
515d0d0e
EZ
126382000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12639
12640 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12641 glyph matrices have been freed.
12642
100b3cbb
GM
126432000-03-05 Gerd Moellmann <gerd@gnu.org>
12644
50df5e5a 12645 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 12646 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
12647
12648 * xfns.c (QCdata): Moved to xdisp.c.
12649
12650 * xdisp.c (QCdata): Moved here from xfns.c.
12651 (syms_of_xdisp): Initialize QCdata.
12652
12653 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12654
12655 * window.c (coordinates_in_window): Use
12656 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12657 FRAME_INTERNAL_BORDER_WIDTH.
12658
100b3cbb 12659 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 12660 it is obviously invalid.
100b3cbb
GM
12661
12662 * xterm.c (x_term_init): Create a colormap if not using the
12663 default visual.
12664
12665 * xterm.h (select_visual): Change prototype.
12666
12667 * xfns.c (select_visual): Rewritten. Recognize user-specified
12668 visual classes.
12669 (visual_classes): New variable.
12670
64d739c4
GM
126712000-03-04 Gerd Moellmann <gerd@gnu.org>
12672
12673 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
12674 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
12675 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 12676 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
12677 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
12678 XtNcolormap resources.
12679 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
12680 (Fx_create_frame): Initialize color members of x_output structure.
12681 (xpm_load): Pass colormap to XPM lib.
12682
12683 * xfaces.c (x_free_colors): Access colormap of frame using
12684 FRAME_X_COLORMAP. Be paranoid about freeing black and white
12685 when default colormap is used.
12686
12687 * xterm.c (x_term_init): Set Colormap member of x_display_info
12688 structure. Copy colormap if resource `privateColormap' is
12689 specified (PseudoColor only).
12690 (x_setup_relief_color): Access colormap of frame using
12691 FRAME_X_COLORMAP.
12692
12693 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
12694 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
12695
c3cee013
JR
126962000-03-04 Jason Rumney <jasonr@gnu.org>
12697
12698 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
12699 other non-platform-specific equivalents.
64d739c4 12700 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
12701 specific functions and macros as their w32 equivalents where
12702 non-platform-specifics are not available.
12703 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
12704 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
12705 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12706 (frame_update_line_height): Use macros to access f->output_data.
12707 (defined_color): Remove FIXME comments; fixed.
12708 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12709 into #ifdef blocks. Add WINDOWSNT blocks.
12710 (Fx_list_fonts): Use macros for accessing font data.
12711 (set_lface_from_font_name): Different default fonts for X and
12712 WINDOWSNT.
12713 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12714 scalable for backward compatibility.
64d739c4 12715 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12716 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12717
64d739c4 12718 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12719 syms_of_w32faces.
12720
12721 * makefile.nt (w32faces.obj): Remove.
12722 (xfaces.obj): Add.
12723
807cc41c
JR
127242000-03-03 Jason Rumney <jasonr@gnu.org>
12725
12726 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12727 correct parameters.
12728
0007072a
KR
127292000-03-03 Ken Raeburn <raeburn@gnu.org>
12730
12731 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12732 standard ELF definitions here if the system header does not.
12733
71a6ba55
GM
127342000-03-03 Gerd Moellmann <gerd@gnu.org>
12735
12736 * xterm.c (PER_CHAR_METRIC): Removed.
12737 (x_per_char_metric_1, x_default_char): New functions.
12738 (x_per_char_metric): If font's default char is invalid, return
12739 metrics of a suitably chosen usable default char.
12740 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
12741 char, replace occurrences of unprintable chars with a suitably
12742 chosen usable default char.
71a6ba55 12743
900fa1f1
GM
127442000-03-02 Gerd Moellmann <gerd@gnu.org>
12745
42f55fe0
GM
12746 * xterm.c (note_mouse_highlight): Return quickly if frame's
12747 glyph matrices have been freed.
12748
12749 * dispnew.c (free_glyphs): Block input while freeing matrices.
12750
900fa1f1
GM
12751 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12752
52283633
SM
12753 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12754 Use x_free_colors.
900fa1f1
GM
12755
12756 * dispextern.h (x_free_colors): Add prototype.
12757
12758 * xfaces.c (x_free_colors): New function.
12759 (unload_color, free_face_colors): Use it.
12760
2f950292
EZ
127612000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12762
12763 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12764
12765 * window.c [MSDOS]: Include msdos.h.
12766
54d04320
DL
127672000-03-02 Dave Love <fx@gnu.org>
12768
12769 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12770
12771 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12772 set C_OPTIMIZE_SWITCH for gcc.
12773
0ba93ac4
KH
127742000-03-02 Kenichi Handa <handa@etl.go.jp>
12775
12776 * coding.c (coding_save_composition): Be sure to allocate
12777 composition data area in coding even if there's no composition in
12778 the current run.
12779
a2bc11d4
JR
127802000-03-01 Jason Rumney <jasonr@gnu.org>
12781
12782 * w32term.c: Equivalent changes to those made to xterm.c on
12783 2000-02-25 and 2000-02-24.
12784
12785 * w32fns.c: Equivalent changes to those made to xfns.c on
12786 2000-02-25 and 2000-02-21.
12787
12788 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12789 correct line-end convention is followed.
12790
12791 * w32menu.c [HAVE_BOXES]: Remove #undef.
12792 (single_keymap_panes): Remove code for simulating checkmarks.
12793 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12794 Remove code for drawing simulated checkmarks.
12795 (w32_menu_show): make unibyte help string correctly.
12796 (add_menu_item): draw standard Windows checkmarks. Draw radio
12797 buttons as radio buttons if possible.
12798
72d19d75
GM
127992000-03-01 Gerd Moellmann <gerd@gnu.org>
12800
2df636f4
GM
12801 * sysdep.c (start_of_text): Don't define this function for NetBSD
12802 with ELF.
12803
427ec082 12804 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
12805 Don't define.
12806 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12807 (LINKER): Don't undef if __NetBSD__ is defined.
12808
12809 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12810
12811 * fileio.c [__NetBSD__]: Define `unix'.
12812
72d19d75
GM
12813 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12814
ed4d0512
GM
128152000-02-29 Gerd Moellmann <gerd@gnu.org>
12816
50b1039f
GM
12817 * atimer.c (start_atimer): Don't abort when timers are stopped.
12818 (append_atimer_lists): New function.
12819 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12820 arbitrary lists of stopped and running atimers.
12821
ed4d0512
GM
12822 * atimer.c (cancel_atimer): Handle canceling an atimer when
12823 some timers are stopped.
12824
12825 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12826 after canceling it.
12827
12828 * fns.c (maybe_resize_hash_table): Handle case of new size
12829 coming out as being the same as old size.
12830
387023ee
JR
128312000-02-27 Jason Rumney <jasonr@gnu.org>
12832
12833 * makefile.nt: Add atimer.h to dependencies.
12834 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12835 * w32console.c: Only disable window system features for dispextern.h
12836 (initialize_w32_display): Build a display info for the console.
12837 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12838 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12839 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
12840 as 2 button mice.
12841 * w32gui.h (struct W32FontStruct): Revert last change after change
12842 to xdisp.c.
12843 * w32menu.c (single_submenu): Set up help string.
12844 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
12845 (w32_dialog_show): Set up help string.
12846 * w32term.c (w32_display_info_for_display): Remove unused function.
12847 (w32_draw_bitmap): Use pre-built bitmaps.
12848 (w32_initialize_display_info): New function to initialize parts of
12849 display info that are common to both GUI and console frames.
12850 (w32_term_init): Use w32_initialize_display_info. Do not set
12851 Vw32_num_mouse_buttons here, as it is not called for console
12852 frames. Build bitmaps for indicating truncated lines etc.
12853 (x_delete_display): Destroy pre-built bitmaps.
12854 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
12855 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
12856
4516715a
DL
128572000-02-27 Dave Love <fx@gnu.org>
12858
12859 * lisp.h: Add a bunch of prototypes.
12860
171ca836
KH
128612000-02-26 Kenichi Handa <handa@etl.go.jp>
12862
12863 * keyboard.c (read_char): Set `usec' correctly.
12864
4013921d
KH
128652000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12866
12867 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
12868 `lambda', set reg[RRR] to the map index.
12869 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
12870 reg[RRR] to 0. Otherwise, set it to -1.
12871
9244a058
GM
128722000-02-25 Gerd Moellmann <gerd@gnu.org>
12873
2df636f4 12874 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 12875
18e21ce8 128762000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 12877
f43d79c1
GM
12878 * fileio.c (Ffile_symlink_p): If result starts with a `/'
12879 and contains a `:', prepend `/:'.
12880
12881 * window.c (select_window_1): If selected_window is nil,
12882 don't "swap out" the buffer's point.
12883 (Fset_window_configuration): Set selected_window to nil
12884 before calling Fselect_window.
12885 (unshow_buffer): Don't set point in buffer from window's point
12886 if another more recently selected window also shows the buffer.
12887
bed0c171
GM
128882000-02-25 Gerd Moellmann <gerd@gnu.org>
12889
449c3c52
GM
12890 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12891
f5b58615
GM
12892 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12893 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12894 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12895 New variables.
f5b58615
GM
12896 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12897 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12898 (hide_busy_cursor): New functions.
12899 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12900
12901 * minibuf.c (read_minibuf): Cancel busy-cursor.
12902
12903 * keyboard.c (command_loop_1): Call start_busy_cursor before
12904 Fcommand_execute and cancel_busy_cursor after it.
12905 (timer_check): Remove busy-cursor code.
12906 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12907 cursor timer.
12908
12909 * process.c (wait_reading_process_input): Remove busy-cursor code.
12910
12911 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12912 Fx_hide_busy_cursor.
12913
12914 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12915 Remove prototyoes.
12916 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12917
12918 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12919
12920 * xterm.c (XTread_socket): Remove busy-cursor code.
12921
4eb8436f
GM
12922 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12923 (build_frame_matrix_from_leaf_window): Put code handling
12924 glyph row's not being a slice of a frame row in #if 0.
12925 (sync_window_with_frame_matrix_rows): New function.
12926 (frame_row_to_window): New function.
12927 (mirror_line_dance): Handle copies between windows.
12928
3cb65b0e
GM
12929 * lread.c (Fload): Use `xfree' instead of `free'.
12930 (init_obarray): Use `xmalloc' instead of `malloc'.
12931
bed0c171
GM
12932 * window.c (Fset_window_buffer): Set WINDOW to the window
12933 after decoding.
2add4349
GM
12934 (coordinates_in_window): Take frame's internal border width
12935 into account.
bed0c171 12936
42088c12
GM
129372000-02-24 Gerd Moellmann <gerd@gnu.org>
12938
12939 * xterm.c (x_display_and_set_cursor): Display cursor of
12940 non-selected windows depending on the setting of
12941 cursor_in_non_selected_windows.
12942
12943 * xdisp.c (cursor_in_non_selected_windows): New variable.
12944 (syms_of_xdisp): DEFVAR_BOOL it.
12945
d1e103b2
GM
129462000-02-23 Gerd Moellmann <gerd@gnu.org>
12947
723e779c
GM
12948 * data.c (Fstring_to_number): If number is greater than what
12949 fits into an integer, return a float.
12950
d1e103b2
GM
12951 * eval.c (specbind): Remove references to
12952 keyword_symbols_constant_flag.
12953
12954 * data.c (keyword_symbols_constant_flag): Removed.
12955 (Fmakunbound, set_internal, syms_of_data): Remove references to
12956 keyword_symbols_constant_flag.
12957
12958 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12959
214f877f
KH
129602000-02-23 Kenichi Handa <handa@etl.go.jp>
12961
12962 * syntax.c (multibyte_syntax_as_symbol): New variable.
12963 (syms_of_syntax): Declare it as a Lisp variable.
12964 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12965 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12966 nonzero, treat all multibyte characters as symbol.
52283633 12967 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12968
130adcb7
EZ
129692000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12970
3cb65b0e 12971 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12972 a deleted frame.
130adcb7 12973
17cbbf95
GM
129742000-02-21 Gerd Moellmann <gerd@gnu.org>
12975
12976 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
12977
12978 * xfns.c (x_window_to_frame, x_any_window_to_frame)
12979 (x_non_menubar_window_to_frame): Check the busy-cursor window.
12980
beb0bc36
DL
129812000-02-21 Dave Love <fx@gnu.org>
12982
12983 * frame.c (Vmouse_position_function): New variable.
12984 (Fmouse_position): Use it.
12985 (syms_of_frame): Install it.
12986
12987 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
12988
1d92afcd
GM
129892000-02-20 Gerd Moellmann <gerd@gnu.org>
12990
12991 * fileio.c (Finsert_file_contents): Unbind the binding of
12992 standard-output done by temp_output_buffer_setup.
329eed9f
GM
12993
12994 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
12995 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
12996 (specbind, unbind_to): Handle most common case of non-constant
12997 symbol with trivial value specially.
12998
12999 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13000
18e21ce8 130012000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13002
13003 * data.c (Fmake_variable_buffer_local): Doc fix.
13004 Init found_for_buffer to 0.
13005 (Fmake_variable_frame_local): If the variable has already
13006 been buffer-local, set the check_frame field.
13007
1d4311c3
EZ
130082000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13009
13010 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13011 produced for CODING_MODE_LAST_BLOCK requires.
13012
2dc95ddd
DL
130132000-02-18 Dave Love <fx@gnu.org>
13014
13015 * keyboard.c (echo_keystrokes): Remove declaration.
13016 (Vecho_keystrokes) New variable.
13017 (read_char, record_menu_key, read_key_sequence): Use it to allow
13018 use of float value.
13019 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13020
13021 * lread.c: Undef feature selection macros before defining.
13022
f0930f35
GM
130232000-02-18 Gerd Moellmann <gerd@gnu.org>
13024
13025 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13026 for symbols other than the symbol in question.
13027
e3d4de90
DL
130282000-02-17 Dave Love <fx@gnu.org>
13029
13030 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13031
0b378936
GM
130322000-02-17 Gerd Moellmann <gerd@gnu.org>
13033
d621caf7
GM
13034 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13035
0b378936
GM
13036 * alloc.c (enum mem_type): Compile unconditionally.
13037
3b451f74
EZ
130382000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13039
13040 * xfaces.c (tty_defined_color): Don't return faulire indication
13041 for unspecified-fg and unspecified-bg pseudo-colors.
13042
10689a01
GM
130432000-02-17 Gerd Moellmann <gerd@gnu.org>
13044
1216f5e4
GM
13045 * alloc.c (mark_object): Don't mark symbol names in pure space.
13046 (gc_sweep): Don't unmark symbol names in pure space.
13047
13048 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13049 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13050 [GC_MARK_STACK]: New defines.
427ec082 13051 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13052 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13053
13054 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13055
13056 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13057 allocate_buffer instead of xmalloc.
13058
13059 * alloc.c (toplevel): Include setjmp.h.
13060 (PURE_POINTER_P): New define.
13061 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13062 (Vdead) [GC_MARK_STACK]: New variable.
13063 (lisp_malloc): Add parameter TYPE, call mem_insert if
13064 GC_MARK_STACK is defined.
13065 (allocate_buffer): New function.
427ec082 13066 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13067 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13068 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13069 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13070 (MEM_NIL) [GC_MARK_STACK]: New define.
13071 (struct mem_node) [GC_MARK_STACK]: New structure.
13072 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13073 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13074 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13075 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13076 (mark_stack) [GC_MARK_STACK]: New functions.
13077 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13078 (clear_marks): Removed.
13079 (gc_sweep): Set free conses' car, free floats' type, free
13080 symbols' function to Vdead. Use lisp_free to free buffers.
13081 (init_alloc_once): Initialize Vdead.
13082 (survives_gc_p): Return non-zero for pure objects.
13083
13084 * alloc.c: Add comments throughout the file.
13085
2503c8b1
GM
13086 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13087 that unblocks alarms.
13088
8389e1e2
GM
13089 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13090 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13091 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13092
10689a01 13093 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13094
bfc17d18
KH
130952000-02-17 Kenichi Handa <handa@etl.go.jp>
13096
4a09dee0
KH
13097 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13098 avoid infinite error signaling. Allocate sufficient memory for
13099 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13100
2b927d02
SM
131012000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13102
13103 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13104 depends on the previous behavior.
13105
b49cb764
GM
131062000-02-16 Gerd Moellmann <gerd@gnu.org>
13107
13108 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13109
99e95407
GM
131102000-02-15 Gerd Moellmann <gerd@gnu.org>
13111
13112 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13113
13114 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13115 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13116 write(2).
13117
6ffd3cf7
RS
131182000-02-15 Richard M. Stallman <rms@gnu.org>
13119
13120 * data.c (set_internal): Don't make variable buffer-local
13121 if within a let-binding for the same buffer.
13122 (let_shadows_buffer_binding_p): New function.
13123
13124 * eval.c (specbind): For buffer-local value,
13125 record the current buffer also.
13126 (unbind_to): Cope with that change.
13127
cad53475
GM
131282000-02-15 Gerd Moellmann <gerd@gnu.org>
13129
13130 * window.c (Fsave_window_excursion): Doc fix.
13131
1aa963c8
SM
131322000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13133
13134 * syntax.c (back_comment): Make sure we only consider comment-starters
13135 of the relevant style and return -1 in case of a failure to find the
13136 beginning of the comment.
13137 (Fforward_comment): If back_comment fails, go back to the position just
13138 after the comment-end.
13139 (scan_lists): Add comment describing a very minor bug.
13140
b9b84fd3
SM
131412000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13142
13143 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13144 `completion-regexp-list' in the docstring.
13145
3a28db80
DL
131462000-02-14 Dave Love <fx@gnu.org>
13147
13148 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13149
fb4a568d
SM
131502000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13151
13152 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13153 to Emacs' syntax. Also fix the comment about set/not-set meanings
13154 since Emacs syntax is not the value 0 any more.
13155 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13156 since it's now part of RE_SYNTAX_EMACS.
13157
1063ebb5
DL
131582000-02-12 Dave Love <fx@gnu.org>
13159
52283633 13160 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13161
fb07a302
GM
131622000-02-12 Gerd Moellmann <gerd@gnu.org>
13163
13164 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13165
aaf2320c
DL
131662000-02-12 Dave Love <fx@gnu.org>
13167
13168 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13169
13170 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13171 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13172 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13173
13174 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13175
13176 * s/nextstep.h: Don't define HAVE_ALLOCA.
13177
13178 * config.in: Add vfork bits.
13179
eedf8bde
GM
131802000-02-12 Gerd Moellmann <gerd@gnu.org>
13181
13182 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13183 unwind function to undo the effect of stopping atimers.
13184
52283633 13185 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13186
13187 * atimer.c (stopped_atimers): New variable.
13188 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13189 New functions.
13190
13191 * atimer.h (stop_other_atimers, run_all_atimers)
13192 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13193
eedf8bde
GM
13194 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13195
8476c2f8
KR
131962000-02-11 Ken Raeburn <raeburn@gnu.org>
13197
13198 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13199 library may depend on jpeg.
13200 (atimer.o): Depends on atimer.c.
13201
0e85e4a3
KH
132022000-02-11 Kenichi Handa <handa@etl.go.jp>
13203
13204 * insdel.c (del_range_1): Call update_compositions.
13205 (del_range_both): Call update_compositions just once..
13206
97fa0cc8
DL
132072000-02-10 Dave Love <fx@gnu.org>
13208
13209 * xfns.c (create_frame_xic): Fix initialization of automatic
13210 aggregates for pcc.
13211
25566a3c
KH
132122000-02-09 Kenichi Handa <handa@etl.go.jp>
13213
13214 * ccl.c (CCL_MAKE_CHAR): New macro.
13215 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13216 registers by CCL_MAKE_CHAR before calling translate_char.
13217 <CCL_TranslateCharacterConstTbl> Likewise.
13218
69da54ba
DL
132192000-02-08 Dave Love <fx@gnu.org>
13220
13221 * lread.c (__EXTENSIONS__): Define.
13222
f7136ee8
GM
132232000-02-08 Gerd Moellmann <gerd@gnu.org>
13224
13225 * puresize.h (BASE_PURESIZE): Increase to 650000.
13226
7768790b
EZ
132272000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13228
13229 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13230 the help message.
13231
38fd211b
EZ
132322000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13233
13234 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13235 md, mh, mb, mr, and me to the fake termcap entry.
13236
66e4690f
KR
132372000-02-06 Ken Raeburn <raeburn@gnu.org>
13238
13239 * sound.c (sound_cleanup): Don't call device close routine if the
13240 function pointer is null.
13241
a75dfea0
AI
132422000-02-06 Andrew Innes <andrewi@gnu.org>
13243
13244 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13245 around image definitions and prototypes.
13246 (gamma_correct) [WINDOWSNT]: New prototype.
13247
13248 * w32term.c (x_make_frame_visible): Replace call to
13249 input_poll_signal with poll_for_input.
13250
13251 * window.c [WINDOWSNT]: Include w32term.h.
13252
13253 * xdisp.c [WINDOWSNT]: Include w32term.h.
13254
13255 * makefile.nt: Add dependencies on w32gui.h.
13256 (OBJ1): Include atimer.obj.
13257 ($(BLD)\atimer.obj): New dependency rule.
13258
13259 * w32.c (sigmask): New function (does nothing).
13260 (sigunblock): Ditto.
13261
13262 * frame.c [WINDOWSNT]: Include w32term.h.
13263
13264 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13265
13266 * lread.c (syms_of_lread): Fix literal newlines.
13267
13268 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13269 the string constant limit (2048 bytes) in MSVC.
13270 (main): Ditto.
13271
59ddecde
GM
132722000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13273
52283633 13274 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13275 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13276 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13277 dispatch the event.
13278
07590973
DL
132792000-02-04 Dave Love <fx@gnu.org>
13280
13281 * fileio.c: Remove some unused vars.
13282 (_GNU_SOURCE): Define (for euidaccess).
13283
13284 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13285
13286 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13287 gcpro1, gcpro2.
13288 (read_minibuf): Deal with allow_props correctly.
13289
649351f9
EZ
132902000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13291
13292 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13293
66e4690f 132942000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13295
13296 * search.c (compile_pattern): If a cache entry has a nil regexp,
13297 fill in that entry instead of clobbering a previously cached
13298 string regexp.
13299
66e4690f 133002000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13301
13302 * puresize.h (BASE_PURESIZE): Increase to 610000.
13303
d240a249
GM
133042000-02-02 Gerd Moellmann <gerd@gnu.org>
13305
13306 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13307 can GC.
13308
ca91fb26
KH
133092000-02-02 Kenichi Handa <handa@etl.go.jp>
13310
25660570
KH
13311 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13312 instead of incrementing ic directly.
13313 <CCL_WriteExprConst> Likewise.
13314 <ccl_set_expr>: Set ic to jump_address.
13315
ca91fb26
KH
13316 * fileio.c (e_write): Fix the handling of
13317 CODING_FINISH_INSUFFICIENT_SRC.
13318
2ede9689
DL
133192000-02-01 Dave Love <fx@gnu.org>
13320
13321 * editfns.c (Fpropertize): Doc fix.
13322
13323 * process.c (Fstart_process): Doc fix.
13324
13325 * eval.c: Fix various doc strings not to duplicate information
13326 from help-manyarg-func-alist.
13327
52283633 13328 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13329
13330 * doc.c (Vhelp_manyarg_func_alist): New variable.
13331 (Fdocumentation): Use it.
13332 (syms_of_doc): Define it.
13333
b6680a0e
GM
133342000-01-31 Gerd Moellmann <gerd@gnu.org>
13335
2cb750ba
GM
13336 * xterm.c (xim_open_dpy): Remove unused local variable.
13337
52283633 13338 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13339
13340 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13341 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13342
b6680a0e
GM
13343 * fns.c (sweep_weak_table): New function.
13344 (sweep_weak_hash_tables): Use it. Keep on marking until there
13345 is no more change.
13346
994c5afe
GM
133472000-01-30 Gerd Moellmann <gerd@gnu.org>
13348
13349 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13350 that XTread_socket does not crash by trying to call XNoOp on a
13351 closed display.
427ec082 13352
f00276e3
JR
133532000-01-30 Jason Rumney <jasonr@gnu.org>
13354
13355 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13356 Change selected_frame to SELECTED_FRAME ().
13357 (w32_console_mouse_position): Remove #ifndef MULE from around
13358 `insist' parameter.
13359
13360 * makefile.nt: Remove dosfns.obj.
13361
13362 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13363
13364 * w32fns.c (w32_defined_color): Check for valid frame before
13365 applying gamma correction. Eliminate dependency on frame elsewhere.
13366 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13367 (w32_to_x_font): Use resx and resy not height_in and width_in.
13368 (x_to_w32_font): Doc fix.
13369 (xlfd_strip_height): New function to strip and return font height.
13370 (w32_font_match): Compare height separately from rest of xlfd
13371 spec, using xlfd_strip_height.
13372
13373 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13374 width_in. Use w32_defined_color in place of defined_color.
13375
13376 * w32faces.c: Merge more of DOS and X specifics in preparation for
13377 merge with xfaces.c.
13378 (defined_color): Remove FIXME comment.
13379 (tty_color_name): Provide w32-specific function.
13380 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13381
13382 * w32console.c (turn_on_face, turn_off_face): Removed.
13383 (w32_face_attributes): New function.
13384 (Global_variables): Reduce scope where possible.
13385 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13386 fill attribute.
13387 (hl_mode): Don't modify text attributes.
13388 (write_glyphs): Don't do anything if len <= 0. Use
13389 w32_face_attributes to get attributes for drawing. Write
13390 terminating codes using char_attr_normal.
13391 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13392 (update_begin, update_end): Likewise.
13393 (vga_stdcolor_name): New function.
13394 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13395 (Fset_screen_color): Remove char_attr_reverse.
13396
b08e8bb2
GM
133972000-01-29 Gerd Moellmann <gerd@gnu.org>
13398
13399 * xfns.c (xic_set_preeditarea): Take window parameter and
13400 window-relative pixel-positions.
13401
13402 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13403 is its frame's selected window.
13404 (xim_instantiate_callback): Likewise.
13405
13406 * xfns.c (x_create_im): Removed.
13407 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13408 (supported_xim_styles): Renamed from supported_styles.
13409 (best_xim_style): Renamed from best_style.
13410 (create_frame_xic): Renamed from xic_create_frame.
13411 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13412
b08e8bb2
GM
134132000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13414
13415 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13416 our frames, call XFilterEvent with 2nd parameter `None'.
13417 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13418 returning XBufferOverflow.
52283633 13419 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13420 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13421 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13422 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13423 (xim_initialize, xim_close)
13424 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13425 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13426 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13427 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13428
13429 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13430 and `xim_styles'.
13431 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13432 `xic_style' and `xic_xfs'.
13433 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13434 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13435 (FRAME_XIM): Removed.
13436
13437 * xfns.c (supported_styles): New variable.
13438 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13439 (xic_create_xfontset, best_style, xic_create_frame)
13440 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13441 (xic_set_xfontset): New functions.
13442
142e109c
DL
134432000-01-28 Dave Love <fx@gnu.org>
13444
13445 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13446
13447 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13448
b02786f9
GM
134492000-01-28 Gerd Moellmann <gerd@gnu.org>
13450
d060bc9f
GM
13451 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13452 for *scratch* if it already existed.
13453
b02786f9
GM
13454 * emacs.c (USAGE): New macro.
13455 (main): Use it to display usage information.
13456
2c52d7e4
EZ
134572000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13458
13459 Support for the menu-help feature:
13460
52283633 13461 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13462
13463 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13464 part of the line to the termscript file.
13465 (IT_clear_to_end): Clear the entire line, not just its beginning.
13466 (menu_help_message, prev_menu_help_message): New variables.
13467 (IT_menu_make_room): Make room for the help_text member.
13468 (IT_menu_display): New argument disp_help; all callers changed.
13469 If disp_help is non-zero, store the help text of the active menu
13470 item in menu_help_message.
13471 (XMenuAddPane): Initialize the help_text member to NULL.
13472 (XMenuAddSelection): New argument help_text. Store it in the
13473 XMenu structure.
13474 (XMenuActivate): New argument help_callback. If the value of
13475 menu_help_message has changed since the last time, display the
13476 menu help message text while waiting for the mouse to move. Clear
13477 the echo area before exiting.
13478 (XMenuDestroy): Free the help_text member.
13479
ffe0bcd1
GM
134802000-01-27 Gerd Moellmann <gerd@gnu.org>
13481
13482 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13483 XMenuAddSelection. Pass help callback to XMenuActivate.
13484 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13485
50dbd23f
EZ
134862000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13487
13488 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13489 and EMACS_SET_USECS.
13490
f5941bf8
GM
134912000-01-26 Dave Love <fx@gnu.org>
13492
6c67ddee
DL
13493 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13494
f5941bf8
GM
13495 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13496 an error may be signalled.
13497
9e49c990
GM
134982000-01-26 Gerd Moellmann <gerd@gnu.org>
13499
fc3cb460
GM
13500 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13501 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13502
9e49c990
GM
13503 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13504
d0c037d8
GM
135052000-01-25 Gerd Moellmann <gerd@gnu.org>
13506
13507 * charset.c (Fstring): If there is a multibyte char among
13508 the args, always return a multibyte string.
13509
e12489f9
GM
135102000-01-25 Gerd Moellmann <gerd@gnu.org>
13511
13512 * sysdep.c (sys_select): Turn atimers off and on instead of
13513 recording and restoring old alarm handler
13514
13515 * process.c (toplevel): Include atimer.h.
13516 (create_process_1): Rewritten.
13517 (create_process): Use atimers instead of alarm.
13518 (wait_reading_process_input) [hpux]: Turn atimers off instead
13519 of turning off SIGALRM.
13520 (wait_reading_process_input): Turn off atimers instead off
13521 calling stop_polling.
13522
13523 * emacs.c (main): Call init_atimer.
13524
13525 * keyboard.c (toplevel): Include systime.h and atimer.h.
13526 (polling_for_input): Removed because unused.
13527 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13528 (poll_timer): New variable.
13529 (poll_for_input, poll_for_input_1): New functions.
13530 (start_polling, stop_polling): Rewritten.
13531
13532 * keyboard.h (polling_for_input): Removed.
427ec082 13533
e12489f9
GM
13534 * atimer.h, atimer.c: New files.
13535
13536 * Makefile.in (obj): Add atimer.o.
13537 (atimer.o): New target.
13538
13539 * blockinput.h (pending_atimers): Add extern declaration.
13540 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13541
13542 * lisp.h (popup_activated_flag): Add extern declaration.
13543
13544 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13545 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13546 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13547
13548 * xterm.c (toplevel): Include atimer.h.
13549 (toolkit_scroll_bar_interaction): New variable.
13550 (Fxt_process_timeouts): Removed.
13551 (x_process_timeouts): New function.
13552 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13553 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13554 (x_make_frame_visible): Call poll_for_input_1 instead of
13555 input_poll_signal. Don't call alarm.
13556 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13557
1e5279b9
DL
135582000-01-24 Dave Love <fx@gnu.org>
13559
6c67ddee 13560 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13561 Don't use -cckr -- apparently not now necessary.
13562
edf6aeb8
EZ
135632000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13564
13565 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13566 screen boundary.
13567
9badad41
JR
135682000-01-23 Jason Rumney <jasonr@gnu.org>
13569
13570 * w32fns.c (w32_defined_color): Apply gamma correction before
13571 trying to map to the palette.
13572 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13573 to w32_clear_rect.
13574
13575 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13576 here. Callers changed to always pass real device context.
13577 (w32_draw_bitmap): Likewise.
13578 (w32_get_glyph_overhangs): Likewise.
52283633 13579 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13580 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13581 pfnSetScrollInfo and SetScrollRange.
13582 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13583 back into MULE characters after decoding them.
13584 (x_get_glyph_face_and_encoding): Likewise.
13585 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13586 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13587 (x_produce_glyphs): Calculate per char metrics for a character
13588 that we know exists in default font when font_not_found_p is true.
13589
63bd786b
JR
135902000-01-22 Jason Rumney <jasonr@gnu.org>
13591
13592 * makefile.nt (intervals.obj, composite.obj): New modules.
13593 (composite.h): Added as dependency where appropriate.
13594
13595 * w32gui.h (XGCValue): New struct for emulating X GCs.
13596
13597 * w32term.h (XCharStruct): New struct for emulating X.
13598
13599 * w32console.c (turn_on_face, turn_off_face): New functions.
13600 (change_line_highlight): New prototype for new redisplay.
13601 (write_glyphs): Support multibyte text. Support faces.
13602
52283633 13603 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13604
13605 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13606 throughout. struct frame * in place of FRAME_PTR.
13607 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13608 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13609 (w32_get_arg): Renamed from x_get_arg.
13610 (Fx_file_dialog): New function.
13611 (w32_list_fonts): Check cache before asking system.
13612 (Vw32_enable_synthesized_fonts): New variable.
13613 (Vw32_enable_italics): Obsolete, removed.
13614
13615 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13616 Use SELECTED_FRAME macro.
13617
13618 * w32menu.c: Add skeleton support for help strings on menus.
13619 (add_menu_item): Native checkbox and radio support added, but not
13620 yet enabled due to bugs.
13621 (push_menu_item): Add parameters type, selection and help.
13622 Callers updated.
13623 Formatting changes to reduce unnecessary diffs with xmenu.c.
13624
13625 * w32select.c (Fw32_set_clipboard_data): Update call to
13626 find_charset_in_str.
13627
13628 * w32term.c: Complete rewrite for new redisplay based on new
13629 xterm.c with necessary sections merged back in from old w32term.c.
13630
6ffd3cf7 136312000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13632
13633 * data.c (set_internal): Further fix in same criterion.
13634
6ffd3cf7 136352000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13636
13637 * data.c (set_internal): Fix the criteria for whether
13638 to swap out the old cached binding.
13639
60af03f1
DL
136402000-01-19 Dave Love <fx@gnu.org>
13641
13642 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13643
f9be074f
KH
136442000-01-18 Kenichi Handa <handa@etl.go.jp>
13645
13646 * regex.c (re_compile_fastmap): While checking a range table for
13647 `charset', skip flag bits for a character class correctly.
13648
52b8dbf9
GM
136492000-01-17 Gerd Moellmann <gerd@gnu.org>
13650
d36100c9
GM
13651 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13652
52283633 13653 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
13654
13655 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 13656 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
13657
13658 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
13659 MENU_ITEMS_ITEM_.*.
13660 (MENU_ITEMS_ITEM_HELP): New enumerator.
13661 (push_menu_item): Add parameter HELP. Record help in menu_items.
13662 (single_menu_item, single_submenu, list_of_items): Call
13663 push_menu_item with new parameter.
13664 (single_submenu): Set help string in widget value.
13665 (menu_highlight_callback): New function.
13666 (set_frame_menubar): Call lw_create_widget with new
13667 parameter list.
13668 (xmenu_show, xdialog_show): Ditto.
13669
3139018f
GM
136702000-01-13 Gerd Moellmann <gerd@gnu.org>
13671
13672 * sound.c (Fplay_sound): Improve doc string.
13673
83c8f461
RS
136742000-01-11 Richard M. Stallman <rms@gnu.org>
13675
13676 * lisp.h (set_internal): Enter the new arg.
13677
13678 * eval.c (specbind): Record buffer-local variables specially,
13679 indicating which buffer's binding was saved.
13680 (unbind_to): Restore buffer-local variables specially
13681 in the proper buffer.
13682
13683 * data.c (set_internal): New arg BUF.
427ec082 13684
83c8f461
RS
13685 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
13686 * data.c (Fset): Pass new arg to set_internal.
13687 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 13688
1fab1775
GM
136892000-01-11 Gerd Moellmann <gerd@gnu.org>
13690
52283633 13691 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 13692
83c8f461 136932000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
13694
13695 * minibuf.c (Ftry_completion): Doc fix.
13696
7a85e4df
GM
136972000-01-11 Gerd Moellmann <gerd@gnu.org>
13698
13699 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
13700 vector, too.
13701
a970dae4
AS
137022000-01-11 Andreas Schwab <schwab@suse.de>
13703
13704 * coding.c (code_convert_region): Initialize total_skip.
13705
c65d14ee
DL
137062000-01-08 Dave Love <fx@gnu.org>
13707
13708 * eval.c (Fuser_variable_p): Check customizability too.
13709
834938d2
GM
137102000-01-07 Gerd Moellmann <gerd@gnu.org>
13711
13712 * minibuf.c (Fcompleting_read): Doc fix.
13713
e0303cd6
GM
137142000-01-05 Gerd Moellmann <gerd@gnu.org>
13715
8a26744b
GM
13716 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13717 -L /usr/local/lib.
13718
e0303cd6
GM
13719 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13720 Check that input style is supported before trying to create an
13721 IC for it.
13722 (x_window): Call x_create_im.
427ec082 13723
2e471eb5
GM
137242000-01-04 Gerd Moellmann <gerd@gnu.org>
13725
560a7bd2
GM
13726 * xfns.c (current_gif_memory_src): New variable.
13727 (gif_load): Record the address of the current memory source
13728 in current_gif_memory_src.
13729 (gif_read_from_memory): Use current_gif_memory_src.
13730
f9ee84a3
GM
13731 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13732 macros statement form.
13733
d1299cde
GM
13734 * sound.c (struct sound): Renamed from struct sound_file.
13735 (struct sound): Add members `data' and `header_size'.
13736 (enum sound_attr): Add SOUND_DATA.
13737 (current_sound, current_sound_device): Variables renamed from
13738 sound_file and sound_device.
13739 (parse_sound): Parse :data.
13740 (parse_sound): Handle sound data in strings.
13741 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 13742 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
13743 needed header size.
13744 (wav_play, au_play): Play sounds from string data.
13745
2e471eb5
GM
13746 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13747
13748 * lisp.h: Add prototype for allocate_string_data.
13749
52283633 13750 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
13751
13752 * alloc.c (mark_buffer): Remove code in #if 0.
13753 (gc_sweep): Ditto.
13754 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13755 (strings_consed): New variable.
13756 (allocate_string): Set it.
13757 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13758 (Fmemory_use_counts): Return strings_consed. Use Flist.
13759
13760 * alloc.c: General cleanup in comments etc. Remove conditional
13761 compilation for `standalone'.
13762
13763 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13764
13765 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13766 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13767 (DONT_COPY_FLAG): Removed.
13768 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13769 (struct sdata, struct sblock): New
13770 (struct string_block): Rewritten.
13771 (STRINGS_IN_STRING_BLOCK): New macro.
13772 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13773 (large_sblocks, string_blocks, string_free_list): New variables.
13774 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13775 (init_strings): Rewritten.
13776 (allocate_string, allocate_string_data, compact_small_strings)
13777 (free_large_strings, sweep_strings): New functions.
13778 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13779 (struct string_block_head, current_string_block)
13780 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13781 (STRING_PAD): Removed.
13782 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13783 (Fgarbage_collect): Don't set mark bit in large strings.
13784 (mark_object): Mark strings differently. Mark symbol names
13785 differently.
13786 (survives_gc_p): Test marked strings differently.
427ec082 13787 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13788 symbol names.
13789 (compact_strings): Removed.
13790
42608ba8
EZ
137912000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13792
13793 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13794 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13795
e0a09e1a
KH
137962000-01-04 Kenichi Handa <handa@etl.go.jp>
13797
dd9f0750 13798 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 13799 in a non-empty buffer.
dd9f0750 13800
3c0f3b15 13801 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 13802
44cd3ae5
GM
138032000-01-03 Gerd Moellmann <gerd@gnu.org>
13804
13805 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13806 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13807
13808 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13809
c182a70f
EZ
138102000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13811
13812 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13813 need to test for MSDOS frames.
13814
24480d5b
EZ
138152000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13816
13817 * dosfns.c (unspecified_colors): Remove.
13818 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13819 unspecified_bg.
13820 (msdos_stdcolor_name): Return strings for unspecified fore- and
13821 back-ground colors.
13822
13823 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 13824 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
13825 (tty_color_name): Return Lisp strings for unspecified fore- and
13826 back-ground colors.
13827 (Finternal_set_lisp_face_attribute): Remove the special treatment
13828 for Qunspecified_{f,b}g.
52283633 13829 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 13830
047f434a
GM
138312000-01-03 Gerd Moellmann <gerd@gnu.org>
13832
13833 * xdisp.c (reseat_at_next_visible_line_start): Position before
13834 newline only if ending up on a newline.
13835 (next_element_from_ellipsis): Return success. Handle case of
52283633 13836 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
13837 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13838 returns 0.
13839
d684c676
EZ
138402000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13841
13842 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
13843 (Fcolor_supported_p): Renamed from face-color-supported-p.
13844
5fe1d139
EZ
138452000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13846
13847 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
13848 list of colors renamed to tty-defined-color-alist.
13849 (tty_color_name): Pass the frame to tty-color-by-index.
13850 (realize_tty_face): tty-color-alist is now a function which
13851 accepts the frame as argument.
13852
52283633 13853 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 13854
816be8b8
EZ
138552000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13856
13857 * term.c (insert_glyphs): Pass glyph, not &glyph, to
13858 encode_terminal_code.
13859
b635321e
EZ
138602000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13861
13862 * dispnew.c (mode_line_string): Support termcap frames as well.
13863
9b784e96
GM
138642000-01-01 Gerd Moellmann <gerd@gnu.org>
13865
27189709
GM
13866 * syntax.c (Fforward_word): Undo previous change.
13867
13868 * editfns.c (Fconstrain_to_field): Don't constrain if
13869 inhibit-field-text-motion is non-nil.
13870 (Fline_beginning_position): Undo previous change.
13871 (Fline_end_position): Ditto.
13872
13873 * syntax.c (Fforward_word): Notice field boundaries only if
13874 inhibit-field-text-motion is nil.
13875
13876 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
13877
13878 * editfns.c (Vinhibit_field_text_motion): New variable.
13879 (inhibit-field-text-motion): New DEFVAR_LISP.
13880 (Fline_beginning_position, Fline_end_position): Notice field
13881 boundaries only if inhibit-field-text-motion is nil.
13882
45158a91
GM
13883 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
13884 All calls adjusted.
13885 (x_build_heuristic_mask): Likewise.
13886 (xbm_load_image_from_file): Change error output.
13887 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13888 (gif_load, gs_load, x_kill_gs_process): Ditto.
13889
9b784e96
GM
13890 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13891 color indices when accessing raster pixels.
63cec32f
GM
13892 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13893 one of :file or :data.
13894 (enum pbm_keyword_index): Add PBM_DATA.
13895 (pbm_format): Add :data.
13896 (pbm_image_p): Allow either :file or :data.
13897 (pbm_read_file): New function.
13898 (pbm_scan_number): Rewritten to read from string.
13899 (pbm_load): Support :data.
9b784e96 13900
2cb085db 13901See ChangeLog.8 for earlier changes.
6922b018
KH
13902
13903;; Local Variables:
49b3bd82 13904;; coding: iso-2022-7bit
6922b018 13905;; End:
2a34a036
GM
13906
13907 Copyright (C) 2001 Free Software Foundation, Inc.
13908 Copying and distribution of this file, with or without modification,
13909 are permitted provided the copyright notice and this notice are preserved.