(x-get-resource): Reindent.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
bf00d461
EZ
12001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
2
3 * s/hpux11.h: New file.
4
4e10df59
PJ
52001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
6
2b209b97
PJ
7 * emacs.c (USAGE1): Show command line option --no-window-system
8 instead of --no-windows in usage.
9 (standard_args): Rename --no-windows to --no-window-system.
10 (bug_reporting_address): Follow Emacs coding conventions.
11
9dbc9081
PJ
12 * eval.c (Fcommandp): Doc fix.
13 Change doc-string comments to `new style' [w/`doc:' keyword].
14
4e10df59
PJ
15 * frame.c (Fframe_live_p): Doc fix.
16
17 * buffer.c (selective-display-ellipses): Doc fix.
18
dd387b25
GM
192001-10-31 Gerd Moellmann <gerd@gnu.org>
20
fe957e65
GM
21 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
22
dd387b25
GM
23 * xfaces.c (realize_x_face): If C is not a single-byte character,
24 set the face's colors_copied_bitwise_p instead of the defaulted_p
25 members which have a different meaning.
26 (free_face_colors): Do nothing for a face whose colors have been
27 copied bitwise.
28
29 * dispextern.h (struct face) <colors_copied_bitwise_p>: New
30 member.
31
2e1280f8
PJ
322001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
33
687784e8
PJ
34 * marker.c, mocklisp.c: Change doc-string comments to `new style'
35 [w/`doc:' keyword].
2e1280f8 36
b9d9a9b9
GM
372001-10-31 Gerd Moellmann <gerd@gnu.org>
38
39 * fns.c (require_unwind): Return Lisp_Object.
40
48400103
PJ
412001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
42
fa1361cb
PJ
43 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
44 (last-input-char): Revert doc-string to be the same as the
45 doc-string of `last-input-event'.
46
48400103
PJ
47 * xdisp.c: Fix typos in comments.
48
eafa3196
GM
492001-10-31 Gerd Moellmann <gerd@gnu.org>
50
51 * window.c (grow_mini_window): Handle case that the root
52 window is already smaller than the nominal mininum height.
53
747d3f2a
SM
542001-10-30 Stefan Monnier <monnier@cs.yale.edu>
55
bf9bb76f
SM
56 * emacs.c (main): Don't call keys_of_macros any more.
57
58 * lisp.h (keys_of_macros): Remove.
59
60 * macros.c (keys_of_macros): Remove.
61
747d3f2a
SM
62 * xfaces.c (Fface_attribute_relative_p): Declare args.
63
5e905a57
JR
642001-10-30 Jason Rumney <jasonr@gnu.org>
65
66 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
67 (enum_font_cb2): Ignore fonts with vertical orientation.
68
3a426197
RS
692001-10-30 Richard M. Stallman <rms@gnu.org>
70
71 * keyboard.c (Finput_pending_p): Doc fix.
72
a742d646
GM
732001-10-30 Gerd Moellmann <gerd@gnu.org>
74
259cf6bc
GM
75 * xterm.c (x_after_update_window_line): Don't run the code
76 clearing in borders for rows whose visible height is 0.
77
3f99f948
GM
78 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
79 resized_p flag is set. If not set, use the much less flickering
80 method previously used.
81
82 * dispnew.c (change_frame_size_1): Set frame's resized_p.
83
84 * frame.h (struct frame) <resized_p>: New member.
85
b4a3be43
GM
86 * lread.c (to_multibyte): Ensure read_buffer is at least twice
87 as large as the number of bytes to convert.
747d3f2a 88
a742d646
GM
89 * lread.c (to_multibyte): New function.
90 (read1): Use it.
91
cacbb9e9
EZ
922001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
93
94 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
95
99cb6b2f
GM
962001-10-30 Gerd Moellmann <gerd@gnu.org>
97
327f42ee 98 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
99 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
100 if the row's fill_line_p is set and drawing the last glyph with
101 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 102
99cb6b2f
GM
103 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
104
8e8223e2
SM
1052001-10-29 Stefan Monnier <monnier@cs.yale.edu>
106
107 * xmenu.c: Include coding.h and charset.h.
108 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
109 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
110 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
111 Explicitly set wv->help. Use `TRUE' rather than `True'.
112 (menu_help_callback): Use empty_string.
113
114 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
115 (Fx_popup_dialog): Explicitly init f.
116 (w32_menu_display_help): Use empty_string.
117
4d083a8f
RS
1182001-10-29 Richard M. Stallman <rms@gnu.org>
119
b2304472
RS
120 * fns.c (Frequire): Detect recursive try to require the same
121 feature 3 or more levels deep, and get error.
122 (require_unwind): New subroutine.
123 (require_nesting_list): New variable.
124 (syms_of_fns): Init and staticpro it.
125
4d083a8f
RS
126 * print.c (print_object): Clarify indication of insertion type.
127
2fe41216
EZ
1282001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
129
90480000
EZ
130 * coding.c (syms_of_coding): Document that locale-coding-system is
131 used for decoding input on X.
132
2fe41216
EZ
133 * window.c (Fscroll_left, Fscroll_right): Doc fix.
134
74e79967
PJ
1352001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
136
137 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
138 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
139
60ebcfe8
GM
1402001-10-29 Gerd Moellmann <gerd@gnu.org>
141
9a7bdceb
GM
142 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
143 use NO_CURSOR if cursor_in_non_selected_windows is false.
144
3f08fcd2
GM
145 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
146 the slant attribute if FRAME is t.
147
0ccfdad2
GM
148 * xfns.c (x_set_internal_border_width): Set frame garbaged
149 when X window doesn't exist yet.
150
ef253080
GM
151 * xterm.c (x_after_update_window_line): Clear internal border
152 in different circumstances.
153
60ebcfe8
GM
154 * xterm.c (XTread_socket) <KeyPress>: Don't use
155 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
156 <handa@etl.go.jp>.
157
73d25f9c
EZ
1582001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
159
160 * m/ibms390.h: New file. From Adam Thornton
161 <athornton@sinenomine.net>.
162
cac1daf0
GM
1632001-10-28 Gerd Moellmann <gerd@gnu.org>
164
053b3256
GM
165 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
166
cac1daf0
GM
167 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
168 a loop counter.
169
13b1a09c
PJ
1702001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
171
186486eb
PJ
172 * emacs.c: Use argv[0] instead of emacs when -t was specified.
173
4707d2d0
PJ
174 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
175 keyword].
176 Fix typos in comments.
177
d883731c
PJ
178 * emacs.c (bug_reporting_address): New function.
179 Use it when displaying usage message.
180
04012254
PJ
181 * minibuf.c (read_minibuf): Remove unused external declaration of
182 variable `Qread_only'.
183
13b1a09c
PJ
184 * keymap.c (access_keymap): Remove unused variable `charset'.
185
5bbf4378
MB
1862001-10-28 Miles Bader <miles@gnu.org>
187
188 * xfaces.c (merge_face_heights): Handle TO being relative as well.
189 Remove #ifdef'd-out code.
190 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
191 (syms_of_xfaces): Initialize them.
192
1ce1e4ee
JR
1932001-10-27 Jason Rumney <jasonr@gnu.org>
194
195 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
196 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
197 position using the system caret.
198
199 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
200 (w32_system_caret_height, w32_system_caret_x)
201 (w32_system_caret_y): New variables for tracking system caret.
202 (w32_initialize): Initialize them.
c2d53558 203 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 204
c2d53558
SM
205 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
206 New messages types.
1ce1e4ee
JR
207
208 * w32term.c (note_mouse_highlight): Clear old help_echo.
209
4e30ce42
PJ
2102001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
211
bb4600a4
PJ
212 * xterm.c: Fix typo in a comment.
213
7db35a48
PJ
214 * emacs.c: Fix typos in comments.
215 Remove unnecessary spaces.
216 Change doc-string comments to `new style' [w/`doc:' keyword].
217 (USAGE2): Fix typos in usage string.
218
a7248e4f
PJ
219 * xterm.c: Fix typo in a comment.
220
4e30ce42
PJ
221 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
222 emacs.c.
223
62725a92
GM
2242001-10-27 Gerd Moellmann <gerd@gnu.org>
225
798dbe1f 226 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 227 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
228 farther backward when target_y was not reached.
229
62725a92
GM
230 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
231 Display errno only if non-zero.
232 (sound_warning): New function.
233 (vox_configure): Don't treat failing to set sample rate as error.
234 (various places): Improve error messages.
235
d4e34d24
EZ
2362001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
237
944e6f60
EZ
238 * fileio.c (Faccess_file): Run the argument filename through
239 Fexpand_file_name, before using it.
240
d4e34d24
EZ
241 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
242 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
243
38d2af0c
GM
2442001-10-26 Gerd Moellmann <gerd@gnu.org>
245
da80a8d5
GM
246 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
247
38d2af0c
GM
248 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
249 Fix clearing in the case of scroll bars on the right.
c2d53558 250
56f508dd
EZ
2512001-10-26 Juanma Barranquero <lektu@terra.es>
252
253 * w32gui.h (XImage): Add a dummy typedef.
254
fbd5ceb2
GM
2552001-10-26 Gerd Moellmann <gerd@gnu.org>
256
c2d53558 257 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 258
b23236fb
EZ
2592001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
260
261 * frame.c (Fframe_parameter): Fix last change.
262
5d991fc4
EZ
263 * fileio.c: Revert last change (which removed old commented-out
264 version of expand-file-name). Add a comment that explains why
265 this old version should not be removed.
266
879eadc3
GM
2672001-10-25 Gerd Moellmann <gerd@gnu.org>
268
75700ff2
GM
269 * frame.c (Fframe_parameter): Fix a bug whereby some
270 ``artificial'' frame parameters, like `minibuffer' were not
271 obtained by calling Fframe_parameters.
272
dfe92a6a
GM
273 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
274 cursor differently.
275
879eadc3
GM
276 * xdisp.c (move_it_vertically_backward): Compute line height
277 differently. Add heuristic to try to be more compatible to 20.x.
278
e1010ebe
SM
2792001-10-25 Stefan Monnier <monnier@cs.yale.edu>
280
d73a471b
SM
281 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
282
d6da5a06
GM
283 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
284 boolean.
e1010ebe 285
f66bd220
MB
2862001-10-25 Miles Bader <miles@gnu.org>
287
288 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
289 BG is a pointer to a structure, not a structure.
290 (gif_format, png_format): Add missing commas.
291
d436d538
RS
2922001-10-24 Richard M. Stallman <rms@gnu.org>
293
294 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 295 (syms_of_xfaces): Defsubr it.
d436d538 296
075c507b
PJ
2972001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
298
299 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
300 variable `area'.
301
d492b584
PJ
3022001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
303
c2d53558 304 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 305
e2a57b34
MB
3062001-10-25 Miles Bader <miles@gnu.org>
307
308 * dispextern.h (struct image): Add `background',
309 `background_valid', and `background_transparent' fields.
310 (image_background, image_background_transparent): New declarations.
311 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
312 * xfns.c (image_background, image_background_transparent)
313 (four_corners_best): New functions.
c2d53558 314 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
315 (gs_format): Add `:background' entry.
316 (lookup_image): Set IMG's background color if specified.
317 (pbm_load, xbm_load_image, png_load): Set IMG's background field
318 when appropriate.
319 (x_clear_image_1): Reset `background_valid' and
320 `background_transparent_valid' fields.
321 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
322 calculating it here. Set IMG's background_transparent field.
323 (enum xpm_keyword_index): Add XPM_BACKGROUND.
324 (enum png_keyword_index): Add PNG_BACKGROUND.
325 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
326 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
327 (enum gif_keyword_index): Add GIF_BACKGROUND.
328 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 329 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
330 Pre-calculate image background color where necessary.
331 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
332 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
333 color to use for image glyph reliefs.
334
b547b6e8
GM
3352001-10-24 Gerd Moellmann <gerd@gnu.org>
336
d9e3b8c6
GM
337 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
338 in full-width rows.
c2d53558 339
b547b6e8
GM
340 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
341 Fix clearing of area not covered by scroll bar.
342
2beb36f9
PJ
3432001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
344
345 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
346 and `real_start'.
c2d53558 347 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
348 (glyph_rect): Remove unused variable `area'.
349
76cb5e06
GM
3502001-10-24 Gerd Moellmann <gerd@gnu.org>
351
bdbdebff 352 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
353
354 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
355 (row_containing_pos): Take additional argument DY.
356 Treat rows ending in middle of char differently.
62e33982
GM
357 (display_line): Handle tabs on window systems differently.
358
359 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
360 with additional argument.
361
362 * dispextern.h (row_containing_pos): Adjust prototype.
363
76cb5e06
GM
364 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
365 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
366 (try_window_id, try_window_reusing_current_matrix)
367 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
368 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
369
996fee11
PJ
3702001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
371
c9e60620
PJ
372 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
373 gnuemacs).
374 (HAVE_BOXES): Fix typo in comment.
375 (push_menu_pane): Fix typo in comment.
376
3b552d56
PJ
377 * xdisp.c: (display_prop_string_p): Remove unused local declaration
378 of `Qwhen'.
379 (single_display_prop_string_p): Remove unused local declarations
380 of `Qwhen' and `Qmargin'.
381 (string_buffer_position): Remove unused variable `around'.
382 (store_frame_title): Remove unused variable `width'.
383
15c565ac
PJ
384 * window.c: Don't define max.
385 (coordinates_in_window): Remove unused variable `uy'.
386
a8818eb9
PJ
387 * widget.c: Don't define max.
388
996fee11
PJ
389 * process.c: Don't define max.
390 (create_process): Remove unused variable `buffer'.
391
496e1a5b
GM
3922001-10-23 Gerd Moellmann <gerd@gnu.org>
393
c2d53558 394 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 395
5905ae8b
EZ
3962001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
397
398 * xfaces.c (Finternal_set_lisp_face_attribute)
399 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
400 frame is on a windowed display.
401
24db49fb
GM
4022001-10-23 Gerd Moellmann <gerd@gnu.org>
403
c2d53558
SM
404 * dispnew.c (sync_window_with_frame_matrix_rows):
405 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
406 of marginal areas.
407
c2d53558 408 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 409
f0487f05
EZ
4102001-10-23 Andreas Schwab <schwab@suse.de>
411
412 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
413 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
414
f0a48a01
GM
4152001-10-23 Gerd Moellmann <gerd@gnu.org>
416
c2d53558 417 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
418 REAL_END. Notice if cursor gets overwritten.
419 (notice_overwritten_cursor): Take X positions as parameters.
420 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
421 around call to x_draw_glyphs.
422
a50a10a0
PJ
4232001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
424
fc11dff0
PJ
425 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
426 instead of C) and usage.
a50a10a0 427
fc11dff0
PJ
428 * editfns.c (char-to-string): Fix argument names (use CHAR instead
429 of C) and usage.
a50a10a0
PJ
430
431 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
432 `left', `max_width' and `max_height'.
433
8738febd
GM
4342001-10-23 Gerd Moellmann <gerd@gnu.org>
435
436 * xdisp.c (display_line): For a tab continued to the next line,
437 set row's ends_in_middle_of_char_p.
438
653c329b
GM
4392001-10-22 Gerd Moellmann <gerd@gnu.org>
440
441 * xdisp.c (display_line): Fix computation of continuation lines
442 width for TABs.
443
f958c5ac
PJ
4442001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
445
7ba51063
PJ
446 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
447 `Qlaplace'.
448
f958c5ac
PJ
449 * fileio.c: Remove unused code.
450
eb360291
MB
4512001-10-22 Miles Bader <miles@gnu.org>
452
453 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
454 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
455 Remove `DOC_STRINGS_IN_COMMENTS' cases.
456
98515cf0
JR
4572001-10-21 Jason Rumney <jasonr@gnu.org>
458
459 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
460
93026d88
EZ
4612001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
462
463 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
464 (Finsert_string): Avoid the multi-line string literals warning.
465
c9a95b79
MB
4662001-10-22 Miles Bader <miles@gnu.org>
467
468 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
469 (Fdocumentation): Don't use it.
470 (syms_of_doc): Don't initialize it.
471
472 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
473 * print.c (Fwith_output_to_temp_buffer): Likewise.
474 * window.c (Fsave_window_excursion): Likewise.
c2d53558 475 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 476 (Fsave_restriction): Likewise.
c2d53558
SM
477 * eval.c (Frun_hooks, Frun_hook_with_args)
478 (Frun_hook_with_args_until_failure)
479 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
480 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
481 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
482 (Funwind_protect, Fcondition_case): Likewise.
483 * coding.c (Ffind_operation_coding_system): Likewise.
484 * keyboard.c (Ftrack_mouse): Likewise.
485
a3b10252
MB
4862001-10-21 Miles Bader <miles@gnu.org>
487
c2d53558 488 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
489 (Fmake_hash_table): Add usage: string to doc string.
490 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 491 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
492 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
493 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
494 (Fml_prefix_argument_loop): Likewise.
495
c6f73eec
PJ
4962001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
497
c2d53558 498 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 499
c6f73eec
PJ
500 * sysdep.c (init_sys_modes): Change doc-string comments to `new
501 style' [w/`doc:' keyword].
502
503 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
504 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
505 comments to `new style' [w/`doc:' keyword].
506
3cf3436e
JR
5072001-10-21 Jason Rumney <jasonr@gnu.org>
508
509 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
510
c169b8f1
JR
511 * w32term.c (remember_mouse_glyph): New function.
512 (w32_mouse_position): Use it.
513 (note_mouse_movement): If the mouse moved off the glyph, remember
514 its new position.
c2d53558 515
4fdd691b
JR
516 * w32term.h (struct w32_output): Correct spelling of x_compatible.
517 (w32_display_info): Add mouse_face_overlay.
518
c169b8f1
JR
519 * w32term.c (notice_overwritten_cursor): Renamed from
520 note_overwritten_text_cursor. Rewritten to take glyph widths into
521 account.
522 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
523 (fast_find_string_pos): New function.
524 (fast_find_position): Return the correct vpos. Add parameter
525 STOP. In the final row, stop before glyphs having STOP as object.
526 Don't consider glyphs that are not from a buffer.
527 (fast_find_position) [0]: Add a presumably more correct version
528 for after 21.1.
529 (expose_window_tree, expose_frame): Don't compute intersections here.
530 (expose_window): Do it here instead.
531 (expose_window_tree, expose_window, expose_line): Return 1 when
532 overwriting mouse-face.
533 (expose_window): If W is the window currently being updated, mark
534 the frame garbaged.
535 (expose_frame): If mouse-face was overwritten, redo it.
536 (x_use_underline_position_properties): New variable.
537 (syms_of_xterm): DEFVAR_BOOL it.
538 (x_draw_glyph_string): Add comment to use it in future.
539 (x_draw_glyph_string): Restore clipping after drawing box.
540 Fix a computation of the underline position.
541 (w32_get_glyph_string_clip_rect): Minor cleanup.
542 (x_fill_stretch_glyph_string): Remove an assertion.
543 (x_produce_glyphs): Don't convert multibyte characters
544 to unibyte characters in unibyte buffers.
545 (cursor_in_mouse_face_p): New function.
546 (x_draw_stretch_glyph_string): Use it to choose a different GC
547 when drawing a cursor within highlighted text. Don't draw
548 background again if it has already been drawn.
549 (x_draw_glyph_string_box): Don't draw a full-width
550 box just because the glyph row's full_width_p flag is set.
551 (x_draw_glyphs): Fix computation of rightmost x for
552 full-width rows.
553 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
554 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
555 change bottom shadow accordingly. Some cleanup.
556 (x_update_window_end): Handle overwritten mouse face
557 also for tool bar windows.
558 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
559 DRAW is DRAW_IMAGE_RAISED.
560 (clear_mouse_face): Return 1 if text with mouse face was
561 actually redrawn. Make the function static. Reset
562 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
563 optimize away highlighting if we pass over that same overlay again.
564 (note_mouse_highlight): Call mouse_face_overlay_overlaps
565 to detect a case where we have to highlight a different region
566 despite not having left the currently highlighted region.
567 Set mouse_face_overlay in the x_display_info. Avoid changing the
568 mouse pointer shape when show_mouse_face has already done it, or
569 there is no need. Handle mouse-face and help-echo in strings.
570 (glyph_rect): New function.
571 (w32_mouse_position): Use it to raise the threshold for mouse
572 movement event generation.
573 (w32_initialize_display_info): Initialize the x_display_info's
574 mouse_face_overlay.
575 (w32_set_vertical_scroll_bar): Don't clear a zero height
576 or width area.
577 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
578 a widget to zero height.
579
3cf3436e 580 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 581 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
582 equivalents in menu_items.
583 (w32_menu_show): Don't overwrite an item's name with its key
584 description in case the description is a multibyte string.
585 (single_submenu): Some cleanup.
586
587 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
588 (postprocess_image): New function.
589 (lookup_image): Call it for all image types except PostScript.
590 (x_kill_gs_process): Call postprocess_image.
591 (tiff_error_handler, tiff_warning_handler): New functions.
592 (tiff_load): Install them as handlers.
593 (x_kill_gs_process): Recognize if someone has cleared the image
594 cache under us.
595 (valid_image_p): Protect better against invalid image
596 specifications. Previous code could signal an error.
597 (Fx_hide_tip, Fshow_tip): Doc fix.
598 (Fv_max_tooltip_size): New variable.
599 (syns_of_xfns): DEFVAR_LISP it.
600 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
601 window buffer to *tip* right after creating the frame. Set frame's
602 window_width. Use a maximum tooltip size specified by
603 Vx_max_tooltip_size, if that has valid contents.
604 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
605 Make sure the tooltip is completely visible.
606 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
607 (Fx_create_frame): Adjust the frame's height for presence
608 of the tool bar before calling x_figure_window_size.
609 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
610 when the window gets smaller.
611 (x_set_foreground_color): Set frame's cursor_pixel.
612 (x_set_foreground_color, x_set_background_color): Cleaned up.
613 (x_set_font): Handle case of x_new_fontset returning the same name
614 as before, although there was a change in fontsets.
615
386ca361
MB
6162001-10-21 Miles Bader <miles@gnu.org>
617
c2d53558 618 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
619 (Flogxor): Add usage: string to doc string.
620 * charset.c (Fstring): Likewise.
621 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
622 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
623
14ff1ee0
PJ
6242001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
625
03be2694
PJ
626 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
627
628 * alloc.c: Reindent DEFUNs with doc: keywords.
629
630 * abbrev.c (Finsert_abbrev_table_description): Reindent.
631
14ff1ee0
PJ
632 * frame.c: Change doc-string comments to `new style' [w/`doc:'
633 keyword].
634
71431a0e
GM
6352001-10-20 Gerd Moellmann <gerd@gnu.org>
636
6aa97356 637 * (Version 21.1 released.)
71431a0e 638
39f624fa
PJ
6392001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
640
c2d53558 641 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
642
643 * xdisp.c (invisible_text_between_p): Put prototype inside #if
644 0 because unused.
645
646 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
647 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
648 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 649
abcce93a
MB
6502001-10-20 Miles Bader <miles@gnu.org>
651
652 The following changes remove the glyph_row `inverse_p' field,
653 which is never set anymore, due to other changes:
654
655 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
656 (reassert_line_highlight, change_line_highlight): Declarations removed.
657 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
658 (line_hash_code, row_equal_p, fake_current_matrices)
659 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
660 (update_frame_line, update_frame_line, update_frame_line):
661 Don't use `inverse_p' field.
662 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
663 change_line_highlight_hook.
664 (XTreassert_line_highlight, x_change_line_highlight):
665 Functions removed.
c2d53558 666 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
667 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
668 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
669 `inverse_p' field.
c2d53558 670 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
671 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
672 (w32_reassert_line_highlight, x_change_line_highlight):
673 Functions removed.
674 * w32console.c (reassert_line_highlight, change_line_highlight):
675 Functions removed.
676 (initialize_w32_display): Don't set reassert_line_highlight_hook
677 or change_line_highlight_hook.
678 (hl_mode): Function removed.
c2d53558
SM
679 (reset_terminal_modes, set_terminal_modes, update_begin)
680 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
681 (clear_frame, ins_del_lines): Don't call it.
682 * termhooks.h (reassert_line_highlight_hook)
683 (change_line_highlight_hook): Declarations removed.
684 * term.c (reassert_line_highlight_hook)
685 (change_line_highlight_hook): Variables removed.
686 (reassert_line_highlight, change_line_highlight): Functions removed.
687 * msdos.c (IT_reassert_line_highlight)
688 (IT_change_line_highlight): Functions removed.
689 (internal_terminal_init): Don't set reassert_line_highlight_hook
690 or change_line_highlight_hook.
691 (highlight): Variable removed.
c2d53558 692 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
693 (IT_set_terminal_modes): Don't set or use it.
694
695 The following changes remove inverse-video support for terminals
696 that use a `magic cookie' standout mode. Due to changes in the
697 way mode-lines are displayed, such support no longer works
698 anyway, and it's probable that almost no one uses such terminals
699 anymore:
700
701 * term.c (standout_requested): Variable removed.
702 (update_end, highlight_if_desired): Don't use it.
703 (chars_wasted, copybuf): Variables removed.
704 (write_standout_marker): Function removed.
c2d53558 705 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
706 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
707 Don't use `chars_wasted' or `copybuf'.
708 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
709 Set `costs_set' to true.
710 (cursor_to, clear_end_of_line): Test `costs_set' instead of
711 `chars_wasted'.
712 (clear_end_of_line): Function removed.
713 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
714 (clear_to_end): Call `clear_end_of_line' instead of
715 `clear_end_of_line_raw'.
54800acb
MB
716 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
717 (term_init): Don't set them.
718 Turn off any standout/underline modes that require magic cookies.
c2d53558 719 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
720 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
721 Remove special processing for magic-cookie standout modes.
722 (turn_off_face, turn_on_face): Remove special processing for
723 underline magic-cookie glitch.
abcce93a 724
0b5f679f
RS
7252001-10-19 Richard M. Stallman <rms@gnu.org>
726
727 * eval.c (syms_of_eval): Doc fixes.
728
5a4a5bd4
GM
7292001-10-19 Gerd Moellmann <gerd@gnu.org>
730
731 * xdisp.c (redisplay_internal): Don't clear echo area if the
732 mini-window is selected.
733
79f1f96c
MB
7342001-10-19 Miles Bader <miles@gnu.org>
735
b57c2708
MB
736 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
737 doesn't take precedence if the affected property's value is nil.
738
739 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
740
79f1f96c
MB
741 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
742 with fields and suggest using `forward-line' to avoid them.
743 * editfns.c (Fline_beginning_position, Fline_end_position):
744 Clarify documentation.
745
ef879104
SM
7462001-10-18 Stefan Monnier <monnier@cs.yale.edu>
747
748 * keymap.c (current_minor_maps): `override' only shadows its
749 correspondent in minor-mode-map-alist, not the whole tail.
750
97f4db8c
AI
7512001-10-18 Andrew Innes <andrewi@gnu.org>
752
753 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
754 optimization. The fontp->encoding array was not being initialized
755 correctly when compiled with optimizations by MSVC.
756
e6b70fd8
GM
7572001-10-18 Gerd Moellmann <gerd@gnu.org>
758
30903479 759 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 760
0e804d38
AI
7612001-10-17 Andrew Innes <andrewi@gnu.org>
762
763 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
764
765 * w32fns.c (w32_load_system_font): Cache codepage for font, in
766 font_info.charset field.
767
768 * w32term.c (w32_encode_char): Get cached codepage from font_info,
769 rather than working it out by calling w32_codepage_for_font for
770 every glyph.
771
66e5868a
AI
7722001-10-17 Andrew Innes <andrewi@gnu.org>
773
774 * w32term.c (w32_read_socket): Determine clipping rectangle for
775 the entire frame, including areas covered by scrollbars and the
776 menubar. This avoids internal arguments about whether a frame is
777 fully obscured or not.
778
15b00083
GM
7792001-10-17 Gerd Moellmann <gerd@gnu.org>
780
23e8bd86
GM
781 * xdisp.c (try_window_id): Undo last change. Give up if
782 window ends in strings.
30903479 783
9c6ba6d1 784 * xdisp.c (try_window_id): Don't display lines after the window
30903479 785 end if the rest of the window after the window end was already blank.
23e8bd86 786
30903479 787 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
788 for the release of 21.1.
789
30903479 790 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 791
945220bd
MB
7922001-10-17 Miles Bader <miles@gnu.org>
793
794 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
795 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
796 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
797 Change doc-string comments to `new style' [w/`doc:' keyword].
798 (DOC_STRINGS_IN_COMMENTS): Macro removed.
799 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
800 out make-docfile.
801
14242528
MB
8022001-10-16 Miles Bader <miles@gnu.org>
803
804 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
805
3ddf952f
GM
8062001-10-16 Gerd Moellmann <gerd@gnu.org>
807
808 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
809 *scratch*.
810
f3fbd155
KR
8112001-10-16 Ken Raeburn <raeburn@gnu.org>
812
813 Avoid the assumption that car and cdr slots of cons cells are
814 addressable lvalues; this allows for easier experimentation with
815 other lisp implementations that may not permit such accesses for
816 various reasons. Not quite complete -- buffer.c still needs some
817 work, and w32/mac files need rechecking -- so compile-time
818 enforcement is left disabled for now.
819
820 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 821 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
822 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
823 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
824 (XSETCAR, XSETCDR): New macros.
825 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
826 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
827 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
828 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
829 XSETCDR.
830 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
831 * buffer.c (record_buffer, Fbury_buffer)
832 (swap_out_buffer_local_variables, recenter_overlay_lists)
833 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
834 fields of a cons cell respectively.
835 * callint.c (quotify_args, Fcall_interactively): Likewise.
836 * ccl.c (Fregister_code_conversion_map): Likewise.
837 * coding.c (detect_coding_system): Likewise.
838 * composite.c (get_composition_id, make_composition_value_copy):
839 Likewise.
30903479
SM
840 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
841 (swap_in_symval_forwarding, set_internal, Fset_default)
842 (Fmake_variable_buffer_local, Fmake_local_variable)
843 (Fmake_variable_frame_local): Likewise.
f3fbd155 844 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 845 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 846 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
847 * minibuf.c (get_minibuffer): Likewise.
848 * search.c (Fmatch_data): Likewise.
849 * textprop.c (extend_property_ranges): Likewise.
c2d53558 850 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
851 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
852 Likewise.
853 * w32term.c (x_delete_display): Likewise.
854 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
855 Likewise.
c2d53558 856 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 857 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 858 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
859 (Fread_file_name): Use XSETCAR.
860 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
861 CHECK_NUMBER_CDR.
862 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
863 * frame.c (Fmake_terminal_frame): Use XSETCDR.
864 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
865 CHECK_NUMBER_CDR.
866 * keyboard.c (read_char): Alter list traversal to avoid taking the
867 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
868 (parse_menu_item): Use XSETCAR and XSETCDR.
869 (reach_char_x_menu_prompt): Use XSETCAR.
870 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
871 (Fcommand_execute): Use XSETCDR.
872 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
873 (openp): Change list traversal to avoid using XCAR as lvalue.
874 (read_list): Use XSETCDR.
875 * process.c (wait_reading_process_input): Change wait_for_cell
876 handling to avoid taking addresses of cons cell slots.
30903479
SM
877 * xselect.c (x_own_selection, x_handle_selection_clear)
878 (x_clear_frame_selections): Use XSETCDR.
879 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
880 (x_handle_property_notify, x_get_foreign_selection)
881 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 882
502150e5
PJ
8832001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
884
018ba359
PJ
885 * buffer.c: Put doc strings in comments.
886
30903479 887 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 888
b56ba8de
SS
8892001-10-15 Sam Steingold <sds@gnu.org>
890
891 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
892
6a0b793a
PJ
8932001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
894
30903479
SM
895 * process.c (process-inherit-coding-system-flag)
896 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
897 in comment.
898
a1f17501 899 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 900 arguments. Put doc strings in comments.
a65da641
PJ
901
902 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 903
aa601ad0
GM
9042001-10-15 Gerd Moellmann <gerd@gnu.org>
905
30903479 906 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 907
aa601ad0
GM
908 * window.c (select_window_1): Unfreeze window start. Remove a
909 doubled test for WINDOW being live.
910
288148a1
PJ
9112001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
912
dd8d1e71
PJ
913 * fns.c (Fmapconcat): Fix typo in a doc string.
914
288148a1
PJ
915 * dispnew.c (Fsleep_for): Fix typo in a doc string.
916
9f5eb4a3
GM
9172001-10-15 Gerd Moellmann <gerd@gnu.org>
918
919 * xterm.c (x_draw_glyph_string): Restore clipping after
920 drawing box.
921
dbae44c8
PJ
9222001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
923
30903479 924 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 925
0c88c937
SM
9262001-10-14 Stefan Monnier <monnier@cs.yale.edu>
927
56378db4
GM
928 * indent.c (skip_invisible): Use new retval of
929 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 930
845e4cf4
SM
931 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
932 If a parent is reached and noinherit is set, exit immediately.
933 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
934
0c88c937
SM
935 * s/ms-w32.h (EXEC_SUFFIXES):
936 * s/msdos.h (EXEC_SUFFIXES):
937 * process.h (EXEC_SUFFIXES): Remove.
938
939 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
940 (decode_suffixes): Remove.
941
942 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
943 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
944 (invisible_ellipsis_p): Remove.
0c88c937
SM
945
946 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
947 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
948 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
949 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
950 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 951
d19be8a9
PJ
9522001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
953
04d7d066
PJ
954 * lisp.h (Ftop_level): Add prototype.
955
d624284c
PJ
956 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
957 (XTread_socket): Improve style of comments to follow other
958 comments.
959
a87414f9
PJ
960 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
961 is already prototyped in included lisp.h).
962
d19be8a9
PJ
963 * frame.c (Fset_mouse_position): Improve style of comment to
964 follow other comments.
965 (Fset_mouse_pixel_position): Improve style of comment to follow
966 other comments.
967 (Fmake_frame_visible): Doc fix and typo in comment.
968 (Fmake_frame_invisible): Doc fix and typo in comment.
969 (Ficonify_frame): Fix typo in comment.
970
c061c855
GM
9712001-10-14 Gerd Moellmann <gerd@gnu.org>
972
37f6b5b6 973 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 974 * term.c, alloc.c: Put doc strings in comments.
c061c855 975
e641b454
GM
9762001-10-13 Gerd Moellmann <gerd@gnu.org>
977
978 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
979 Provide definitions for doc strings in comments.
980
981 * fns.c: Put doc strings in comments.
982
51724e26
EZ
9832001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
984
985 * dired.c (file_name_completion): Ignore a candidate directory if
986 it matches an element in completion-ignored-extensions that ends
987 in a slash.
988 (syms_of_dired) <completion-ignored-extensions>: Mention the above
989 feature in the doc string.
990 (Ffile_name_completion): Ditto.
991
be5fc59b
SM
9922001-10-12 Stefan Monnier <monnier@cs.yale.edu>
993
5a1373f3
SM
994 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
995
996 * xfns.c (syms_of_xfns): Update calls to Fprovide.
997
998 * lisp.h (Fprovide): Update prototype.
999 (Ffeaturep, invisible_p): Remove.
1000
bbc4a3d3 1001 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1002 (DOLIST, LOOP_PROPVAL): New macros.
1003 (invisible_p, invisible_ellipsis_p): Use them.
1004 (invisible_noellipsis_p): New function.
1005 (syms_of_xdisp): Use empty_string.
1006
1007 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1008
1009 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1010 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1011
1012 * print.c (Fwith_output_to_temp_buffer): Align with
1013 internal_with_output_to_temp_buffer.
1014 (print_preprocess): Use traverse_intervals_noorder.
1015 (print_object): Update call to traverse_intervals.
1016
1017 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1018 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1019
1020 * intervals.c (traverse_intervals_noorder): New function.
1021 (search_for_interval, count_intervals): Use it.
1022 (traverse_intervals): Use less stack space and drop `depth' arg.
1023
1024 * fns.c (Ffeaturep): Add new `subfeature' arg.
1025 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1026 (Qsubfeatures): New var.
1027 (syms_of_fns): Initialize it.
1028
026f408d
SM
1029 * keymap.c (Fkey_description): Use empty_string.
1030 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1031 (syms_of_keymap): Setup inheritance between maps.
1032 Don't export Sdescribe_bindings_internal any more.
1033
be5fc59b
SM
1034 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1035
3365175e
GM
10362001-10-12 Gerd Moellmann <gerd@gnu.org>
1037
1038 * xterm.c (notice_overwritten_cursor): Renamed from
1039 note_overwritten_text_cursor. Rewritten to take glyph widths into
1040 account.
1041
2ab7765c
EZ
10422001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1043
1044 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1045 multi-line strings without a trailing "\n\".
1046
311346bb
PJ
10472001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1048
1049 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1050 defined.
1051
2168e04d
SM
10522001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1053
026f408d
SM
1054 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1055
c0ec53ad
SM
1056 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1057 * w32proc.c (sys_spawnve):
1058 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1059 * w32.c (check_windows_init_file):
1060 * sound.c (Fplay_sound):
026f408d 1061 * emacs.c (init_cmdargs):
c0ec53ad
SM
1062 * process.c (Fstart_process): Update calls to openp.
1063
1064 * callproc.c (Vexec_suffixes): New var.
1065 (Fcall_process): Update call to openp.
1066 (decode_suffixes): New function.
1067 (syms_of_callproc): Init exec-suffixes.
1068
1069 * lread.c (Vload_suffixes, default_suffixes): New vars.
1070 (openp): Take a lisp list of suffixes.
1071 Check for file-name-handlers even if the file was absolute already.
1072 (syms_of_lread): Declare load-suffixes.
1073 (Fload): Fix up call to openp.
1074 Don't bother checking for file-name-handler at the very beginning.
1075
f6333468
SM
1076 * keymap.h (Fcopy_keymap): Don't export.
1077
1078 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1079 (Vload_suffixes, Vexec_suffixes): Declare.
1080 (openp): Update prototype.
f6333468
SM
1081
1082 * emacs.c (empty_string): New var.
1083 (syms_of_emacs): Initialize it.
1084
1085 * search.c (wordify): Use it.
1086
1087 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1088 selected window if it's not displayed there. Handle the case
1089 when the window is dedicated.
1090 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1091
1092 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1093
2168e04d
SM
1094 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1095 Remove left_ok and right_ok.
1096 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1097 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1098 new meaning of b_property.
1099
1100 * syntax.c (update_syntax_table): Simplify.
1101 (Fforward_comment): Don't skip quoted chars when going backward.
1102
13d95cc0
GM
11032001-10-11 Gerd Moellmann <gerd@gnu.org>
1104
beb0990f
GM
1105 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1106 in case I is of some unsigned type, in which case
1107 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1108 comparison becomes bogus.
1109
cb938d46
GM
1110 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1111 (Fuser_full_name): Fix bug treating a float as a fixnum.
1112
1113 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1114
1115 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1116
13d95cc0
GM
1117 * lisp.h (circular_list_error): Add prototype.
1118
1119 * data.c (Qcircular_list): New variable.
1120 (circular_list_error): New function.
1121 (syms_of_data): Initialize it Qcircular_list.
1122
e35f6ff7
SM
11232001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1124
1125 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1126 casefiddle.c, buffer.c: Include keymap.h.
1127
619632ac
GM
11282001-10-10 Gerd Moellmann <gerd@gnu.org>
1129
1130 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1131 options. From Dave Love <d.love@dl.ac.uk>.
1132
5e5388f6
GM
11332001-10-09 Gerd Moellmann <gerd@gnu.org>
1134
1135 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1136 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1137
14a3dff7
GM
1138 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1139 unsigned char.
1140 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1141
76ba8daf
AI
11422001-10-08 Andrew Innes <andrewi@gnu.org>
1143
1144 * lisp.h [max]: Undef min and max before redefining them.
1145
1146 * w32gui.h: Do not undef min and max.
1147
1148 * w32heap.h: Do not undef min and max.
1149
1150 * s/ms-w32.h: Do not undef min and max.
1151
166253cb
SM
11522001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1153
1154 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1155
0c4d9527
SS
11562001-10-08 Sam Steingold <sds@gnu.org>
1157
1158 * keymap.c (current-active-maps): Quote newlines (compilation error).
1159
14bfa771
EZ
11602001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1161
1162 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1163 bindings.elc, since otherwise doc strings in bindings.el get wrong
1164 offsets in etc/DOC.
1165
bdb7aa47
SM
11662001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1167
9985827f
SM
1168 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1169
1170 * keyboard.h (map_prompt): Remove.
1171
1172 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1173 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1174
bdb7aa47
SM
1175 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1176
1177 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1178
1179 * keyboard.c (map_prompt): Remove.
1180 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1181 Use Fkeymap_prompt.
1182
1183 * keymap.h: New file. Extracted from lisp.h.
1184
9985827f
SM
1185 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1186 (accessible_keymaps_1): New function.
1187 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1188 (Fwhere_is_internal): Use Fcurrent_active_maps.
1189 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1190 Insert in current buffer rather than standard-output.
1191 Don't call `help-mode'. Export to elisp.
1192 (describe_buffer_bindings): New wrapper.
1193 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1194 and Sdescribe_buffer_bindings.
1195
402c9a51
GM
11962001-10-08 Gerd Moellmann <gerd@gnu.org>
1197
9985827f 1198 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1199 Remove code setting signal handler.
1200
9985827f 1201 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1202 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1203
3fe81fdf
PJ
12042001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1205
1206 * keyboard.c: Don't define min/max.
1207
55fa7820
GM
12082001-10-08 Gerd Moellmann <gerd@gnu.org>
1209
9985827f 1210 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1211 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1212 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1213 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1214 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1215 Don't define min/max.
1216
1217 * lisp.h (min, max): New macros.
1218
55fa7820
GM
1219 * puresize.h (BASE_PURESIZE): Increase to 725000.
1220
1aad31e4
PJ
12212001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1222
9180dc8c
PJ
1223 * xfaces.c (free_frame_menubar): Add prototype.
1224
01f67d2c
PJ
1225 * lisp.h (init_window): Add prototype.
1226
1227 * editfns.c: Include ctype.h.
1228
1229 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1230 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1231 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1232 variable `sb'.
1233
5f351ff1
PJ
1234 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1235 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1236 `popup_activated_flag' and `title'.
1237
479dfe87
PJ
1238 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1239
dff49fc8
PJ
1240 * emacs.c (main): Remove extra `;'.
1241
248ac615
PJ
1242 * atimer.h (struct atimer): Fix typos in a comment.
1243
1244 * atimer.c: Fix typo.
1245
af232c7d
PJ
1246 * Makefile.in: Fix typo.
1247
1248 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1249
d876f455
MB
12502001-10-07 Miles Bader <miles@gnu.org>
1251
1252 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1253
0037e2f2
KR
12542001-10-07 Ken Raeburn <raeburn@gnu.org>
1255
b056f36d
KR
1256 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1257 Lisp_Object.
1258
0037e2f2
KR
1259 * lisp.h (Ffield_end): Declare.
1260
1a4372ef
GM
12612001-10-07 Gerd Moellmann <gerd@gnu.org>
1262
a4a74e8c
GM
1263 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1264
1265 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1266
1267 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1268
1269 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1270
1a4372ef
GM
1271 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1272 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1273
1274 * alloc.c (inhibit_garbage_collection): Simplify.
1275 (Fmemory_use_counts): Ditto.
1276
9985827f 1277 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1278 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1279 most-negative-fixnum.
1280
9985827f 1281 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1282 (FIXNUM_OVERFLOW_P): New macros.
1283
4650e362
MB
12842001-10-06 Miles Bader <miles@gnu.org>
1285
1286 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1287 scroll_bar_bottom_shadow_pixel fields.
1288 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1289 for the shadows, and tell the toolkit about them if we succeed.
1290 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1291 Free scroll-bar shadow colors.
1292 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1293 Free scroll-bar shadow colors when the background color changes.
1294 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1295 Initialize scroll-bar shadow-color fields.
1296
ace64e0a
GM
12972001-10-05 Gerd Moellmann <gerd@gnu.org>
1298
1299 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1300
ec66bdc7
MB
13012001-10-05 Miles Bader <miles@gnu.org>
1302
9985827f
SM
1303 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1304 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1305 New functions (were in simple.el).
9985827f 1306 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1307 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1308 (syms_of_minibuf): Initialize them.
1309
a0fb4492
GM
13102001-10-05 Gerd Moellmann <gerd@gnu.org>
1311
1312 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1313 (tiff_load): Install them as error and warning handler.
1314
0bcf87c1
AI
13152001-10-04 Andrew Innes <andrewi@gnu.org>
1316
1317 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1318 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1319 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1320 (x_to_w32_charset): Handle private format for unknown charsets.
1321 Handle wildcards in charset spec, by ignoring them.
1322 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1323 "*-" prefix from charset.
1324 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1325 handle the truncated font spec form constructed by font_list_1, so
1326 that we correctly identify the charset fields. Don't remove "*-"
1327 prefix from charset.
1328 (w32_list_synthesized_fonts): Fix argument to alloca.
1329
c89e4bc5
GM
13302001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1331
1332 * window.h (MINI_WINDOW_P): Use NILP.
1333
1334 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1335
1336 * termhooks.h (struct input_event): Use proper type for `kind'.
1337
13382001-10-04 Gerd Moellmann <gerd@gnu.org>
1339
1340 This handles unknown keysyms better than before. For example,
1341 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1342 Emacs formerly completely ignored F5. With the change, it derives
1343 a key symbol from the name of the X keysym, `ccaron' in this case.
1344 Reported by Martin Buchholz.
1345
1346 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1347 unknown keysyms.
1348
1349 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1350 that EVENT->code isn't a function key, use the keysym's name.
1351
13522001-10-04 Gerd Moellmann <gerd@gnu.org>
1353
1354 FOREACH is a macro that should make it easier to loop over Lisp
1355 lists with checks for cycles and proper lists.
1356
1357 * lisp.h (LIST_END_P, FOREACH): New macros.
1358
13592001-10-04 Gerd Moellmann <gerd@gnu.org>
1360
1361 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1362 called for a lost connection. Prevent dumping core in this case.
1363 Instead print the X error, and exit. On user request.
1364
1365 * xterm.c (error_msg): New variable.
1366 (x_fatal_error_signal): New function.
1367 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1368 as fatal_error_signal_hook around the call to XtCloseDisplay.
1369
1370 * emacs.c (fatal_error_signal_hook): New variable.
1371 (fatal_error_signal): Call that function.
1372
13732001-10-04 Gerd Moellmann <gerd@gnu.org>
1374
1375 With this, Emacs prints how much pure storage it will
1376 approximately need in case pure storage overflows while dumping.
1377
1378 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1379 New variables.
1380 (init_alloc_once): Initialize new variables.
1381 (PURE_POINTER_P): Use new variables.
1382 (pure_alloc): If pure storage overflows, allocate from the heap.
1383 (check_pure_size): New function.
1384 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1385
1386 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1387 (check_pure_size): Add prototype.
1388
1389 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1390
13912001-10-04 Gerd Moellmann <gerd@gnu.org>
1392
1393 This adds a post-gc-hook that's run with GC inhibited.
1394 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1395
1396 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1397 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1398 (Fgarbage_collect): Run post-gc-hook.
1399
14002001-10-04 Gerd Moellmann <gerd@gnu.org>
1401
1402 This adds `defvaralias' and `indirect-variable'. Changes not
1403 directly related to this feature are there to gain the same
1404 performance again as before variable aliases.
1405
1406 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1407 code to get and set symbol values, to take defvaralias into account.
1408
1409 (Note: the new `constant' bit-flag in symbols would make it
1410 possible to define arbitrary read-only variables, e.g. with
1411 `defconst'.)
1412
1413 Documentation is in lispref/variables.texi. Added to NEWS.
1414
1415 * lisp.h (enum symbol_interned): New enumeration.
1416 (struct Lisp_Symbol): Remove member `obarray', add
1417 `indirect_variable', `constant', and `interned'.
1418 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1419 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1420 (indirect_variable): Add prototype.
1421
1422 * print.c (print_preprocess, print_object): Test internedness of
1423 symbols differently.
1424
1425 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1426 bit-fields.
1427 (init_obarray): Likewise for t and nil.
1428
1429 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1430 (Fdefvaralias): New function.
1431 (specbind): Simplify the test if symbol is a constant.
1432 (syms_of_eval): Defsubr Fdefvaralias.
1433
1434 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1435 (Qcyclic_variable_indirection): New variable.
1436 (Fkeywordp): Check for internedness differently.
1437 (Fmakunbound): Simplify the test if symbol is a constant.
1438 (indirect_variable, Findirect_variable): New functions.
1439 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1440 aliased symbol.
1441 (let_shadows_buffer_binding_p): Check for variable aliases.
1442 (set_internal): Simplify the test if SYMBOL is a constant.
1443 If SYMBOL has a buffer-local value and is an alias, use the aliased
1444 symbol instead.
1445 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1446 Sindirect_variable.
1447
1448 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1449 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1450 set directly.
1451
1452 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1453
1454 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1455 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1456 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1457
ab952a4f
GM
14582001-10-04 Gerd Moellmann <gerd@gnu.org>
1459
1460 * Branch for 21.1.
b56ba8de 1461
ba88ff28
MB
14622001-10-03 Miles Bader <miles@gnu.org>
1463
1464 * callproc.c (syms_of_callproc): Explicitly state in the
1465 documentation for `process-environment' that earlier entries take
1466 precedence over later ones.
1467
ae1a9581
MB
14682001-10-02 Miles Bader <miles@gnu.org>
1469
1470 * textprop.c (Fnext_char_property_change)
1471 (Fprevious_char_property_change): Remove reference to non-existant
1472 argument OBJECT from doc-string.
1473
257e3f57
GM
14742001-10-01 Gerd Moellmann <gerd@gnu.org>
1475
1476 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1477 (try_window_id): Skip back over lines ending in a newline from a
1478 string.
1479
1480 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1481 New bit flag
1482
c1f29759
RS
14832001-10-01 Richard M. Stallman <rms@gnu.org>
1484
1485 * search.c (Freplace_match): Doc fix.
1486
c30dce3d
AI
14872001-09-28 Andrew Innes <andrewi@gnu.org>
1488
1489 * w32menu.c (set_frame_menubar): Take into account that
1490 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1491 <raeburn@gnu.org>.
1492
03be5931
EZ
14932001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1494
1495 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1496
75bec752
PJ
14972001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1498
1499 * s/gnu-linux.h: Fix a typo in comment.
1500
83100e0a
AS
15012001-09-28 Andreas Schwab <schwab@suse.de>
1502
1503 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1504 nocombreloc, in case -z combreloc is the default.
1505
a74b48cf
GM
15062001-09-28 Gerd Moellmann <gerd@gnu.org>
1507
1508 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1509 really going on here.
1510
09c4719e
SM
15112001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1512
1513 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1514
f7d5d963
EZ
15152001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1516
1517 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1518 utf-8, menu-bar, and latin-N.
1519 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1520 unconditionally now.
1521 (lisp): Add latin-N, since they are preloaded.
1522
9240e746
GM
15232001-09-27 Gerd Moellmann <gerd@gnu.org>
1524
14531065
GM
1525 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1526 to the left. Some cleanup.
1527
9240e746
GM
1528 * xdisp.c (display_mode_element): One more case where a string's
1529 multibyteness should be used for display.
1530
edd1e654
GM
15312001-09-26 Gerd Moellmann <gerd@gnu.org>
1532
b02439c8
GM
1533 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1534 reading at EOF.
1535
032906b1 1536 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1537 of the only temporarily set echoing flag for deciding when
032906b1
GM
1538 the cancel echoing.
1539
1540 * keyboard.c (echo_kboard): Make externally visible.
1541
1542 * lisp.h (echo_kboard): Declare extern.
1543
cb617e7c 1544 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1545 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1546 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1547 this round of redisplay if make_cursor_line_fully_visible fails.
1548 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1549 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1550
1551 * dispextern.h (required_matrix_width, required_matrix_height):
1552 Add prototypes.
1553
09c4719e
SM
1554 * dispnew.c (required_matrix_width, required_matrix_height):
1555 New functions.
cb617e7c 1556 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1557 (allocate_matrices_for_frame_redisplay: Use them.
1558 Remove parameters CH_DIM.
cb617e7c 1559
edd1e654
GM
1560 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1561 and selected_window to the frame of the window whose mode-lines
1562 are displayed, and to the window itself.
1563 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1564 here.
edd1e654 1565
924b604c
GM
15662001-09-25 Gerd Moellmann <gerd@gnu.org>
1567
daba7643
GM
1568 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1569 the image cache under us.
1570
b7a22712 1571 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1572 with a string value, use that string's multibyteness for displaying.
b7a22712 1573
ad648212
GM
1574 * keyboard.c (read_char): Don't clear a message for a switch-frame
1575 event. From Stefan Monnier <monnier@cs.yale.edu>.
1576
9f8531e5
GM
1577 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1578 version for after 21.1.
1579
1580 * xdisp.c (row_containing_pos): Make externally visible.
1581
1582 * dispextern.h (row_containing_pos): Add prototype.
1583
924b604c
GM
1584 * process.c (send_process): Disable composition if from_byte < 0.
1585 From Kenichi Handa <handa@etl.go.jp>.
1586
6f3f0db4
GM
15872001-09-24 Gerd Moellmann <gerd@gnu.org>
1588
c69c0ebc
GM
1589 * xterm.c (refreshicon): Function removed.
1590
d1182bc4
GM
1591 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1592
1593 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1594
1595 * xterm.c (toplevel): Remove includes in #if 0.
1596
6f3f0db4
GM
1597 * process.c (sigchld_handler) [LINUX]: Don't return from
1598 the signal handler at the end of the loop.
1599
59957f85
GM
16002001-09-21 Gerd Moellmann <gerd@gnu.org>
1601
09c4719e
SM
1602 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1603 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1604
a0528984
EZ
16052001-09-21 Markus Rost <rost@math.ohio-state.edu>
1606
1607 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1608
db92b288
GM
16092001-09-20 Gerd Moellmann <gerd@gnu.org>
1610
3fed8ad5
GM
1611 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1612 since this function can be called during GC.
1613
db92b288
GM
1614 * callproc.c (Fcall_process): Handle errors from pipe(2).
1615 (child_setup): Delete code in #ifdef vipc.
1616
7121b85a
GM
16172001-09-19 Gerd Moellmann <gerd@gnu.org>
1618
72f62cb5
GM
1619 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1620 (display_mode_element): Display the string from decode_mode_spec
1621 depending on its multibyteness.
1622
a2697022
GM
1623 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1624
7121b85a
GM
1625 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1626
bfc97351
GM
16272001-09-18 Gerd Moellmann <gerd@gnu.org>
1628
c9063433
GM
1629 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1630 recursive_edit_unwind.
1631 (recursive_edit_unwind): Set kboard state according to
1632 SINGLE-KBOARD.
1633
3fbdba3e
GM
1634 * buffer.c (modify_overlay): Don't do nothing if START == END;
1635 This can still be a modification, for example when an overlay has
1636 a before-string or after-string.
1637 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1638 an overlay with before-string or after-string.
1639
1270031d
GM
1640 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1641 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1642
bfc97351
GM
1643 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1644 first_unchanged_at_end_row is in front of
1645 last_unchanged_at_beg_row. This code should be removed after the
1646 release of 21.1.
1647
d8a973aa
GM
16482001-09-17 Gerd Moellmann <gerd@gnu.org>
1649
e18c8b8d
GM
1650 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1651 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1652
d8a973aa
GM
1653 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1654 versions >= 2.95.
1655
ed7d6ba4
EZ
16562001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1657
1658 * dired.c (Ffile_attributes): Doc fix.
1659
551629f9
GM
16602001-09-14 Gerd Moellmann <gerd@gnu.org>
1661
1662 * fileio.c (Ffile_symlink_p): Fix last change.
1663
1664 * filelock.c (current_lock_owner): Fix last change.
1665
4c8c7926
GM
16662001-09-13 Gerd Moellmann <gerd@gnu.org>
1667
620c4704
GM
1668 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1669 take that to mean that the buffer is too small.
1670
81c3310d
GM
1671 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1672 that to mean that the buffer is too small.
1673
06fd3792
GM
1674 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1675 current buffer's multibyteness when discarding the iterator's
1676 stack.
1677
4c8c7926
GM
1678 * xfns.c (Fx_window_property): Handle case that property gets
1679 deleted between the two calls to XGetWindowProperty.
1680
9a72e4c1
GM
16812001-09-11 Gerd Moellmann <gerd@gnu.org>
1682
bd819d14 1683 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 1684
a41edd99
GM
1685 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
1686 in addition to read-only.
1687
1688 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
1689 to t in addition to read-only.
1690
1691 * lisp.h (Qinhibit_modification_hooks): Declare.
1692
1693 * insdel.c (Qinhibit_modification_hooks): New variable.
1694 (syms_of_insdel): Initialize and staticpro it.
1695
d4881c6a
GM
1696 * textprop.c (verify_interval_modification): Don't run
1697 modification-hooks if inhibit_modification_hooks.
1698
1699 * dispnew.c (set_window_cursor_after_update): Fix code
1700 finding glyph row containing cursor when cursor_in_echo_area
1701 is >= 0.
1702
9a72e4c1
GM
1703 * xdisp.c (init_from_display_pos): Put some code in #if 0.
1704 (add_to_log): Use bcopy instead of strcpy.
1705 (init_from_display_pos): Use an explicit loop over bytes in
1706 overlay strings instead of calling index.
1707
f4a374a1
GM
17082001-09-10 Gerd Moellmann <gerd@gnu.org>
1709
300e57bd
GM
1710 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
1711
1712 * dispnew.c (direct_output_for_insert): Don't change IT's
1713 stop_charpos to something in front of its current position.
1714
f4a374a1
GM
1715 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
1716 `format'.
1717
7e4cbc91
RS
17182001-09-10 Richard M. Stallman <rms@gnu.org>
1719
1720 * frame.c (Fmouse_position): Doc fix.
1721
6afad91e
GM
17222001-09-07 Gerd Moellmann <gerd@gnu.org>
1723
1724 * xdisp.c (init_from_display_pos): Don't compare the result
1725 of calling index with NULL.
1726
f76e0368
GM
17272001-09-06 Gerd Moellmann <gerd@gnu.org>
1728
1729 * xfns.c (x_set_background_color): Don't change the colors
1730 of the X window of scroll bar widgets.
1731
9ead1b60
AI
17322001-09-05 Andrew Innes <andrewi@gnu.org>
1733
1734 * w32fns.c (w32_createwindow): Undo last change.
1735
c3b497b3
GM
17362001-09-05 Gerd Moellmann <gerd@gnu.org>
1737
08e1d6df
GM
1738 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1739
c3b497b3
GM
1740 * xdisp.c (string_buffer_position): Use *single_char_property*
1741 functions instead of the *single_property* functions.
b56ba8de 1742
8f860180
AI
17432001-09-04 Andrew Innes <andrewi@gnu.org>
1744
9a72e4c1
GM
1745 * w32term.c (w32_read_socket): Add more information to debugging
1746 output.
8f860180
AI
1747
1748 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1749 from Emacs frames, so that calls to GetClipBox in w32term.c
1750 correctly report when part of a frame is visible (including
1751 scrollbars, etc). This prevents repeated redrawing of frames when
1752 only a scrollbar is visible.
1753 (w32_wnd_proc): Add more frame information to debugging output.
1754
2ee1aa00
SM
17552001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1756
1757 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1758
e3b22517
GM
17592001-09-03 Gerd Moellmann <gerd@gnu.org>
1760
7e376260
GM
1761 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1762 help-echo for a string which doesn't have help-echo itself, use
1763 get-char-property to obtain the help-echo from the string's buffer
1764 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1765 have mouse-face, look ``under'' the string for mouse-face from an
1766 overlay.
1767 (fast_find_position): Add parameter STOP. In the final row, stop
1768 before glyphs having STOP as object. Don't consider glyphs that
1769 are not from a buffer.
1770
e3b22517
GM
1771 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1772
9a249bba
EZ
17732001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1774
1775 * fns.c (Fmd5): Doc fix.
1776
c9979669
GM
17772001-08-31 Gerd Moellmann <gerd@gnu.org>
1778
1779 * composite.c (update_compositions): Do nothing if
1780 inhibit-modification-hooks is set.
1781
9584e63a
GM
17822001-08-30 Gerd Moellmann <gerd@gnu.org>
1783
986ec8f2 1784 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1785 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1786 glyph matrices etc. in a core dump.
1787
92a25631
GM
1788 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1789 (syms_of_xdisp): Initialize them.
1790 (handle_single_display_prop): Don't change point, bind `object',
1791 `position', and `buffer-position' instead to the object having the
2ee1aa00 1792 `display' property, position in the object and position in the buffer.
92a25631 1793
9584e63a
GM
1794 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1795 of the buffer if REPLACE is non-nil.
1796
d38633a3
GM
17972001-08-29 Gerd Moellmann <gerd@gnu.org>
1798
1799 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1800
f4fccc1e
EZ
18012001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1802
1803 * w32term.c (x_set_glyph_string_background_width)
1804 (show_mouse_face): Track the last changes in xterm.c.
1805
eaaa65b0
GM
18062001-08-28 Gerd Moellmann <gerd@gnu.org>
1807
7b0870b2
GM
1808 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1809 string's background width so that multi-line mouse-face is drawn
1810 to the right edge of the window.
1811 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1812 glyphs.
1813
6b6e2422 1814 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1815 before inserting/writing glyphs.
6b6e2422 1816
eaaa65b0
GM
1817 * xdisp.c (display_mode_element): Use string_byte_to_char to
1818 determine character positions in strings, use chars_in_text
1819 instead of strwidth.
1820 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1821 a matrix as parameter; this is easier to use from GDB.
1822
9ad62cf8
MB
18232001-08-28 Miles Bader <miles@gnu.org>
1824
2ee1aa00
SM
1825 * textprop.c (Fprevious_single_char_property_change)
1826 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 1827
32171635
GM
18282001-08-27 Gerd Moellmann <gerd@gnu.org>
1829
47d57b22
GM
1830 * fileio.c (Finsert_file_contents): Allocate, restore, and
1831 free composition data in the case of REPLACE not being nil.
1832
1833 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1834 there exist overlay strings with newlines at POS.
1835 (text_outside_line_unchanged_p): Return 0 if changes start at
1836 START and overlays exist at START. Likewise for END.
1837 (try_window_id): Give up if init_to_row_end returns 0.
1838
32171635
GM
1839 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1840 unconditionally.
1841
e1249666
GM
18422001-08-24 Gerd Moellmann <gerd@gnu.org>
1843
33954c45
GM
1844 * keymap.c (access_keymap): Return the cdr of the binding of
1845 a generic character instead of its definition (KEY . BINDING).
1846
e1249666
GM
1847 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1848 to 0 also in the REPLACE case.
1849
fb4c6c96
AC
18502001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1851
1852 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1853 open to determine whether file is readable (as for DOS_NT).
1854
59ecf80b
GM
18552001-08-23 Gerd Moellmann <gerd@gnu.org>
1856
1857 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1858 coding.type is coding_type_no_conversion or coding_type_raw_text,
1859 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1860 non-nil instead of just setting enable_multibyte_characters in the
1861 buffer to nil.
1862
40e33037
GM
18632001-08-22 Gerd Moellmann <gerd@gnu.org>
1864
374388c3
GM
1865 * dispextern.h (struct face_cache): Add member
1866 menu_face_changed_p.
1867
1868 * xfaces.c (menu_face_changed_default): New variable.
1869 (menu_face_changed_count): Variable removed.
1870 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
1871 the menu_face_changed_default flag, otherwise set the FRAME's
1872 menu_face_changed_p flag if the `menu' face has been changed.
1873 Prevent calling set_font_frame_param if FRAME is t.
1874 (make_face_cache): Initialize cache's menu_face_changed_p
1875 from menu_face_changed_default.
1876 (realize_basic_faces): Look into the frame's face cache to
1877 determine if the menu appearance needs updating.
1878
40e33037
GM
1879 * keymap.c (access_keymap): Fix last change to not consider
1880 IDX when it has modifiers.
1881
859ea4b8
GM
18822001-08-21 Gerd Moellmann <gerd@gnu.org>
1883
1884 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
1885 . BINDING) exists, where GENERIC-CHAR is the generic character of
1886 the charset of IDX, return BINDING unless there exists a binding
1887 for IDX itself.
1888
e8660d73
GM
18892001-08-16 Gerd Moellmann <gerd@gnu.org>
1890
cca1b1d7
GM
1891 * xrdb.c (SYSV): Don't define on Solaris 2.
1892 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
1893
e8660d73 1894 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 1895 of the screen line, not text line, containing IT's current position.
e8660d73 1896
93aba6fc
GM
18972001-08-15 Gerd Moellmann <gerd@gnu.org>
1898
288d4e06
GM
1899 * window.c (window_scroll_pixel_based): Don't recenter if
1900 PT is partially visible in the window.
1901
3452efc2
SM
1902 * xterm.c (expose_window_tree, expose_window, expose_line):
1903 Return 1 when overwriting mouse-face.
82f053ab
GM
1904 (expose_frame): If mouse-face was overwritten, redo it.
1905
93aba6fc
GM
1906 * xfaces.c (x_update_menu_appearance): Don't call
1907 set_frame_menubar, let the next redisplay do it.
1908
858a55c1
AI
19092001-08-14 Andrew Innes <andrewi@gnu.org>
1910
1911 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1912 drawing glyph string.
1913
3a990b67
EZ
19142001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1915
1916 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1917 running HI-UX/MPP.
1918
04386463
GM
19192001-08-14 Gerd Moellmann <gerd@gnu.org>
1920
1921 * xfaces.c (x_update_menu_appearance): Save and restore value of
1922 interrupt_input_blocked.
1923
3e6385a4
GM
19242001-08-13 Gerd Moellmann <gerd@gnu.org>
1925
b0e619b4
GM
1926 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1927 a line start, move back to the line start.
3452efc2 1928
0de73d5a
GM
1929 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1930 exactly when a mini-buffer is active.
1931
3e6385a4
GM
1932 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1933 in units of 1/8 character on non window-system frames.
1934 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1935
d1b5f629
EZ
19362001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1937
1938 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1939 a doc string.
1940
eaa2319f
GM
19412001-08-09 Gerd Moellmann <gerd@gnu.org>
1942
8e3189f0
GM
1943 * keyboard.c (Vpre_help_message): New variable.
1944 (syms_of_keyboard): Initialize and staticpro it.
1945 (show_help_echo): Record current message before displaying a
1946 help-echo, and restore that message when clearing the help.
1947
eaa2319f
GM
1948 * xfns.c (x_create_im): Remove prototype.
1949
1950 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1951
1952 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1953
eaa2319f
GM
19542001-08-08 Gerd Moellmann <gerd@gnu.org>
1955
1956 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1957 windows whose height has changed, disable partially visible lines.
eaa2319f 1958
17fdcfc8
GM
19592001-08-07 Gerd Moellmann <gerd@gnu.org>
1960
22d01aed 1961 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1962 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1963
17fdcfc8
GM
1964 * xdisp.c (start_display): Don't try to determine the continuation
1965 lines width if lines are truncated. It's superfluous and leads to
1966 incorrect results if POS is not visible in the window after
1967 reseating the iterator at the previous line start.
1968
8e3fe78e
GM
19692001-08-06 Gerd Moellmann <gerd@gnu.org>
1970
1971 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1972
98a8938c
GM
19732001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1974
1975 * alloc.c (init_stack): Remove declaration.
1976
18f9986a
GM
19772001-08-03 Gerd Moellmann <gerd@gnu.org>
1978
5e1f85e0
GM
1979 * keyboard.c (read_key_sequence): Check that key is an integer
1980 before comparing it with quit_char.
1981 (add_command_key): Use larger_vector.
1982 (read_char_x_menu_prompt): Instead of converting symbol and
1983 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1984 which cannot be confused with valid events.
5e1f85e0
GM
1985 (read_char): When reading from Vunread_command_events, check for
1986 events of the form (EVENT . disabled) instead of
1987 (EVENT . nil).
1988
18f9986a
GM
1989 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1990 a float, determine the max height from the frame's height.
1991
fbc7f2a6
GM
19922001-08-02 Gerd Moellmann <gerd@gnu.org>
1993
1994 * xdisp.c (redisplay_internal): Take message_cleared_p into
1995 account only if minibuf_level == 0.
1996
81b1a79d
GM
19972001-08-01 Gerd Moellmann <gerd@gnu.org>
1998
e5c60873
GM
1999 * xdisp.c (redisplay_internal): Add a check for the last
2000 displayed message.
3452efc2 2001
6e019995
GM
2002 * xdisp.c (message_cleared_p): New variable.
2003 (clear_message): Set message_cleared_p when clearing the current
2004 message.
2005 (redisplay_internal): Look at message_cleared_p to capture
2006 the case that the echo area should be cleared.
2007
308a74d8
GM
2008 * keyboard.c (command_loop_1): Fix spelling of
2009 resize_echo_area_exactly.
2010
3452efc2 2011 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2012
2013 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2014
81b1a79d
GM
2015 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2016 current matrix when the window gets smaller.
2017
ada329e6
EZ
20182001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2019
2020 * print.c (strout): Cast the character passed to insert_char to
2021 unsigned char, to avoid sign extension when it is promoted to int.
2022
ed86208c
GM
20232001-07-31 Gerd Moellmann <gerd@gnu.org>
2024
2025 * fileio.c (Finsert_file_contents): Don't treat a return value
2026 of 0 from emacs_read as an IO error.
2027
6594ac22
GM
20282001-07-30 Gerd Moellmann <gerd@gnu.org>
2029
cef68af5
GM
2030 * keyboard.c (abs): New macro.
2031 (double_click_fuzz): New variable.
2032 (make_lispy_event): Use it to determine what makes a double-click.
2033 (syms_of_keyboard): DEFVAR_INT it.
2034
6594ac22
GM
2035 * xmenu.c (set_frame_menubar): Take into account that
2036 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2037 <raeburn@gnu.org>.
2038
75c5350a
GM
20392001-07-27 Gerd Moellmann <gerd@gnu.org>
2040
2041 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2042
2043 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2044 of row's visible height.
2045
2046 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2047 deal with the first overlay string having an image `display' property.
2048 (try_window_reusing_current_matrix, compute_line_metrics):
2049 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2050 row is invisible above and part of the row is at the same time
2051 invisible below the window.
2052
ac49effe
GM
20532001-07-26 Gerd Moellmann <gerd@gnu.org>
2054
2055 * xfns.c (x-show-tip): Doc fix.
3452efc2 2056
ac49effe
GM
2057 * xfns.c (Vx_max_tooltip_size): New variable.
2058 (syms_of_xfns): DEFVAR_LISP it.
2059 (Fx_show_tip): Set frame's window_width to the width of the
2060 window. Use a maximum tooltip size specified by
2061 Vx_max_tooltip_size, if that has valid contents.
2062 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2063
8c3b00cb
AI
20642001-07-26 Andrew Innes <andrewi@gnu.org>
2065
2066 * w32term.c (x_display_list): New variable.
2067 (w32_term_init): Set it.
2068
2069 * w32term.h (x_display_list): New extern.
2070
16098288
GM
20712001-07-26 Gerd Moellmann <gerd@gnu.org>
2072
2073 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2074 is non-nil, instead of when redisplaying_p is non-zero.
2075 See comment there.
16098288
GM
2076 (mark_window_display_accurate_1): Add an assertion.
2077
64c5be50
GM
20782001-07-25 Gerd Moellmann <gerd@gnu.org>
2079
e743f599
GM
2080 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2081
563b384d
GM
2082 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2083 events so that we get a chance of processing expose events.
2084
64c5be50
GM
2085 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2086
296808a5
GM
20872001-07-24 Gerd Moellmann <gerd@gnu.org>
2088
2089 * xfns.c (valid_image_p): Protect better against invalid image
2090 specifications. Previous code could signal an error.
2091
5247262a
GM
20922001-07-23 Gerd Moellmann <gerd@gnu.org>
2093
3452efc2 2094 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2095 presence of display table entries.
2096 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2097
dd42b31a
GM
2098 * dispnew.c (adjust_glyph_matrix): In the optimization for
2099 windows whose height has changed, use the new window height
2100 to compute which rows to invalidate.
2101
9e5a7f2a
GM
2102 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2103 (MAX_10_EXP): New macro.
2104 (Fformat): Use it.
2105
5247262a
GM
2106 * coding.c (code_convert_region): Handle the multibyte case if
2107 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2108
177ab8ce
GM
21092001-07-20 Gerd Moellmann <gerd@gnu.org>
2110
6e07c0a5
GM
2111 * dispextern.h (struct face): Change type of `stipple' to
2112 int; it's an ID.
2113
177ab8ce
GM
2114 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2115
b5b80599
GM
21162001-07-19 Gerd Moellmann <gerd@gnu.org>
2117
4e2a256b
GM
2118 * dispnew.c (update_window): Don't set the cursor at the end
2119 of the update if display update has been paused.
2120
3452efc2 2121 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2122
c1fd9232
KR
21232001-07-18 Ken Raeburn <raeburn@gnu.org>
2124
2125 * fns.c (Fset_char_table_default): Check that a charset is defined
2126 before checking its dimension.
2127
928a85c1
KR
21282001-07-17 Ken Raeburn <raeburn@gnu.org>
2129
2130 * coding.c (setup_coding_system): Don't do any designation based
2131 on reg_bits if charset is not yet defined.
2132
fb4c6c96 2133 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2134 pointer, using eassert.
2135
de11c1ea
GM
21362001-07-17 Gerd Moellmann <gerd@gnu.org>
2137
3452efc2
SM
2138 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2139 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2140
467f1209
GM
21412001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2142
2143 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2144
c3d6be34
GM
21452001-07-16 Gerd Moellmann <gerd@gnu.org>
2146
c1d61a7d
GM
2147 * fileio.c (unwind_read): Function removed.
2148 (read_non_regular, read_non_regular_quit): New functions.
2149 (Finsert_file_contents): When reading from non-regular files,
2150 arrange to catch a `quit' and terminate the loop. Rearrange
2151 code so that a `quit' when reading from a regular file doesn't
2152 insert text in the buffer.
2153
c3d6be34
GM
2154 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2155 Clear faces afterwards.
2156 (clear_font_table): Take a x_display_info parameter. Don't free
2157 fonts being the default font of any frame on the given display.
2158
e06aa1f9
GM
21592001-07-13 Gerd Moellmann <gerd@gnu.org>
2160
2161 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2162 instead of CHAR_STRING which can signal an error.
2163
2164 * charset.c (char_to_string_1): Extracted from char_to_string.
2165 Return -1 instead of signaling an error.
2166 (char_to_string): Use it.
2167
2168 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2169
176c92e6
SM
21702001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2171
2172 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2173 is t, don't try to append anything to it.
2174
1c56232f
EZ
21752001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2176
2177 * dired.c (file_name_completion): Pass dp->d_name to
2178 Fstring_match, not elt, which is always nil here.
2179
1d2b2268
GM
21802001-07-12 Gerd Moellmann <gerd@gnu.org>
2181
2182 * xselect.c (x_decline_selection_request): Handle errors
2183 caused by receivers that have vanished.
2184
2185 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2186 ignoring events on foreign windows in #if 0. Always dispatch
2187 the event after checking it with x_handle_property_notify.
2188
2189 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2190 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2191 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2192 (toplevel): Add prototypes for file-local functions.
2193 (x_atom_to_symbol): Remove DPYINFO parameter.
2194
fe5a0162
SM
21952001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2196
2197 * w32menu.c (menubar_selection_callback, w32_menu_show):
2198 Initialize `entry' to nil.
2199 (w32_dialog_show): Remove unused `save_wv' variable.
2200 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2201
a777242c
GM
22022001-07-11 Gerd Moellmann <gerd@gnu.org>
2203
8ee5b6a3
GM
2204 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2205
d0e2444e
GM
2206 * fileio.c (unwind_read): Print a message when discarding inserted
2207 text or switching the buffer to unibyte. Change parameter.
2208 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2209
a777242c
GM
2210 * fileio.c (unwind_read): New function.
2211 (Finsert_file_contents): Record it as unwind-function for
2212 the case that reading is interrupted by C-g.
2213
ae794295
GM
22142001-07-10 Gerd Moellmann <gerd@gnu.org>
2215
fe5a0162 2216 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2217 update when scrolling_window returns 0.
2218
6b05fae3
GM
2219 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2220
2221 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2222 for the case that x_decode_color signals an error.
6b05fae3 2223
ae794295
GM
2224 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2225
bb6e8cee
GM
22262001-07-09 Gerd Moellmann <gerd@gnu.org>
2227
2228 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2229 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2230 around ioctls.
2231
36b40a8a
EZ
22322001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2233
24b97d4b
EZ
2234 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2235 doc string line for dos-timezone-offset.
2236
36b40a8a
EZ
2237 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2238 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2239 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2240 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2241
2242 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2243
0967b4b0
GM
22442001-07-05 Gerd Moellmann <gerd@gnu.org>
2245
f25cfe53
GM
2246 * sound.c: Include Emacs' header files with #include "...".
2247
0967b4b0
GM
2248 * eval.c (specbind): Additionally record the buffer that was
2249 current when a buffer-local or frame-local variable was bound.
2250
c347a1c3
GM
22512001-07-04 Gerd Moellmann <gerd@gnu.org>
2252
2253 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2254 to unibyte characters in unibyte buffers.
2255
6332ca8a
GM
22562001-07-03 Gerd Moellmann <gerd@gnu.org>
2257
38472d44
GM
2258 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2259 the frame on the binding stack. Change format of entries for
2260 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2261 (unbind_to): Handle unbinding a frame-local variable.
2262
6332ca8a 2263 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2264 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2265 (dump_glyph_row): Print row's continuation_lines_width.
2266 (try_window_id): Take the shortcut if ZV is visible in the
2267 window, but there are actually no changes at ZV.
2268
63d1b174
GM
22692001-07-02 Gerd Moellmann <gerd@gnu.org>
2270
4c175203
GM
2271 * xterm.h (x_free_dpy_colors): Add prototype.
2272
2273 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2274 right number of arguments.
2275
0b54ce28
GM
2276 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2277 ($(lwlibdir)TAGS): New target.
4c175203 2278 (TAGS): Fix dependency list.
0b54ce28 2279
63d1b174
GM
2280 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2281 with input blocked.
2282
d827466c
GM
22832001-06-30 Gerd Moellmann <gerd@gnu.org>
2284
2285 * emacs.c (main): Remove extern declaration for sys_nerr, which
2286 isn't used and causes a compilation error with GCC 3.0 on
2287 FreeBSD 4.3.
2288
b5cb1ada
GM
22892001-06-27 Gerd Moellmann <gerd@gnu.org>
2290
a5d3ec3f 2291 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2292 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2293 (toplevel): Include <signal.h> and syssignal.h.
2294
b5cb1ada
GM
2295 * sound.c (vox_configure, vox_close): Turn off atimers
2296 around ioctls.
2297
d9bad487
GM
22982001-06-26 Gerd Moellmann <gerd@gnu.org>
2299
fdbb67fe
GM
2300 * keyboard.c (read_char) <non_reread>: Record the previous idle
2301 start time before calling timer_stop_idle.
2302 (read_char) <reread_first>: After processing a help-echo event,
2303 restore the previous idle start time.
2304
d9bad487
GM
2305 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2306 the start of invisible text.
2307 (setup_for_ellipsis): New function.
2308 (next_overlay_string): After all overlay strings have been
2309 processed, display an ellipsis if necessary.
2310 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2311 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2312
2313 * dispextern.h (struct iterator_stack_entry): Add member
2314 display_ellipsis_p.
2315
2b9c25e0
GM
23162001-06-25 Gerd Moellmann <gerd@gnu.org>
2317
80de57df
GM
2318 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2319 on the value of the wait-for-wm frame parameter.
2320
2321 * xterm.h (struct x_output): Add member wait_for_wm.
2322
2323 * xfns.c (Qwait_for_wm): New variable.
2324 (x_frame_parms): Add entry for `wait-for-wm".
2325 (x_set_wait_for_wm): New function.
2326 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2327 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2328
2b9c25e0
GM
2329 * xdisp.c (try_window_id) <all changes below window end>: Don't
2330 take this shortcut if ZV is visible in the window.
2331 (try_window_id): When checking for window start being in changed
2332 text, don't check that the buffer's size has changed.
2333
f772775c
RS
23342001-06-23 Richard M. Stallman <rms@gnu.org>
2335
2336 * minibuf.c (Fcompleting_read): Doc fix.
2337
fa9090b8
GM
23382001-06-19 Gerd Moellmann <gerd@gnu.org>
2339
2340 * composite.c (Ffind_composition_internal): Accept ZV
2341 and a string's end position as POS.
2342
f6f1beba
GM
23432001-06-18 Gerd Moellmann <gerd@gnu.org>
2344
2345 * composite.c (Ffind_composition_internal): Check POS
2346 for validity.
2347
0ae83348
EZ
23482001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2349
2350 * editfns.c (Fmessage_box): If the frame is not under a window
2351 system, output the message in the echo area.
2352
e4cdc335
RS
23532001-06-14 Richard M. Stallman <rms@gnu.org>
2354
2355 * xdisp.c (try_window_id): When EOB is visible, don't treat
2356 insertion at EOB as if it were "off the bottom of the screen."
2357
a55a5f3c
AI
23582001-06-11 Andrew Innes <andrewi@gnu.org>
2359
2360 * w32proc.c (create_child): Add new parameter is_gui_app.
2361 (w32_executable_type): Add new parameter is_gui_app.
2362 (sys_spawnve): Use it.
2363 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2364 SIGQUIT. This matches better how the signals are interpreted by
2365 MSVC compiled programs.
2366 (syms_of_ntproc): Update docstring.
2367
1b85dc1c
SM
23682001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2369
2370 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2371 well otherwise note_mouse_highlight might optimize away highlighting
2372 if we pass over that same overlay again.
2373
b75f8eab
EZ
23742001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2375
2376 * lread.c (Fload): Document that the argument is run via
2377 substitute-in-file-name.
2378
94843cc1
GM
23792001-05-31 Gerd Moellmann <gerd@gnu.org>
2380
b14659e6
GM
2381 * Makefile.in (bootstrap-doc): New target.
2382 (bootstrap-emacs): Depend on it.
2383
0894672f
GM
2384 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2385 auto-save-list-file-name when shutting down Emacs, because
2386 creating the directory might signal an error, and leaves
2387 Emacs in a strange state.
2388
94843cc1
GM
2389 * term.c: (tty_cursor_hidden): New variable.
2390 (update_begin): Don't call tty_hide_cursor. Clean up.
2391 (update_end, set_terminal_window, set_scroll_region): Clean up.
2392 (ring_bell, reset_terminal_modes): Clean up.
2393 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2394 on tty_cursor_hidden.
2395 (write_glyphs): Call tty_hide_cursor.
2396
db3a49a6
SM
23972001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2398
2399 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2400
8bd189fb
GM
24012001-05-30 Gerd Moellmann <gerd@gnu.org>
2402
6f1be3b9
GM
2403 * xfns.c (enum image_value_type): New enumerator
2404 IMAGE_STRING_OR_NIL_VALUE.
2405 (parse_image_spec): Handle it.
2406 (xbm_format, pbm_format): Use it for :foreground and :background.
2407 (xbm_load, pbm_load): Check for nil color names.
2408
8bd189fb
GM
2409 * xterm.c (note_mouse_highlight): If an overlapping overlay
2410 exists, but we find that we highlight the same overlay as before,
2411 don't do the highlighting again.
2412
7bdba03c
GM
24132001-05-29 Gerd Moellmann <gerd@gnu.org>
2414
4c329aa8
GM
2415 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2416 Protect unibyte strings created by replacing their multibyte
2417 equivalents in menu_items.
2418
e15e2828
GM
2419 * keymap.c (Fsingle_key_description): NUL-terminate the string
2420 buffer before calling build_string.
2421
7bdba03c
GM
2422 * callproc.c (Fcall_process): Deal with decode_coding returning
2423 CODING_FINISH_INCONSISTENT_EOL.
2424
89c8dc6c
GM
24252001-05-28 Gerd Moellmann <gerd@gnu.org>
2426
db3a49a6 2427 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2428 an item's name with its key description in case the description
2429 is a multibyte string.
2430
2431 * keymap.c (Fsingle_key_description): Create a multibyte string
2432 only if necessary.
2433
eb04d6cd
GM
2434 * macros.c (Fstart_kbd_macro): Doc fix.
2435
8bd6307f
GM
2436 * xterm.c (cursor_in_mouse_face_p): New function.
2437 (x_draw_stretch_glyph_string): Use it to choose a different GC
2438 when drawing a cursor within highlighted text.
2439
e26c4089
GM
2440 * editfns.c (char_property_eq): Put in #if 0.
2441
2442 * indent.c (string_display_width): Put in #if 0.
2443
2444 * lread.c (Fload): Remove unused label.
2445
89c8dc6c
GM
2446 * termcap.c (speeds): Put in #if 0.
2447
9a1211f2
GM
24482001-05-18 Gerd Moellmann <gerd@gnu.org>
2449
29148a3f
GM
2450 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2451
9a1211f2
GM
2452 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2453 transformation matrix by 10.
2454
09393d07
GM
24552001-05-16 Gerd Moellmann <gerd@gnu.org>
2456
2457 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2458 only if it's equal to the former foreground pixel color.
db3a49a6 2459 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2460 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2461
460e6bae
GM
24622001-05-16 Dave Love <fx@gnu.org>
2463
2464 * insdel.c (signal_before_change, signal_after_change): Consider a
2465 local change hook which changes the buffer.
99c78ce8
GM
2466
2467 * process.c (read_process_output): Don't call signal_after_change
2468 and update_compositions after insert_from_string_before_markers.
2469
dbcf3c03
GM
24702001-05-16 Gerd Moellmann <gerd@gnu.org>
2471
a90b3d3c
GM
2472 * xfaces.c (split_font_name): Use the right field when
2473 checking for `[...]' syntax.
2474
1b7818b4
GM
2475 * buffer.c (copy_overlays): New function.
2476 (clone_per_buffer_values): Use it.
2477
2478 * buffer.h (OVERLAY_PLIST): New macro.
2479
9bae8781
GM
2480 * keymap.c (Fsingle_key_description): Replace a build_string with
2481 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2482
dbcf3c03
GM
2483 * fontset.c (Ffontset_info): Check that face is non-null
2484 before accessing its fields.
2485
8a1ae4dd
GM
24862001-05-15 Gerd Moellmann <gerd@gnu.org>
2487
18a0a39e
GM
2488 * keyboard.c (read_key_sequence): Prevent generating a fake
2489 prefix key twice.
2490
e335b66a
GM
2491 * xfaces.c (split_font_name): Handle `[...]' for the right
2492 font name fields.
2493
8a1ae4dd
GM
2494 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2495 of CCL_STAT_INVALID_CMD.
2496
3cf80731
SM
24972001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2498
33568849
SM
2499 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2500 in <var> has no default value yet.
2501
3cf80731
SM
2502 * xfaces.c (try_alternative_families): First try the FAMILY.
2503 And if nothing is found in the end, try again with scalable fonts.
2504 (try_font_list): Let try_alternative_families do a bit more of
2505 the work. Only use FAMILY if it is not nil.
2506 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2507
933b0249
GM
25082001-05-14 Gerd Moellmann <gerd@gnu.org>
2509
58e5af83
GM
2510 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2511 pointer shape when show_mouse_face has already done it.
33568849 2512
58e5af83 2513 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2514 full-width rows.
2515
7b16a6bf
GM
2516 * xfaces.c (split_font_name): Make sure to leave the loop
2517 with the right value of `i'.
3cf80731 2518
933b0249
GM
2519 * xfaces.c (split_font_name): Handle matrix transformations
2520 in the pixel and point size fields of XLFD font names.
2521 (xlfd_point_size): Likewise.
2522
dddcbf00
EZ
25232001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2524
3cf80731 2525 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2526 (x_to_w32_font): Add prototype.
2527
7689ef0b
EZ
2528 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2529 redefining, to avoid compiler warnings.
2530
e7c15bba
EZ
2531 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2532
dddcbf00
EZ
2533 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2534 (w32_get_bdf_glyph): Cast between unsigned char and char when
2535 passing arguments to subroutines, to shut up compiler warnings.
2536 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2537 GET_HEX_VAL.
2538
2539 * xfaces.c: Include keyboard.h before frame.h, not after it.
2540
2541 * widget.c: Include keyboard.h before frame.h.
2542
2543 * w32term.h (struct image, struct face): Forward declaration, to
2544 avoid compiler warnings.
2545
7bd2d083
GM
25462001-05-11 Gerd Moellmann <gerd@gnu.org>
2547
47e72862
GM
2548 * keyboard.c (read_key_sequence): Don't modify events when
2549 generating fake prefix keys (mode-line, scroll-bar, ...) since
2550 this prevents proper processing of such events when pushed back
2551 into unread-command-events.
2552
dd5f324b
GM
2553 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2554 actually redrawn. Make the function static.
2555 (note_mouse_highlight): Fix a case where the mouse cursor
2556 was changed back to the text cursor.
2557
2558 * xterm.h (clear_mouse_face): Remove prototype.
2559
d88a79d4
GM
2560 * xdisp.c (try_window_id): Fix the fix and set the right
2561 window_end_vpos.
2562
2563 * xdisp.c (try_window_id): Fix computation of window end in the
2564 case that lines were deleted at the end of the window. Add some
2565 more debug_method_adds.
0416532f 2566
7bd2d083
GM
2567 * xfaces.c (try_alternative_families): New function.
2568 (try_font_list): Use it. If ATTRS specifies a family, check
2569 fonts from that family first.
2570 (choose_face_font): Remove code setting the family part of
2571 the pattern to nil.
2572
23fca891
GM
25732001-05-10 Gerd Moellmann <gerd@gnu.org>
2574
ff9aa2ca
GM
2575 * xdisp.c (try_window_id): Fix case of all changes before
2576 the window start.
7b2654b5 2577
23fca891
GM
2578 * xdisp.c (try_window_id): Add some xasserts.
2579
e9726794
GM
25802001-05-09 Gerd Moellmann <gerd@gnu.org>
2581
2582 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2583
9e53a675
GM
25842001-05-09 Dave Love <fx@gnu.org>
2585
2586 * xdisp.c (GIVE_UP): Fix for K&R C.
2587
0d487c52
GM
25882001-05-09 Gerd Moellmann <gerd@gnu.org>
2589
fe88d421
GM
2590 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2591
0d487c52
GM
2592 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2593 back to the text cursor shape without need.
2594
1e9fc92e
GM
25952001-05-07 Gerd Moellmann <gerd@gnu.org>
2596
a2a6232e
GM
2597 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2598
2599 * dispextern.h (inverse_video): Declare extern.
2600
1e9fc92e
GM
2601 * keyboard.c (delete_kboard): Handle the case that selected_frame
2602 has been deleted in the course of x_connection_closed.
2603
12949a7f
EZ
26042001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2605
7b2654b5
SM
2606 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2607 Fix the change from 2001-04-30.
12949a7f 2608
2fa2f461
GM
26092001-05-03 Gerd Moellmann <gerd@gnu.org>
2610
a779d213
GM
2611 * xfns.c (file_dialog_unmap_cb): New function.
2612 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2613 where a dialog is closed via the window manager.
2614
7b2654b5 2615 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2616 the window start or all below the window end mostly rewritten.
2617 (redisplay_window): Move the tests if try_window_id is
2618 applicable to try_window_id.
2619 (GIVE_UP): New macro.
2620
3356df63
GM
26212001-05-02 Gerd Moellmann <gerd@gnu.org>
2622
a39202f6 2623 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2624 currently being updated, mark the frame garbaged.
2625 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2626 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2627
3356df63
GM
2628 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2629 again if it has already been drawn.
2630
a9d2fd1d
SM
26312001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2632
2633 * syntax.c (update_syntax_table): Check that oldi has the same
2634 properties as old_prop before deciding not to invalidate.
2635
c95fc5f1
GM
26362001-04-30 Gerd Moellmann <gerd@gnu.org>
2637
a9793e45
GM
2638 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2639 read-only text that is so because of text properties.
2640
c95fc5f1 2641 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2642 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2643 windows that are components of a Lucid menu bar.
2644
5a5d9185
GM
26452001-04-27 Gerd Moellmann <gerd@gnu.org>
2646
2647 * term.c (turn_on_face): Fix reverse video handling on terminals
2648 that don't support colors.
2649
ba973f7a
GM
26502001-04-26 Gerd Moellmann <gerd@gnu.org>
2651
2652 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2653 a non-buffer.
2654
8c56a983
GM
26552001-04-25 Gerd Moellmann <gerd@gnu.org>
2656
a728644c
GM
2657 * term.c (toggle_highlight): New function.
2658 (turn_on_face): Change handling of reverse video.
2659
7b2654b5
SM
2660 * process.c (wait_reading_process_input):
2661 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2662
bfd8410f
GM
2663 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2664 of the number of overlays to check.
2665
be2488ca
GM
2666 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2667
8c56a983
GM
2668 * xdisp.c (try_window_id): Fix a case where window_end_pos
2669 and window_end_bytepos were not adjusted.
2670
522d42f7
GM
26712001-04-23 Gerd Moellmann <gerd@gnu.org>
2672
2673 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2674 zero instead of -1.
2675
78c1afb6
EZ
26762001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2677
a9d2fd1d
SM
2678 * process.c (wait_reading_process_input) [!subprocesses]:
2679 Don't reference waiting_for_user_input_p, it's not defined in the
2680 branch without async subprocesses support.
78c1afb6 2681
a2fab450
GM
26822001-04-19 Gerd Moellmann <gerd@gnu.org>
2683
a122a38e
GM
2684 * keyboard.c (delete_kboard): Prevent a dangling reference
2685 from current_kboard to KB, which is freed.
2686
a9d2fd1d
SM
2687 * process.c (wait_reading_process_input):
2688 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
2689 read_key_sequence aware of buffer changes from under it.
2690
0f8d6dc7
GM
26912001-04-18 Gerd Moellmann <gerd@gnu.org>
2692
eeffb293
GM
2693 * xfaces.c (Qscalable_fonts_allowed): New variable.
2694 (realizing_basic_faces_p): Removed.
2fa2f461
GM
2695 (x_face_list_fonts): Special handling for realizing_basic_faces_p
2696 removed.
eeffb293 2697 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
2698 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
2699 for scalable-fonts-allowed to t.
eeffb293 2700
0f8d6dc7
GM
2701 * fileio.c (Finsert_file_contents): If the file size returned from
2702 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 2703 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 2704
eec2d1de
EZ
27052001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
2706
2707 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
2708 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
2709 (__memalign_hook): Make the two prototypes consistent.
2710
f4f480bd
GM
27112001-04-17 Gerd Moellmann <gerd@gnu.org>
2712
2713 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
2714 matrix of mini-windows.
2715
52283633
SM
27162001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2717
2718 * intervals.c (find_interval): Don't rebalance during signal handling.
2719
ec2423c9
GM
27202001-04-11 Gerd Moellmann <gerd@gnu.org>
2721
30cb0001 2722 * fns.c: Include blockinput.h.
52283633 2723
ec2423c9
GM
2724 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
2725
719d83ad
GM
27262001-04-10 Gerd Moellmann <gerd@gnu.org>
2727
60f8d735
GM
2728 * fns.c (Fcompare_strings): Fix return values.
2729
afffeb57
GM
2730 * window.c (window_scroll): Change the meaning of N to mean
2731 N screen-fulls or N lines.
2732 (window_scroll_pixel_based, window_scroll_line_based)
2733 (scroll_command, Fscroll_other_window): Change accordingly.
2734
52283633
SM
2735 * window.c (window_scroll_pixel_based, Frecenter):
2736 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2737 height of the window.
2738
2739 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2740 instead of using it.last_visible_y for the height of the window.
52283633 2741
719d83ad 2742 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2743 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2744
2745 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2746 able to write to hidden and system files. From Dan Holmsand
2747 <dan@eyebee.com>.
719d83ad 2748
8ddf3ee1
GM
2749 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2750 Holmsand <dan@eyebee.com>.
719d83ad 2751
522ed7fb
GM
27522001-04-09 Gerd Moellmann <gerd@gnu.org>
2753
9170e5d4
GM
2754 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2755
522ed7fb
GM
2756 * window.c (window_internal_height): Return 1 less if the
2757 window has a header line.
2758
2759 * xdisp.c (try_window_id): When scrolling on a terminal, take
2760 the change of window_internal_height into account.
2761
ceeb3d7d
EZ
27622001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2763
2764 * gmalloc.c (align): If the argument SIZE would overflow
2765 __malloc_ptrdiff_t, fail right away.
2766
63685b9d
GM
27672001-04-06 Gerd Moellmann <gerd@gnu.org>
2768
2769 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2770 Make sure the tooltip is completely visible.
2771 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2772
2773 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2774
2775 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2776
3ffb33bb
DL
27772001-04-06 Dave Love <fx@gnu.org>
2778
52283633
SM
2779 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2780 Fix test of `from'.
3ffb33bb 2781
869fb12c
GM
27822001-04-06 Gerd Moellmann <gerd@gnu.org>
2783
52283633 2784 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2785
869fb12c
GM
2786 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2787
441bf856
GM
27882001-04-05 Gerd Moellmann <gerd@gnu.org>
2789
4d664b04
GM
2790 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2791
52283633 2792 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2793
30ca89f5
GM
2794 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2795 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2796
2797 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2798 shell widget's position only if it is non-null.
2799
52283633
SM
2800 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2801 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2802
81a81c0f
GM
2803 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2804 FILENAME to bring it in synch with the documentation.
2805
441bf856
GM
2806 * xfaces.c (realizing_basic_faces_p): Renamed from
2807 realize_default_face_p.
2808 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2809 (realize_default_face): Don't set the flag.
2810
702a1e8e
GM
28112001-04-04 Gerd Moellmann <gerd@gnu.org>
2812
1013f4e3
GM
2813 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2814
52283633
SM
2815 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2816
1013f4e3
GM
2817 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2818 the buffer that was used for echoing.
2819
702a1e8e
GM
2820 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2821 (first_font_matching): Removed unused function.
2822 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2823 (may_use_scalable_font_p): Remove parameter FONT; rename
2824 parameter NAME to FONT.
2825 (x_face_list_fonts): Fix missing bounds check.
2826 (realizing_default_face_p): New variable.
2827 (realize_default_face): Set and clear that flag.
2828 (x_face_list_fonts): When called during the realization of the
2829 default face, and no matching fonts are found when ignoring
2830 scalable fonts and fonts matching a regexp from
2831 face-ignored-fonts, try without ignoring fonts.
2832
f9dbcda4
GM
28332001-04-03 Gerd Moellmann <gerd@gnu.org>
2834
ad18ffb1
GM
2835 * xfns.c (postprocess_image): New function.
2836 (lookup_image): Call it for all image types except PostScript.
2837 (x_kill_gs_process): Call postprocess_image.
2838
f9dbcda4
GM
2839 * xterm.c (x_use_underline_position_properties): New variable.
2840 (x_draw_glyph_string): Use it.
2841 (syms_of_xterm): DEFVAR_BOOL it.
2842
651f03b6
GM
28432001-04-02 Gerd Moellmann <gerd@gnu.org>
2844
2845 * xterm.c (x_alloc_nearest_color_1): New function.
2846 (x_alloc_nearest_color): Use it.
2847 (x_color_cells): Take a Display as argument, instead of a frame.
2848 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2849 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2850 (x_initialize): Register cvt_string_to_pixel as resource converter
2851 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2852
73d75a62
GM
28532001-03-30 Gerd Moellmann <gerd@gnu.org>
2854
b2046df8
GM
2855 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2856 (set_iterator_to_next): If a string from a display property ends,
2857 consider the case that this might also be the end of an
2858 overlay string having the display property.
2859
52283633 2860 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 2861
87d8eba4
GM
2862 * xdisp.c (reseat_to_string): Undo last change.
2863
73d75a62
GM
2864 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
2865 matrix of a window when the header line changes, when
2866 new rows are allocated, or when the width changes.
2867
911a2406
EZ
28682001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
2869
52283633 2870 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 2871
aea51abe
EZ
28722001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
2873
2874 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
2875 deprecated.
2876
176bc847
GM
28772001-03-29 Gerd Moellmann <gerd@gnu.org>
2878
ed31fabf
GM
2879 * data.c (Fsubr_interactive_form): New function.
2880 (syms_of_data): Defsubr it.
2881
176bc847
GM
2882 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
2883 (live_float_p, live_misc_p): Return 1 only if the offset of the
2884 pointer in its block is >= 0.
2885
e59d0e9d
GM
28862001-03-28 Paul Eggert <eggert@twinsun.com>
2887
2888 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
2889 microseconds calcuation. Avoid double-rounding problem.
2890 In doc string, warn that the result is approximate.
2891
f827b862
GM
28922001-03-28 Gerd Moellmann <gerd@gnu.org>
2893
30a3f61c
GM
2894 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
2895 bind `inhibit-eval-during-redisplay' to t.
2896
2897 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
2898
2899 * xdisp.c (inhibit_eval_during_redisplay)
2900 (Qinhibit_eval_during_redisplay): New variables.
2901 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
2902 don't eval, return nil instead.
2903 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
2904 Initialize Qinhibit_eval_during_redisplay.
2905
e719f5ae
GM
2906 * xdisp.c (reseat_to_string): If STRING is multibyte, set
2907 the iterator's multibyte_p flag.
2908
deb2613a
GM
2909 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2910 instead of setting it to zero; it's incremented for each frame
2911 where the menu face is changed.
2912
52283633
SM
2913 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2914 change bottom shadow accordingly.
2915
2916 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2917 intersections here.
2918 (expose_window): Do it here instead.
52283633 2919 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2920
f827b862
GM
2921 * bytecode.c (BYTE_CODE_QUIT): New macro.
2922 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2923
4bde0ebb
GM
29242001-03-27 Gerd Moellmann <gerd@gnu.org>
2925
607ec83c
GM
2926 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2927 Give up if matrix starts in an ellipsis.
2928 (init_from_display_pos): Do nothing if POS doesn't specify
2929 a dpvec_index but the iterator has such a position.
2930
0245398f
GM
2931 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2932
aba25348
GM
2933 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2934 x/y position is (0, 0) after destroying the menu bar, restore
2935 its original position.
2936
4bde0ebb
GM
2937 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2938 (init_from_display_pos): Use it.
2939 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2940
8cdb267e
GM
29412001-03-26 Gerd Moellmann <gerd@gnu.org>
2942
2943 * xdisp.c (try_window_id): Undo last change.
2944
9948db79
EZ
29452001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2946
2947 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2948
2949 * buffer.c (syms_of_buffer): Doc fix.
2950
2eddf899
GM
29512001-03-26 Gerd Moellmann <gerd@gnu.org>
2952
2953 * xfaces.c (x_update_menu_appearance): Use local variable
2954 popup_path for setting font resources.
2955
6c145d35
EZ
29562001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2957
6a65b1b5
EZ
2958 * frame.c (Fframe_list): Don't reference tip_frame if
2959 HAVE_WINDOW_SYSTEM is not defined.
2960
6c145d35
EZ
2961 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2962 <wl@gnu.org>.
2963
d74c1900
GM
29642001-03-25 Gerd Moellmann <gerd@gnu.org>
2965
20fbd925
GM
2966 * xdisp.c (init_from_display_pos): Test invisible property
2967 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2968
927c5b3b
GM
2969 * xdisp.c (redisplay_internal) <update one window>: Make sure
2970 last_arrow_position and last_arrow_string are set.
2971
d74c1900
GM
2972 * frame.c (Fframe_list): Don't return a tooltip frame.
2973
091f8878
GM
29742001-03-23 Gerd Moellmann <gerd@gnu.org>
2975
52283633
SM
2976 * xdisp.c (mark_window_display_accurate_1): New function,
2977 extracted from mark_window_display_accurate.
2978 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2979 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2980 (mark_window_display_accurate): Use it.
2981 (redisplay_internal): Use it for the selected window.
2982 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2983 for the selected frame.
2984
ac90c44f
GM
2985 * xdisp.c Use make_number, for readability.
2986 (try_window_id): Disable rows below the window end.
2987 (try_window_reusing_current_matrix): Use cursor_row_p.
2988 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2989 of rows.
2990 (init_from_display_pos): If POS specifies a position in a display
2991 vector, maybe get the iterator set up for that ellipsis.
43c09969 2992
091f8878
GM
2993 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2994
991786dd
EZ
29952001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2996
2997 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2998
6c29b43c
GM
29992001-03-23 Gerd Moellmann <gerd@gnu.org>
3000
3001 * xfaces.c (x_update_menu_appearance): Use a different path
3002 for Lucid popup menus.
3003
d8731202
SM
30042001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3005
3006 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3007
3008 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3009 (string_buffer_position): Use `make_number'.
3010
f61a541b
GM
30112001-03-22 Gerd Moellmann <gerd@gnu.org>
3012
3c9e997b
GM
3013 * xfaces.c (x_update_menu_appearance): Renamed from
3014 x_set_menu_face_resources. Use different resources for popups.
3015
3016 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3017 (GC_CHECK_STRING_BYTES): Don't define.
3018
364cd450
GM
3019 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3020 Removed, together with subroutines.
3021 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3022 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3023
d8731202
SM
3024 * dispextern.h (x_set_menu_resources_from_menu_face):
3025 Remove prototype.
364cd450 3026
d8731202 3027 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3028 Remove calls to x_set_menu_resources_from_menu_face.
3029
d8731202
SM
3030 * xfaces.c (xm_set_menu_resources_from_menu_face):
3031 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3032
3033 * xmenu.c: Include widget.h.
3034 (single_submenu): Return int. Some cleanup.
3035 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3036
140330de
GM
30372001-03-21 Gerd Moellmann <gerd@gnu.org>
3038
3039 * xterm.c (x_update_window_end): Handle overwritten mouse face
3040 also for tool bar windows.
3041 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3042 DRAW is DRAW_IMAGE_RAISED.
3043
1741905c
GM
30442001-03-20 Gerd Moellmann <gerd@gnu.org>
3045
fa88947e
GM
3046 * print.c (syms_of_print): Doc fixes.
3047
1741905c
GM
3048 * fns.c (Fmd5): Doc fix.
3049
ade0bee1
GM
30502001-03-19 Gerd Moellmann <gerd@gnu.org>
3051
357e7376
GM
3052 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3053 Clear area of the frame not occupied by the scroll bar.
3054
c2c097cc
GM
3055 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3056 tip frame's root window buffer to *tip* right after creating
3057 the frame.
3058
ade0bee1
GM
3059 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3060 is an integer don't have to be for space characters.
3061
88c6e37e
GM
30622001-03-16 Gerd Moellmann <gerd@gnu.org>
3063
52283633
SM
3064 * indent.c (current_column, current_column_1, Fmove_to_column)
3065 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3066
c62eed76
KH
30672001-03-15 Kenichi Handa <handa@etl.go.jp>
3068
3069 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3070 drawing glyph string.
3071
c899e7e6
GM
30722001-03-15 Gerd Moellmann <gerd@gnu.org>
3073
d0bbfc99
GM
3074 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3075 (command_loop_1): Undo last change.
3076
03d1a189
GM
3077 * xterm.c (fast_find_position): Return the correct vpos.
3078
c899e7e6 3079 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3080 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3081 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3082 Call store_symval_forwarding with BUF null.
3083 (set_internal): Call store_symval_forwarding with the BUF
3084 parameter passed to set_internal. Formerly, the value was always
3085 set in the current buffer; the buffer recorded in specbind for
3086 this case wasn't used.
3087 (arith_driver): Reindent.
3088
52283633
SM
3089 * buffer.c (swap_out_buffer_local_variables):
3090 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3091
3092 * lisp.h (store_symval_forwarding): Change prototype.
3093
3094 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3095
57ac7c81
GM
30962001-03-14 Gerd Moellmann <gerd@gnu.org>
3097
697617d9
GM
3098 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3099 FOR_DELETION. Avoid resizing the mini-window of the selected
3100 frame if FOR_DELETION is set.
3101 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3102 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3103 signature.
3104
3105 * window.c (Fset_window_configuration): Change call to
3106 do_switch_frame to new format.
3107
3108 * keyboard.c (quit_throw_to_read_char): Change call to
3109 do_switch_frame to new format.
3110
3111 * lisp.h (do_switch_frame): Change prototype.
3112
819dce0f
GM
3113 * frame.c (Fframe_parameters): In the `buffer-list' frame
3114 parameter, store the buffer list of FRAME, not the list of the
3115 selected frame.
3116
57ac7c81
GM
3117 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3118 box just because the glyph row's full_width_p flag is set.
3119
65008712
GM
31202001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3121
3122 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3123 skip the padding blanks inserted in extend_face_to_end_of_line,
3124 before checking for trailing whitespace.
3125
159cf431
GM
31262001-03-13 Gerd Moellmann <gerd@gnu.org>
3127
52283633 3128 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3129 Remove special handling for LessTif/Motif.
3130 (toplevel): Don't include Xm/Xm.h.
3131
52283633
SM
3132 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3133 Remove workaround code for LessTif; it doesn't work anymore.
3134
2564ea1b 3135 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3136 Xm/ScrollBarP.h.
afcdc0a1 3137
52283633
SM
3138 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3139 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3140 contemporary LessTif.
3141
52283633
SM
3142 * xfaces.c (xm_set_menu_resources_from_menu_face):
3143 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3144
159cf431
GM
3145 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3146 removing button grabs.
3147
c6f7429a
KH
31482001-03-13 Kenichi Handa <handa@etl.go.jp>
3149
cb82d767
KH
3150 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3151 and clip-large-size-font as obsolete.
3152
c6f7429a
KH
3153 * lread.c (read_multibyte): Check the validity of multibyte
3154 sequence. If invalid, return the first byte.
3155
760cefb5
GM
31562001-03-12 Gerd Moellmann <gerd@gnu.org>
3157
3158 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3159 before running the command; timer functions or process
3160 filters may have set it.
3161
5141f9d0
EZ
31622001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3163
3164 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3165 Doc fix.
3166
b6a15240
GM
31672001-03-12 Gerd Moellmann <gerd@gnu.org>
3168
3169 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3170 to sprintf.
3171
95522746
GM
31722001-03-09 Gerd Moellmann <gerd@gnu.org>
3173
db14cfc5
GM
3174 * dispextern.h (string_buffer_position): Add prototype.
3175
52283633 3176 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3177 (single_display_prop_string_p): New functions.
3178
3179 * xterm.c (note_mouse_highlight): If there's no help-echo on
3180 a string, look at the buffer text ``under'' it.
3181
3182 * keyboard.c (make_lispy_event): Add string info to the event,
3183 analogous to what's done on mode lines.
3184 (read_key_sequence): For a click on a string, consider `local-map'
3185 and `keymap' of that string.
3186
52283633
SM
3187 * keyboard.c (make_lispy_event, make_lispy_movement):
3188 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3189
3190 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3191
3192 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3193 POS; return void.
3194
95522746
GM
3195 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3196 flags argument to emacs_open; it seems to conflict with O_EXCL.
3197
898a399d
KH
31982001-03-09 Kenichi Handa <handa@etl.go.jp>
3199
28cd4910
KH
3200 * composite.h (struct composition): Change types of members;
3201 glyph_len to unsigned, width to unsigned short.
898a399d 3202
4cdf6a6c
AI
32032001-03-08 Andrew Innes <andrewi@gnu.org>
3204
3205 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3206 menu titles.
3207
129004d3
GM
32082001-03-08 Gerd Moellmann <gerd@gnu.org>
3209
221dd3e7
GM
3210 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3211 instead of nil.
3212
52283633 3213 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3214 help-echo in strings.
3215 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3216 (fast_find_string_pos): New function.
3217
52283633
SM
3218 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3219 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3220
3221 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3222 Handle `mouse-face'.
3223
3224 * dispextern.h (face_at_string_position): Change prototype.
3225
52283633 3226 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3227
129004d3
GM
3228 * keyboard.c (make_lispy_event): Avoid generating drag events
3229 if the mouse hasn't actually moved to another buffer position.
52283633 3230
80c8ab8c
DL
32312001-03-08 Dave Love <fx@gnu.org>
3232
129004d3 3233 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3234
989521fd
GM
32352001-03-08 Gerd Moellmann <gerd@gnu.org>
3236
3237 * process.c (Fset_process_window_size): Fix a typo.
3238
bb5c338d
KH
32392001-03-08 Kenichi Handa <handa@etl.go.jp>
3240
3241 * coding.c (detect_coding_sjis): Do more rigid check.
3242 (detect_coding_big5): Likewise.
3243 (decode_coding_sjis_big5): Likewise.
3244 (Fdetect_coding_region): Call detect_coding_system with tailing
3245 anchor byte `\0' for more rigid detection.
52283633 3246 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3247 (Fdetect_coding_string): Likewise.
3248
8b8f9197
SM
32492001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3250
3251 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3252 a string before extracting its data.
3253
3bdf2660
GM
32542001-03-07 Gerd Moellmann <gerd@gnu.org>
3255
3256 * window.c (Frecenter): Rewrite code handling negative values
3257 of ARG on graphical frames.
3258
32592001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3260
3261 * window.c (displayed_window_lines): If W->start is outside the
3262 accessible portion of the buffer, call start_display with BEGV or
3263 ZV instead of W->start.
3264
471f86b9
GM
32652001-03-07 Gerd Moellmann <gerd@gnu.org>
3266
2ab62c6c
GM
3267 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3268
471f86b9
GM
3269 * process.c (Fset_process_filter): Don't crash if the input
3270 file descriptor of PROCESS is closed.
3271 (Fset_process_window_size): Likewise.
3272
101922c3
GM
32732001-03-06 Kenichi Handa <handa@etl.go.jp>
3274
3275 * xterm.c (XTflash): Make the timeout of select shorter, and call
3276 select repeatedly until the desired time expires.
3277
45d051a7
GM
32782001-03-06 Gerd Moellmann <gerd@gnu.org>
3279
3280 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3281
3282 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3283
3284 * lisp.h (Vwindow_list): Declare extern.
3285
8f372c46
EZ
32862001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3287
3288 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3289
f16a7aa5
GM
32902001-03-06 Gerd Moellmann <gerd@gnu.org>
3291
157ae273
GM
3292 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3293 to detect a case where we have to highlight a different region
3294 despite not having left the currently highlighted region.
3295 Set mouse_face_overlay in the x_display_info.
45d051a7 3296 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3297
3298 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3299
3300 * buffer.c (mouse_face_overlay_overlaps): New function.
3301
3302 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3303 (Qmouse_face): Declare extern.
3304
f16a7aa5
GM
3305 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3306 if face_change_count is non-zero.
3307
827afcac
KH
33082001-03-06 Kenichi Handa <handa@etl.go.jp>
3309
3310 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3311 that the source is unibyte.
3312
14c7242e
DL
33132001-03-05 Dave Love <fx@gnu.org>
3314
827afcac 3315 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3316
c28b847b
GM
33172001-03-05 Gerd Moellmann <gerd@gnu.org>
3318
3319 * minibuf.c (read_minibuf): Clean up the binding stack if
3320 called noninteractively.
3321
b86644f2
KH
33222001-03-05 Kenichi Handa <handa@etl.go.jp>
3323
3324 * coding.c (syms_of_coding): Docstring modified.
3325
203682cc 33262001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3327
3328 * charset.c (char_to_string): If a single byte char has modifier
3329 bits that can't be reflected to the character code, ignore them
45d051a7 3330 instead of signaling an error.
b86644f2 3331
e30bd7b7
EZ
33322001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3333
3334 * s/msdos.h: Update copyright notice.
3335
3336 * dosfns.h: Update copyright notice.
3337
3338 * dosfns.c: Update copyright notice.
3339
3340 * msdos.c: Update copyright notice.
3341
b52b65bd
GM
33422001-03-02 Gerd Moellmann <gerd@gnu.org>
3343
3344 * xterm.c (glyph_rect): New function.
3345 (XTmouse_position): Use it to raise the threshold for mouse
3346 movement event generation.
3347
53c4b1e6
EZ
33482001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3349
3350 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3351 specifies (reverse . t), reverse the initial screen colors.
3352 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3353 but we are reversing the colors, set bg_set, not fg_set.
3354 Likewise for setting background-color and reversing: set fg_set.
3355 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3356 in effect.
3357
3358 * xfaces.c (Finternal_set_lisp_face_attribute)
3359 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3360 parameters alist.
3361
f964b4d7
GM
33622001-03-02 Gerd Moellmann <gerd@gnu.org>
3363
ef53d75e
GM
3364 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3365 to a single slash in the middle of file names.
3366
52283633 3367 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3368 Accept only alphanumeric time zone names.
3369
f964b4d7
GM
3370 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3371 or width area.
3372 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3373 a widget to zero height.
52283633 3374
c3c45f65
GM
33752001-03-01 Gerd Moellmann <gerd@gnu.org>
3376
3377 * window.c (Fwindow_end): Call move_it_past_eol only if
3378 ending up on a partially visible line.
3379
028d739a
DL
33802001-03-01 Dave Love <fx@gnu.org>
3381
3382 * ccl.c (Fccl_execute): Doc fix.
3383
57c5889c
GM
33842001-03-01 Gerd Moellmann <gerd@gnu.org>
3385
35f59f6b
GM
3386 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3387 of the tool bar before calling x_figure_window_size.
3388
f84ff02c
GM
3389 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3390 NULL after destroying it, otherwise XTread_socket can access a
3391 destroyed widget when input is unblocked.
3392
8b8f9197 3393 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3394
57c5889c
GM
3395 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3396 same name as before, although there was a change in fontsets.
3397
224227d1
KR
33982001-02-28 Ken Raeburn <raeburn@gnu.org>
3399
4560730a
KR
3400 * lisp.h (Fframe_parameter): Declare.
3401
224227d1 3402 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3403 Lisp_Object.
224227d1 3404
ece93c02
GM
34052001-02-28 Gerd Moellmann <gerd@gnu.org>
3406
11ef99b9
GM
3407 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3408 NULL instead.
3409
3410 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3411 NULL instead.
3412
ece93c02
GM
3413 * alloc.c (toplevel): Include process.h.
3414 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3415 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3416 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3417 (allocate_vector, allocate_hash_table, allocate_window)
3418 (allocate_frame, allocate_process, allocate_other_vector):
3419 New functions.
ece93c02
GM
3420 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3421 (mark_maybe_pointer): New function.
52283633 3422 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3423 remain and not Lisp_Objects.
3424 (min_heap_address, max_heap_address): New variables.
3425 (mem_find): Return MEM_NIL if START is below min_heap_address or
3426 above max_heap_address.
3427 (mem_insert): Compute min_heap_address and max_heap_address.
3428
3429 * process.c (make_process): Use allocate_process.
3430
3431 * frame.c (make_frame): Use allocate_frame.
3432
3433 * window.c (make_window, make_dummy_parent): Use allocate_window.
3434 (Fcurrent_window_configuration): Use allocate_other_vector.
3435
3436 * lisp.h (allocate_vectorlike): Remove prototype.
3437 (allocate_vector, allocate_other_vector, allocate_frame)
3438 (allocate_window, allocate_process, allocate_hash_table):
3439 Add prototypes.
3440
3441 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3442 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3443
063af457
KH
34442001-02-27 Kenichi Handa <handa@etl.go.jp>
3445
3446 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3447 treat the produced bytes as a valid multibyte sequence.
3448
3449 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3450 (ccl_driver) <CCL_WriteMultibyteChar2>:
3451 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3452 <ccl_finish>: Set ccl->eight_bit_control properly.
3453
3454 * ccl.h (struct ccl_program): New member eight_bit_control.
3455
f58c6494
SM
34562001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3457
3458 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3459 accessible_keymaps_char_table.
3460 (accessible_keymaps_char_table): Obey `is_metized'.
3461 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3462 Lisp_Object.
3463
c596c392
GM
34642001-02-26 Gerd Moellmann <gerd@gnu.org>
3465
3466 * dispnew.c: Check HAVE_TERM_H before including term.h.
3467
425de386
AI
34682001-02-24 Andrew Innes <andrewi@gnu.org>
3469
3470 * makefile.w32-in: Update copyright notice.
3471
2ba11bbd
SM
34722001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3473
3474 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3475
66c56ed1
KH
34762001-02-24 Kenichi Handa <handa@etl.go.jp>
3477
4c1593ce
KH
3478 * Makefile.in (lisp): Add international/utf-8.elc.
3479
66c56ed1
KH
3480 * fontset.c (Fnew_fontset): Fix handling of the case that an
3481 element of FONTLIST is a cons of family and registry.
3482
796ead7e
JR
34832001-02-23 Jason Rumney <jasonr@gnu.org>
3484
3485 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3486 to height unconditionally.
3487
3488 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3489 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3490 (x_insert_glyphs): Call window_box_left to obtain the left
3491 x-coordinate of the area to shift.
3492
3493 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3494 safe_run_hooks.
3495
f6839838
AI
34962001-02-22 Andrew Innes <andrewi@gnu.org>
3497
52283633 3498 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3499 ($(BLD)\dispnew.obj):
3500 ($(BLD)\editfns.obj):
3501 ($(BLD)\fileio.obj):
3502 ($(BLD)\filelock.obj):
3503 ($(BLD)\keyboard.obj):
3504 ($(BLD)\w32proc.obj):
3505 ($(BLD)\process.obj):
3506 ($(BLD)\sysdep.obj): Ditto.
3507
3508 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3509 header files.
52283633
SM
3510 ($(BLD)/dispnew.$(O)):
3511 ($(BLD)/editfns.$(O)):
3512 ($(BLD)/fileio.$(O)):
3513 ($(BLD)/filelock.$(O)):
3514 ($(BLD)/keyboard.$(O)):
3515 ($(BLD)/w32proc.$(O)):
3516 ($(BLD)/process.$(O)):
f6839838
AI
3517 ($(BLD)/sysdep.$(O)): Ditto.
3518
c224f70b
GM
35192001-02-22 Gerd Moellmann <gerd@gnu.org>
3520
51695746
GM
3521 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3522 at the start of the function, check that the \n in it->c is
3523 from the iterator's current position.
52283633 3524
a61b7058
GM
3525 * xdisp.c (handle_single_display_prop): Add parameter
3526 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3527 properties which replace the display of text with something else.
3528 (handle_display_prop): Call handle_single_display_prop with
3529 additional argument saying if we already replaced text display
3530 with something else. Use AREF.
52283633 3531 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3532 (decode_mode_spec_coding): Use AREF and ASIZE.
3533
3473f362
GM
3534 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3535 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3536 * vmstime.h: Files removed.
52283633 3537
2bb58df3
GM
3538 * unexencap.c, unexfx2800.c: Files removed.
3539
c224f70b
GM
3540 * dispnew.c (direct_output_for_insert): Give up if we are showing
3541 a message or just cleared the message because we might need to
3542 resize the echo area window or display an empty echo area.
3543
ffc9ff0c
GM
35442001-02-21 Gerd Moellmann <gerd@gnu.org>
3545
0528abe1
GM
3546 * xdisp.c (redisplay_internal): Do the
3547 mark_window_display_accurate after all windows have been
3548 redisplayed because this call resets flags in buffers which are
3549 needed for proper redisplay.
3550
52283633
SM
3551 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3552 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3553 the old names.
3554
52283633
SM
3555 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3556 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3557
3558 * msdos.h (struct x_output): Rename busy_window to
3559 hourglass_window, busy_p to hourglass_p.
3560
52283633
SM
3561 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3562 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3563
3564 * xfns.c: Rename everything containing *busy_cursor* and similar
3565 to *hourglass*.
3566 (syms_of_w32fns): Rename x-busy-pointer-shape to
3567 x-hourglass-pointer-shape, display-busy-cursor to
3568 display-hourglass, busy-cursor-delay to hourglass-delay.
3569
3570 * w32fns.c: Rename everything containing *busy_cursor* and similar
3571 to *hourglass*.
3572 (syms_of_w32fns): Rename x-busy-pointer-shape to
3573 x-hourglass-pointer-shape, display-busy-cursor to
3574 display-hourglass, busy-cursor-delay to hourglass-delay.
3575
3576 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3577 of its busy_p flag.
3578
3579 * dispextern.h (start_hourglass, cancel_hourglass)
3580 (display_hourglass_p): Renamed from *busy_cursor*.
3581
ab2c5f0a
GM
35822001-02-20 Gerd Moellmann <gerd@gnu.org>
3583
d17e49a8
GM
3584 * keyboard.c (read_char): When an event from unread-command-events
3585 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3586
fa97adf6
GM
3587 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3588 equal to the current buffer.
3589
ab2c5f0a
GM
3590 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3591 nil, otherwise we're left with truncate_lines t when a message
3592 is printed with message-truncate-lines bound to t.
3593
aeac019e
GM
35942001-02-19 Gerd Moellmann <gerd@gnu.org>
3595
c8bc6f65
GM
3596 * window.c (Fmove_to_window_line): Undo last change.
3597 (displayed_window_lines): Call line_bottom_y to determine
3598 the line's bottom position.
3599
3600 * dispextern.h (line_bottom_y): Add prototype.
3601
52283633 3602 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3603 (pos_visible_p): Use it.
3604
980a2d69
GM
3605 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3606 set redisplaying_p to 0 here instead of in Frecursive_edit.
3607 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3608 set redisplaying_p.
3609
52283633 3610 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3611 New variables.
3612 (syms_of_xdisp): Initialize new variables.
3613 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3614 Specbind `inhibit-menubar-update' when updating the menu bar.
3615
65048e97
GM
3616 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3617 safe_run_hooks.
3618
3619 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3620 safe_run_hooks.
3621
a57c4026
GM
3622 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3623 is null.
3624
aeac019e
GM
3625 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3626 to the start of the file.
3627
76846b31
GM
36282001-02-16 Gerd Moellmann <gerd@gnu.org>
3629
f3f053f3 3630 * window.c (set_window_buffer): Fix last change.
52283633 3631
f3f053f3
GM
3632 * window.c (set_window_buffer): Set window's vscroll to 0.
3633
dad75588
GM
3634 * window.c (coordinates_in_window): Increase width of area
3635 where the vertical line can be dragged.
3636
c220b753
GM
3637 * xterm.c (x_set_glyph_string_background_width): Extend the
3638 background face to the end of the drawing area in the text
3639 area, only.
3640
c56b1c1b
GM
3641 * xdisp.c (handle_single_display_prop): Set iterator's position
3642 to where the `display' property starts, like for images.
3643 (dump_glyph): New function.
3644 (dump_glyph_row): Use it. Dump info about marginal areas.
3645
3646 * dispnew.c (direct_output_for_insert): Recognize more cases where
3647 glyphs can be written instead of being inserted.
3648
3649 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3650 the left x-coordinate of the area to shift.
3651
76846b31
GM
3652 * dired.c (directory_files_internal): Set result list to nil
3653 before retrying.
3654
0fc71a77
KH
36552001-02-15 Kenichi Handa <handa@etl.go.jp>
3656
3657 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3658 invalid multibyte sequence, treat *SRC as a character of
3659 eight-bit-graphic.
3660
25078b54
EZ
36612001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3662
3663 * textprop.c (Fset_text_properties): Doc fix.
3664
8399f8a0
GM
36652001-02-15 Gerd Moellmann <gerd@gnu.org>
3666
3667 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3668
9a2a6f73
DL
36692001-02-14 Dave Love <fx@gnu.org>
3670
3671 * coding.c: Doc and message fixes.
3672
bf853fee
AI
36732001-02-14 Andrew Innes <andrewi@gnu.org>
3674
3675 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3676 Emacs frame above the screen size.
3677
78c663d8
GM
36782001-02-14 Gerd Moellmann <gerd@gnu.org>
3679
3680 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3681
7cc9f69f
GM
36822001-02-13 Gerd Moellmann <gerd@gnu.org>
3683
0a411995
GM
3684 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
3685 case that TO ends up beyond ZV after running before-change-functions.
3686
5ddc1b75
GM
3687 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
3688 the selected window if it is showing the buffer in question.
3689
7cc9f69f
GM
3690 * dired.c (directory_files_internal): Initialize errno.
3691 (toplevel): Include errno.h.
3692
2e6621ca
GM
36932001-02-13 Kenichi Handa <handa@etl.go.jp>
3694
3695 * xfaces.c (best_matching_font): New parameter width_ratio.
3696 Multiply avgwidth by width_ratio.
3697 (choose_face_font): Call best_matching_font with width_ratio
3698 calculated from the column width of C.
3699
60222d69
AI
37002001-02-12 Andrew Innes <andrewi@gnu.org>
3701
3702 The following changes are to draw box lines inside characters area
3703 if line-width is negative.
52283633 3704
60222d69
AI
3705 * w32term.c (x_produce_image_glyph): Pay attention to the case that
3706 face->box_line_width is negative.
3707 (x_produce_stretch_glyph): Likewise.
3708 (x_produce_glyphs): Likewise.
3709 (x_estimate_mode_line_height): Likewise.
3710 (x_draw_glyph_string_background): Likewise.
3711 (x_draw_glyph_string_foreground): Likewise.
3712 (x_draw_composite_glyph_string_foreground): Likewise.
3713 (x_draw_glyph_string_box): Likewise.
3714 (x_draw_image_foreground): Likewise.
3715 (x_draw_image_relief): Likewise.
3716 (x_draw_image_foreground_1): Likewise.
3717 (x_draw_image_glyph_string): Likewise.
3718
9804b846
KH
37192001-02-09 Kenichi Handa <handa@etl.go.jp>
3720
3721 The following changes are to draw box lines inside characters area
3722 if line-width is negative.
52283633 3723
9804b846
KH
3724 * xterm.c (x_produce_image_glyph): Pay attention to the case that
3725 face->box_line_width is negative.
3726 (x_produce_stretch_glyph): Likewise.
3727 (x_produce_glyphs): Likewise.
3728 (x_estimate_mode_line_height): Likewise.
3729 (x_draw_glyph_string_background): Likewise.
3730 (x_draw_glyph_string_foreground): Likewise.
3731 (x_draw_composite_glyph_string_foreground): Likewise.
3732 (x_draw_glyph_string_box): Likewise.
3733 (x_draw_image_foreground): Likewise.
3734 (x_draw_image_relief): Likewise.
3735 (x_draw_image_foreground_1): Likewise.
3736 (x_draw_image_glyph_string): Likewise.
3737
3738 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3739 and :line-width can be negative.
52283633 3740 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3741
49be9f70
JR
37422001-02-09 Jason Rumney <jasonr@gnu.org>
3743
3744 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3745 characters the same as ASCII and latin-1.
3746 (x_display_and_set_cursor): Check for the focus frame's selected
3747 window instead of selected_window.
3748 (x_after_update_window_line): Don't clear if frame's internal
3749 border width is zero.
3750 (x_new_font): Don't change a tooltip's size.
3751 (w32_initialize): Set char_ins_del_ok to 1.
3752
3753 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3754 (x_set_font): If font hasn't changed, avoid recomputing
3755 faces and other things.
52283633
SM
3756 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3757 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
3758 (x_create_tip_frame): Prevent changing the tooltip's
3759 background color by specifying a color for the default font
3760 in .Xdefaults.
3761 (Qcancel_timer): New variable.
3762 (syms_of_w32fns): Initialize and staticpro it.
3763 (Fx_hide_tip, Fx_show_tip): Use it.
3764 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3765 the timer.
3766 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3767
3768 * w32.c (init_environment): Duplicate local string before putenv.
3769
555e35d2
SZ
37702001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3771
3772 * charset.c (Fstring): A typo.
3773
19c92c94
KH
37742001-02-09 Kenichi Handa <handa@etl.go.jp>
3775
e47a1c33
KH
3776 * charset.c (Fstring): If all arguments are less than 256, return
3777 a unibyte string.
3778
3779 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3780 return a unibyte string.
3781
19c92c94
KH
3782 * coding.c (code_convert_region): After detecting a coding, if
3783 nothing found, set coding->composing to COMPOSITION_NO.
3784 (decode_coding_string): Likewise.
3785
d8e675f5
SM
37862001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3787
3788 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3789 to avoid overflow.
3790
bd503487
KH
37912001-02-07 Kenichi Handa <handa@etl.go.jp>
3792
3793 * charset.c (parse_str_to_multibyte): New function.
3794
3795 * charset.h (parse_str_to_multibyte): Extern it.
3796
3797 * print.c (print_string): If we are going to print a unibyte
3798 string into a multibyte buffer, convert the string to multibyte by
3799 str_to_multibyte.
3800
a8370d72
AI
38012001-02-06 Andrew Innes <andrewi@gnu.org>
3802
3803 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3804 been created. It seems we can get sent window messages such as
3805 WM_ERASEBKGND before we properly update a frame.
3806
c363a1d6
GM
38072001-02-06 Gerd Moellmann <gerd@gnu.org>
3808
3809 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3810 Avoid some unnecessary cursor positioning.
3811
a08332c0
GM
38122001-02-05 Gerd Moellmann <gerd@gnu.org>
3813
52283633 3814 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3815 (LFACE_AVGWIDTH): New macro.
3816 (LFACEP): Use AREF.
3817 (check_lface_attrs): Check LFACE_AVGWIDTH.
3818 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3819 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3820 (merge_face_vectors): Check LFACE_AVGWIDTH.
3821 (Finternal_make_lisp_face): Use AREF.
3822 (xm_set_menu_resources_from_menu_face)
3823 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3824 (Finternal_lisp_face_empty_p): Use AREF.
3825 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3826 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3827 Compare average widths..
3828 (best_matching_font): Arrange for comparing average widths.
3829
52283633
SM
3830 * dispextern.h (enum lface_attribute_index):
3831 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3832
5cb3c8d4
DL
38332001-02-05 Dave Love <fx@gnu.org>
3834
3835 * puresize.h: Revert last change following loadup.el change.
3836
193fba87
AI
38372001-02-05 Andrew Innes <andrewi@gnu.org>
3838
3839 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3840 invocation of temacs, to work with Windows 2000.
3841 (bootstrap-emacs): Ditto.
3842
e16f52ce
GM
38432001-02-05 Gerd Moellmann <gerd@gnu.org>
3844
7a58ab59
GM
3845 * xterm.c (x_display_and_set_cursor): Check for the focus
3846 frame's selected window instead of selected_window.
3847
e89aaabd
GM
3848 * xdisp.c (try_scrolling): If point is in the line below the
3849 window, make sure to move the iterator at least a canonical
3850 char height down.
3851
52283633 3852 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 3853
789ce875
KH
38542001-02-05 Kenichi Handa <handa@etl.go.jp>
3855
52283633
SM
3856 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3857 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
3858 (ccl_driver): If the CCL program is terminated because of
3859 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3860 destination instead of throwing them away.
3861
20b28f82
GM
38622001-02-02 Gerd Moellmann <gerd@gnu.org>
3863
79fb38c0
GM
3864 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
3865 faces and other things.
3866
20b28f82
GM
3867 * xdisp.c (get_next_display_element): Fix case of empty
3868 display table entry.
3869
5a72551e
EZ
38702001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
3871
eb24d0bf
EZ
3872 * editfns.c (Fconstrain_to_field): Doc fix.
3873
6a3f48c7
EZ
3874 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
3875 into `thoroughly', to make it consistent with the doc string.
3876
5a72551e
EZ
3877 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
3878
01acdb05
GM
38792001-02-01 Gerd Moellmann <gerd@gnu.org>
3880
0353b28f
GM
3881 * search.c (search_buffer): Call set_search_regs with a byte
3882 position, not a character position.
3883
01acdb05
GM
3884 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
3885 minibuffer-only,
3886
e86b5133
EZ
38872001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
3888
3889 * frame.c (Fmodify_frame_parameters): Doc fix.
3890
7442878f
GM
38912001-01-31 Gerd Moellmann <gerd@gnu.org>
3892
01acdb05
GM
3893 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
3894 identifier which is not reserved by Standard C.
52283633 3895
7442878f
GM
3896 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
3897
3898 * window.c (enum window_part): New enumeration.
3899 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
3900 Qright_bitmap_area.
3901 (coordinates_in_window): Return an enumerator from enum
3902 window_part. Fix handling of right scroll bar.
3903 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
3904 `right-fringe' instead of `left-bitmap-area' and
3905 `right-bitmap-area'. Use enumerators from enum window_part
3906 instead of hard-coded integers.
52283633
SM
3907 (check_window_containing, window_from_coordinates):
3908 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3909 (syms_of_window): Replace Qleft_bitmap_area and
3910 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3911
7c132cba
EZ
39122001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3913
3914 * editfns.c (Fformat_time_string): Doc fix.
3915
c359dd9e
SM
39162001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3917
3918 * keymap.c (Fwhere_is_internal): Use the first valid binding
3919 if no ascii binding is found (when firstonly is t).
3920
ce070307
GM
39212001-01-31 Gerd Moellmann <gerd@gnu.org>
3922
b4f30ec5
GM
3923 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3924 instead of Finteractive_p.
3925
3926 * lisp.h (interactive_p): Add prototype.
3927
3928 * eval.c (interactive_p): New function.
3929 (Finteractive_p): Use it.
3930
ce070307
GM
3931 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3932
f57b6e64
DL
39332001-01-31 Dave Love <fx@gnu.org>
3934
d61c7afe
DL
3935 * .gdbinit (hook-run): Define to run xreload.
3936
f57b6e64
DL
3937 * textprop.c (Fset_text_properties): Fix newline in doc string.
3938
eef93f99
GM
39392001-01-30 Gerd Moellmann <gerd@gnu.org>
3940
52283633
SM
3941 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3942 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3943
3944 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3945 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3946 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3947
3948 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3949 height.
3950
d9c1f6f9
DL
39512001-01-30 Dave Love <fx@gnu.org>
3952
3953 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3954 AFTER_POTENTIAL_GC.
3955
e8f044a0
GM
39562001-01-29 Gerd Moellmann <gerd@gnu.org>
3957
52283633
SM
3958 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3959 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3960
8e1db7b3
EZ
39612001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3962
3963 * textprop.c (Fset_text_properties): Doc fix.
3964
4eefd9d2
GM
39652001-01-29 Gerd Moellmann <gerd@gnu.org>
3966
3967 * xdisp.c (forward_to_next_line_start): Remove xassert.
3968
fccb8288
EZ
39692001-01-29 Jason Rumney <jasonr@gnu.org>
3970
4eefd9d2 3971 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3972 returning without releasing it.
3973
76581eab
KH
39742001-01-29 Kenichi Handa <handa@etl.go.jp>
3975
3976 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3977 for '^', '$', and '\0'.
3978
83a96b4d
AC
39792001-01-28 Andrew Choi <akochoi@i-cable.com>
3980
5604ec34
AC
3981 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3982 regex for '^', '$', and '\0'.
3983
83a96b4d
AC
3984 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3985 only if current_sblock has been initialized.
3986
3987 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3988 terminal frame even if it is the only visible frame.
3989
c09a6440
KH
39902001-01-28 Kenichi Handa <handa@etl.go.jp>
3991
3992 * fontset.c (font_family_registry): Even if FONTNAME conform to
3993 XLFD, if it specifies other fields than family and registry,
52283633 3994 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3995 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3996 a signle byte character. Don't set FAMILY part to nil here.
3997 It is handled by the caller choose_face_font.
c09a6440
KH
3998 (Fnew_fontset): Call font_family_registry with FORCE 0.
3999 (Fset_fontset_font): Likewise.
4000
4dcd74e6
GM
40012001-01-27 Gerd Moellmann <gerd@gnu.org>
4002
4003 * xdisp.c (display_line): Don't treat a newline as fitting
4004 on the line.
4005
d2906bf8
GM
40062001-01-26 Gerd Moellmann <gerd@gnu.org>
4007
0130fe1a
GM
4008 * window.c (size_window): Set the window's orig_top to nil when
4009 changing heights, so that a future shrink_mini_window won't
4010 restore a bogus height.
4011
550f0e6a
GM
4012 * frame.c (do_switch_frame): If selected frame has a mini-window,
4013 resize that to exact size.
4014
b7b20fbd
GM
4015 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4016
a47b7816
GM
4017 * xdisp.c (display_line): Simplify check for glyphs fitting
4018 entirely in the line.
4019
d2906bf8
GM
4020 * xfns.c (xic_style): New variable.
4021 (create_frame_xic): Move static variable to global scope for
550f0e6a 4022 the case that `static' gets defined away.
d2906bf8 4023
73df2b1e
KH
40242001-01-26 Kenichi Handa <handa@etl.go.jp>
4025
4026 * coding.c (decode_coding): Set a flag for inhibiting
4027 inconsistent eol.
4028 (code_convert_region): Always set saved_coding_symbol.
4029 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4030 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4031
6613cfc4
GM
40322001-01-25 Gerd Moellmann <gerd@gnu.org>
4033
c5e6e06b
GM
4034 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4035 XClearArea.
4036
4037 * xterm.c (x_after_update_window_line): Don't clear if frame's
4038 internal border width is zero.
4039 (x_clear_area): New function.
4040 (x_after_update_window_line, x_clear_end_of_line)
4041 (x_scroll_bar_create, x_scroll_bar_set_handle)
4042 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4043 instead of XClearArea.
4044
4045 * xterm.h (x_clear_area): Add prototype.
4046
6613cfc4
GM
4047 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4048 which doesn't seem necessary anymore with Lesstif 0.92.
4049
650cc6cc
DL
40502001-01-25 Dave Love <fx@gnu.org>
4051
34ac3367
DL
4052 * puresize.h (BASE_PURESIZE): Up to 720000.
4053
650cc6cc
DL
4054 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4055
5e37dc22
GM
40562001-01-25 Gerd Moellmann <gerd@gnu.org>
4057
e1e441f9
GM
4058 * xdisp.c (echo_area_display): Don't call redisplay_internal
4059 when Emacs is shutting down. We can't run hooks etc. that
4060 would be necessary to do a redisplay.
4061
5e37dc22
GM
4062 * lread.c (read_integer): Use type EMACS_INT instead of int.
4063
0fb94c7f
EZ
40642001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4065
4066 * ccl.c (ccl_driver): Fix last change.
4067
e3778624
KH
40682001-01-25 Kenichi Handa <handa@etl.go.jp>
4069
4070 * ccl.h (sturct ccl_program): New member suppress_error.
4071
bb264518 4072 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4073 insert error message to the output.
4074 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4075
4076 * coding.h (struct coding_system): New member suppress_error.
4077
4078 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4079 (Fset_terminal_coding_system_internal): Set the member
4080 suppress_error to 1.
4081 (Fset_safe_terminal_coding_system_internal): Likewise.
4082
245ed2b1
SM
40832001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4084
4085 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4086 as if it was a `charset'.
4087
f9aaedb6
GM
40882001-01-24 Gerd Moellmann <gerd@gnu.org>
4089
4090 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4091 value in where_is_cache; the next lookup in the cache returns
4092 something bogus if we do.
4093
c3902c3e
EZ
40942001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4095
4096 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4097 if HAVE_WINDOW_SYSTEM isn't defined.
4098
3497f73e
GM
40992001-01-24 Gerd Moellmann <gerd@gnu.org>
4100
e7e41584
GM
4101 * fns.c (sweep_weak_table): Fix code taking items out of
4102 the hash collision chain. Some cleanup.
4103
3497f73e
GM
4104 * xterm.c (x_new_font): Don't change a tooltip's size.
4105
4106 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4107 background color by specifying a color for the default font
4108 in .Xdefaults.
4109
3d48e687
KH
41102001-01-24 Kenichi Handa <handa@etl.go.jp>
4111
96531b20
KH
4112 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4113 a workaround for SunOS 4's cc.
4114 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4115 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4116 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4117 statement.
3d48e687 4118
a30629d2
GM
41192001-01-23 Gerd Moellmann <gerd@gnu.org>
4120
4121 * xterm.c (x_set_window_size_1): New function extracted from
4122 x_set_window_size.
4123 (x_set_window_size): Use it.
4124 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4125 doesn't have a widget, like tooltips.
4126
5a43decf
EZ
41272001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4128
52283633 4129 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4130
b0e98867
KH
41312001-01-23 Kenichi Handa <handa@etl.go.jp>
4132
4133 * fns.c (Fset_char_table_default): Fix to make sub char-table
4134 correctly.
4135
50606b4c
GM
41362001-01-22 Gerd Moellmann <gerd@gnu.org>
4137
cb2ddc53 4138 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4139 a desired tool bar string, even if there are no tool bar items.
4140
57c28064
GM
4141 * xdisp.c (Ftool_bar_lines_needed): New function.
4142 (syms_of_xdisp): Defsubr it.
4143
50606b4c
GM
4144 * editfns.c (Fformat): Don't extend text properties from arguments
4145 to padding chars in the result.
4146
2f169c38
EZ
41472001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4148
4149 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4150
0f32f023
AI
41512001-01-20 Andrew Innes <andrewi@gnu.org>
4152
52283633 4153 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4154 (w32_initialize): Don't set term hooks that aren't actually needed
4155 in windowed mode.
4156
4157 * xfaces.c (realize_default_face):
4158 (realize_face):
4159 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4160
4161 * xdisp.c (handle_single_display_prop): Remove references to
4162 FRAME_W32_CONSOLE_P.
4163
52283633 4164 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4165
4166 * frame.h (output_method): Remove output_w32_console method.
4167 (FRAME_W32_CONSOLE_P): Remove macro.
4168
4169 * frame.c (Qw32_console): Remove variable.
4170 (Fframep): Remove references to it.
4171 (syms_of_frame): Ditto.
4172 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4173
4174 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4175 redefinition.
4176
7173eada
KH
41772001-01-20 Kenichi Handa <handa@etl.go.jp>
4178
4179 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4180
755b45ce
AI
41812001-01-19 Andrew Innes <andrewi@gnu.org>
4182
4183 * w32.c (init_environment): Add a version-independent site-lisp
4184 directory to EMACSLOADPATH, after the version dependent one.
4185
0a949811
GM
41862001-01-19 Gerd Moellmann <gerd@gnu.org>
4187
8501998a
GM
4188 * editfns.c (Fbuffer_substring): Doc fix.
4189
52283633
SM
4190 * xdisp.c (message_dolog, message2, message2_nolog):
4191 Rename parameter LEN to NBYTES.
0a949811 4192
e6ebcbbe
KH
41932001-01-19 Kenichi Handa <handa@etl.go.jp>
4194
200ecca2
KH
4195 * charset.c (strwidth): Use c_string_width.
4196 (c_string_width): New function.
4197 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4198 Caller changed.
4199
4200 * charset.h (c_string_width, lisp_string_width): Extern them.
4201
52283633 4202 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4203
e6ebcbbe
KH
4204 * indent.c (check_composition): Check validity of composition.
4205
200ecca2
KH
4206 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4207 characters by calling c_string_width.
4208 (x_consider_frame_title): Get byte length of frame tile string
4209 correctly.
4210 (display_mode_element): Pay attention to width of non-ASCII
4211 characters by calling strwidth.
4212
8692ca92
GM
42132001-01-18 Gerd Moellmann <gerd@gnu.org>
4214
8962e303
GM
4215 * xfns.c (Qcancel_timer): New variable.
4216 (syms_of_xfns): Initialize and staticpro it.
4217 (Fx_hide_tip, Fx_show_tip): Use it.
4218 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4219 the timer.
4220 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4221
91523be9
GM
4222 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4223
4224 * window.h (WINDOW_LIVE_P): New macro.
4225
b0b7ed0e
GM
4226 * window.c (window_size_fixed): New variable.
4227 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4228 the doc string.
4229
06bccf8e
GM
4230 * eval.c (specbind): If binding a per-buffer variable which
4231 doesn't have a buffer-local value in the current buffer, change
4232 the global value by changing the value of the symbol bound in all
4233 buffers not having their own value, to make it consistent with
4234 what happens with other buffer-local variables.
4235
8692ca92
GM
4236 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4237
4238 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4239 when searching for a newline.
4240
bb3a3b50
KH
42412001-01-18 Kenichi Handa <handa@etl.go.jp>
4242
4243 * xdisp.c (display_string): Fix previous change.
4244
c2cc16fa
JR
42452001-01-18 Jason Rumney <jasonr@gnu.org>
4246
4247 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4248 GLYPH_DEBUG is defined.
4249 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4250 true for images with `:ascent 100'.
4251 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4252 meantime, use face MOUSE_FACE_ID.
4253 If first glyph isn't a character glyph, use the ASCII NUL
4254 character to determine the face.
4255 (expose_area): Do not treat left margin specially.
4256 (note_mode_line_highlight): If no local_map, check global keymap.
4257 (note_mouse_highlight): Initialize overlay.
52283633 4258 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4259 (show_scroll_bars): Remove unused function.
4260 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4261 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4262 Clip to row.
52283633 4263 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4264 (x_free_frame_resources): Unload relief colors.
4265
9c11f79e
GM
42662001-01-17 Gerd Moellmann <gerd@gnu.org>
4267
3aec8722 4268 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4269 get_next_display_element when the newline is already found.
4270 This may change the iterator's position, when its current position is
3aec8722
GM
4271 equal to the iterator's stop_charpos.
4272
f3ffc2c3
GM
4273 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4274 zero, use this method only at the end of a line.
4275
52283633 4276 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4277 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4278 if SCALABLE_FONTS_P is set.
52283633 4279
d26d6fd9
GM
4280 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4281 so that scalable fonts are included.
4282
9c11f79e
GM
4283 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4284 In the cache, use a key containing the information if scalable
4285 fonts are included.
4286 (x_load_font): Adapt to change of keys in the font cache.
4287
42882001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4289
d26d6fd9
GM
4290 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4291 XListFonts to take advantage of font caching.
4292
9c11f79e
GM
4293 * xterm.c (x_list_fonts): Ensure caching font information when
4294 called for a null frame, which is the case frequently when Emacs
4295 starts.
4296
51446987
GM
42972001-01-17 Gerd Moellmann <gerd@gnu.org>
4298
f864120f
GM
4299 * xfns.c (QCconversion): Replaces QCalgorithm.
4300
4301 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4302
4303 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4304 of :algorithm.
52283633 4305
e37d1417
GM
4306 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4307 not everything could be displayed.
4308
51446987
GM
4309 * line.h, x-list-font.c: Files removed because unused.
4310
9ad4f3e5
AI
43112001-01-17 Andrew Innes <andrewi@gnu.org>
4312
4313 * dired.c (directory_files_internal): Convert result from readdir
4314 to a unibyte string initially, to avoid possible misinterpretation
4315 of some bytes as the internal form of Emacs characters.
4316
2eda09b5
KH
43172001-01-17 Kenichi Handa <handa@etl.go.jp>
4318
4319 * fns.c (concat): Be sure to avoid putting the same `composition'
4320 property on the adjacent regions.
4321
826f3788
GM
43222001-01-16 Gerd Moellmann <gerd@gnu.org>
4323
52283633 4324 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4325 (Fscroll_right, Fscroll_left): Set it here instead, if called
4326 interactively.
4327
d57b83b3
GM
4328 * buffer.c (Fset_buffer_modified_p): Set buffer's
4329 prevent_redisplay_optimizations_p flag.
4330
826f3788 4331 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4332 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4333 with additional arg.
4334
4335 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4336 Change prototype.
826f3788 4337
826f3788
GM
4338 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4339 FROM_WHERE, for debugging.
4340
261d788b
KH
43412001-01-16 Kenichi Handa <handa@etl.go.jp>
4342
4343 * ccl.c (Fregister_ccl_program): Handle the return value of
4344 resolve_symbol_ccl_program correctly.
52283633 4345 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4346
bccee4f2
GM
43472001-01-15 Gerd Moellmann <gerd@gnu.org>
4348
e4ded23c
GM
4349 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4350 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4351
4352 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4353 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4354 the display; we didn't open it.
4355
bccee4f2
GM
4356 * dispnew.c (save_or_restore_current_matrices): Function removed.
4357 (save_current_matrix, restore_current_matrix): New functions.
4358 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4359 restore the frame's current matrix. Due to the glyph pointer
4360 setup done in adjust_glyph_matrix, there is no easy way to make
4361 saving the current matrix in the desired matrix generally correct,
4362 so don't try it.
4363
ebeccffa
KH
43642001-01-15 Kenichi Handa <handa@etl.go.jp>
4365
4366 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4367 truncation glyphs.
4368 (display_line): Optimize for wide characters.
e4ded23c 4369 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4370 partially. On ttys, produce more than one truncation glyph for
4371 multi-column characters that don't fit on the line.
4372
64388126
KH
43732001-01-13 Kenichi Handa <handa@etl.go.jp>
4374
52283633
SM
4375 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4376 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4377
8edb0a6f
JR
43782001-01-13 Jason Rumney <jasonr@gnu.org>
4379
4380 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4381 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4382 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4383 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4384
52283633
SM
4385 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4386 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4387 (x_draw_image_glyph_string): Adapt to change of image margins.
4388
4389 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4390 variables.
4391
4392 * w32bdf.c (search_file_line, get_cached_font_char)
4393 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4394
4395 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4396
4397 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4398 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4399 (Fw32_send_sys_command): Remove unused variables.
4400 (w32_msg_pump): Add parentheses.
4401
4402 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4403 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4404 Add parentheses.
4405
4956d1ef
GM
44062001-01-12 Gerd Moellmann <gerd@gnu.org>
4407
b30623be
GM
4408 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4409 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4410 being a pair of margins.
4411 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4412 to DEFVAR_LISP. Extend doc.
4413
4414 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4415 margins.
4416 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4417 pair of integers `(X . Y)', use X for the horizontal and Y for the
4418 vertical margin.
4419 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4420 (parse_image_spec): Check it.
52283633
SM
4421 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4422 (tiff_format, gif_format, gs_format):
4423 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4424
52283633
SM
4425 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4426 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4427 (x_draw_image_glyph_string): Adapt to the change of image margins.
4428
4429 * dispextern.h (struct image): Replace member `margin' with
4430 `hmargin' and `vmargin'.
4431
4554cc79
GM
4432 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4433 and GLYPHS.
4434
4435 * dispnew.c (update_text_area): Put code which decrements the
4436 stop position when the row's face extends to the end of the
3bffc665 4437 line in #if 0.
4554cc79 4438
3cccce8d
GM
4439 * xfns.c (x_set_mouse_color): Fix color allocation.
4440
4956d1ef
GM
4441 * keyboard.c: Call get_local_map with new argument list.
4442
4443 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4444
4445 * intervals.h (enum map_property): Removed.
4446 (get_local_map): Change prototype.
4447
4448 * keymap.c: Call get_local_map with new argument list.
4449 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4450
2c2ff7f2
GM
44512001-01-11 Gerd Moellmann <gerd@gnu.org>
4452
a23887b9
GM
4453 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4454 of the size needed for the tool bar string. For the last image,
4455 use a `display' property that reaches to the end of the string.
4456
a7ee2d2e
GM
4457 * xselect.c (selection_request_dpyinfo): New variable.
4458 (x_handle_selection_request): Set it.
4459 (x_selection_request_lisp_error): Don't call
4460 x_decline_selection_request if selection request's display has
4461 been closed.
4462
52283633
SM
4463 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4464 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4465
457b792c
GM
44662001-01-10 Dave Love <fx@gnu.org>
4467
4468 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4469 ${SOME_MACHINE_LISP}, not ${lisp}.
4470
c1efd260
GM
44712001-01-10 Gerd Moellmann <gerd@gnu.org>
4472
52283633
SM
4473 * xdisp.c (display_line): On ttys, produce more than one truncation
4474 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4475
ac95a621
GM
4476 * xselect.c (x_reply_selection_request): Add a comment.
4477
c1efd260
GM
4478 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4479 XkbGetNames instead of XkbGetKeyboard.
4480
1bfb1345
DL
44812001-01-10 Dave Love <fx@gnu.org>
4482
4483 * sysdep.c (random): Revert the declaration.
4484
38119822
GM
44852001-01-09 Gerd Moellmann <gerd@gnu.org>
4486
52283633
SM
4487 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4488 Call function string_bytes.
35f464a7
GM
4489 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4490
4491 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4492 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4493 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4494 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4495 the current sblock.
4496 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4497 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4498 after sweeping strings, and at the end.
4499 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4500
38119822
GM
4501 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4502 ensure that pop_message is called.
4503
4504 * keyboard.c (Fexecute_extended_command): Use a
4505 record_unwind_protect to ensure that pop_message is called.
4506
4507 * lisp.h (push_message_unwind): Add prototype.
4508
4509 * xdisp.c (push_message_unwind): New function.
4510
4511 * fileio.c (do_auto_save_unwind): Do the pop_message here
4512 instead of in Fdo_auto_save.
4513 (Fdo_auto_save): Don't call pop_message.
4514
f47a9ec4
KR
45152001-01-08 Ken Raeburn <raeburn@gnu.org>
4516
4517 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4518 in inner block.
4519
a758f97d
GM
45202001-01-08 Gerd Moellmann <gerd@gnu.org>
4521
6d0afc03
GM
4522 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4523 when increasing window's vscroll.
4524
a758f97d
GM
4525 * macros.c (Qkbd_macro_termination_hook): New variable.
4526 (syms_of_macros): Initialize and staticpro it.
4527 (pop_kbd_macro): Run kbd-macro-termination-hook.
4528
4529 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4530
1bfb1345 45312001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4532
4533 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4534 arglist, for documentation's sake.
4535
0dac6924
AI
45362001-01-06 Andrew Innes <andrewi@gnu.org>
4537
4538 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4539 of *.pdb.
4540
8182406a
AI
45412001-01-05 Andrew Innes <andrewi@gnu.org>
4542
4543 * term.c (update_end): Don't check updating_frame; for some reason
4544 this can be 0 sometimes, such as after dismissing a popup menu,
4545 and isn't necessary given the explicit frame argument.
4546
3828218c
GM
45472001-01-05 Gerd Moellmann <gerd@gnu.org>
4548
4549 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4550 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4551
2f5ded21
GM
45522001-01-04 Gerd Moellmann <gerd@gnu.org>
4553
52283633 4554 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4555
4556 * xfns.c (x_create_tip_frame): Preserve the value of
4557 face_change_count around the creation of the tip frame.
52283633 4558
2f5ded21
GM
4559 * xfns.c (last_show_tip_args): New variable.
4560 (compute_tip_xy): New function.
4561 (Fx_show_tip): Reuse an existing tip frame, if possible.
4562 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4563
dfad65fa
DL
45642001-01-04 Dave Love <fx@gnu.org>
4565
64d4ec0f
DL
4566 * editfns.c (Fformat): Doc fix.
4567
dfad65fa
DL
4568 * systime.h (set_file_times): Prototype.
4569
4570 * widget.h (EmacsFrameSetCharSize_): Prototype.
4571
4572 * sysdep.c (random, srandom): Declare explicitly.
4573
4574 * dispextern.h (move_it_vertically_backward): Declare.
4575
85fe3b5e
GM
45762001-01-04 Gerd Moellmann <gerd@gnu.org>
4577
0f2ac578
GM
4578 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4579 like in Fx_create_frame.
4580
482cca61
GM
4581 * xfaces.c (set_font_frame_param): Don't do anything for
4582 non-graphical frames.
4583
85fe3b5e
GM
4584 * window.c (Fdelete_other_windows): Set window's window_end_valid
4585 to nil when changing the window's start. Don't change the
4586 window's start when its top position hasn't changed. If we do,
4587 this will set the window's optional_new_start, which act's like a
4588 force_start during redisplay with C-x 1 M-> under particular
4589 circumstances (see report from Per Starback to emacs-pretest-bug
4590 from 2000-12-13.).
4591
3e99d3b4
GM
45922001-01-03 Gerd Moellmann <gerd@gnu.org>
4593
a77dc1ec
GM
4594 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4595 short cut at the start of the function. Add an assertion.
4596 (reseat_at_next_visible_line_start): Add an assertion.
4597
2f3cad6c
GM
4598 * window.c (Frecenter): When changing the window start, set the
4599 window's window_end_valid to nil.
4600 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4601
4602 * dispextern.h (move_it_past_eol): Add prototype.
4603
4604 * xdisp.c (move_it_past_eol): New function.
4605
3e99d3b4
GM
4606 * window.c (Fwindow_end): Doc fix.
4607
46082001-01-03 Dave Love <fx@gnu.org>
4609
52283633 4610 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4611
bafb434c
GM
46122001-01-03 Gerd Moellmann <gerd@gnu.org>
4613
4614 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4615 the enabled_p flag of the glyph row at window_end_vpos to 0.
4616 (handle_single_display_prop): Fix last change.
4617
5297fb00
RS
46182001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4619
4620 * window.c (Frecenter): Doc fix.
4621
13d6a61c
AI
46222001-01-02 Andrew Innes <andrewi@gnu.org>
4623
4624 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4625
4626 * frame.h (output_method): Add output_w32_console method.
4627 (FRAME_W32_CONSOLE_P): New macro.
4628
4629 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4630 use output_w32_console method.
4631 (Qw32_console): New Lisp_Object.
4632 (Fframep): Return it.
4633 (syms_of_frame): Init it.
52283633 4634 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4635
4636 * xfaces.c (realize_default_face): Set face foreground and
4637 background to unspecified for w32_console frames.
4638 (realize_face): Realize face cache for w32_console frames.
4639 (realize_tty_face): Accept w32_console frames.
4640
52283633 4641 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4642 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4643 necessary, even if running interactively.
4644
4645 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4646 w32_console frames.
4647
52283633
SM
4648 * w32term.c (x_update_begin):
4649 (x_update_end):
4650 (x_clear_frame):
4651 (x_ins_del_lines):
4652 (x_change_line_highlight):
4653 (x_delete_glyphs):
4654 (w32_ring_bell):
4655 (x_update_begin):
4656 (x_update_end):
4657 (w32_reassert_line_highlight):
4658 (w32_frame_rehighlight):
13d6a61c
AI
4659 (w32_frame_raise_lower): Do nothing if not w32 frame.
4660
4661 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4662
4663 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4664 system doesn't tell us directly.
4665 (Fx_display_visual_class): Implement properly.
4666
d6bb0c0d
GM
46672001-01-02 Gerd Moellmann <gerd@gnu.org>
4668
4669 * window.c (Frecenter): Handle centering in graphical frames
4670 specially. Centering on the basis of line counts doesn't work
4671 reliably with variable-height lines.
52283633 4672
315f5865
EZ
46732001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4674
4675 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4676 and al[].
4677
52283633 4678 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
4679 (update_compositions): Remove unused variable `hook'.
4680
4681 * intervals.c (get_local_map): Remove unused variable `tem'.
4682
4683 * doprnt.c (doprnt1): Remove unused variable `size'.
4684
4685 * fns.c (Flength): Remove unused variable `tail'.
4686 (Fdelete): Remove unused variable `size'.
4687
4688 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
4689 and `gcpro2'.
4690
52283633 4691 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
4692
4693 * data.c (find_symbol_value): Remove extra 3rd argument in the
4694 call to swap_in_symval_forwarding.
4695
52283633 4696 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
4697
4698 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
4699 (trivial_regexp_p): Remove unused variable `c'.
4700 (boyer_moore): Remove unused variable `k'.
4701
4702 * indent.c (current_column): Remove unused variable `stopchar'.
4703 (Fcompute_motion): Remove unused variable `contin'.
4704
4705 * casefiddle.c (casify_object): Remove unused variable `tolen'.
4706
4707 * dired.c (directory_files_internal): Fix a typo in a comment.
4708 Remove an unused variable `handler'.
52283633 4709 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
4710 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
4711 on BSD4_2.
4712
52283633 4713 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
4714
4715 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
4716 and `buf'.
4717 (Fmarker_insertion_type): Remove unused variable `buf'.
4718
4719 * insdel.c (make_gap): Remove unused variable `result'.
4720
52283633 4721 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
4722 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
4723 (menu_bar_items): Remove unused function-scope variable `tem'.
4724
4725 * fontset.c (fontset_ref): Remove unused variable `i'.
4726 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 4727 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
4728 (make_fontset_for_ascii_face): Remove unused variable `name'.
4729 (fs_load_font): Remove unused variable `font_idx'.
52283633 4730 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
4731 (list_fontsets): Remove unused variable `tail'.
4732 (Fnew_fontset): Remove unused variables `family' and `registry'.
4733 (accumulate_font_info): Remove unused variable `tmp'.
4734 (Ffontset_font): Remove unused variable `id'.
4735 (syms_of_fontset): Remove unused variable `i'.
4736
4737 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4738 to x_term_init.
4739 (lookup_image): Remove unused variable `file'.
4740 (xbm_load): Remove unused variables `bitmap_data', `height', and
4741 `width'. Remove function-local variable `i', leave the
4742 block-local one.
4743 (gif_load): Remove unused variable `inc'.
4744
52283633 4745 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4746 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4747 leave only the one in the inner block.
4748
4749 * xfaces.c (face_fontset, realize_default_face): Remove unused
4750 variable `fontset'.
4751 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4752
4753 * term.c (encode_terminal_code): Remove unused variable `c'.
4754
4755 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4756 char *' instead of `char *'.
4757
4758 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 4759 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
4760 (Fchar_category_set): Remove unused variables `val', `charset',
4761 `c1' and `c2'.
4762
52283633
SM
4763 * coding.c (detect_coding_iso2022, setup_coding_system):
4764 Remove unused variable `i'.
315f5865
EZ
4765 (detect_coding_mask): Remove unused variable `idx'.
4766 (detect_coding): Remove unused variable `i'.
4767 (ccl_coding_driver): Remove unused variable `result'.
4768 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 4769 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
4770 (encode_coding_string): Remove unused variables `gcpro1' and
4771 `saved_coding_symbol'.
4772 (Ffind_coding_systems_region_internal): Remove function-local
4773 variable args[], leave only the block-local one.
4774 (code_convert_region1): Remove unused variable `len'.
4775
4776 * charset.c (char_printable_p): Remove unused variable `chars'.
4777 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4778 (str_to_multibyte): Remove unused variable `c'.
4779
4780 * window.c (size_window): Remove block-local variable `min_size'.
4781
4782 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4783 `header_line_height'.
4784 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4785 enum display_element_type.
4786
1a8a9daf
GM
47872001-01-02 Gerd Moellmann <gerd@gnu.org>
4788
6dde6abc 4789 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4790 statements that call X. Save away the error message in a local copy.
4791
1883b2c6
GM
4792 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4793 the start.
4794
a13be207
GM
4795 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4796 in or at the start of invisible text.
4797
1a8a9daf
GM
4798 * dispnew.c (update_window): Don't check_current_matrix_flags.
4799
3608c0f9
JR
48002001-01-01 Jason Rumney <jasonr@gnu.org>
4801
4802 * w32fns.c (x_figure_window_size): Do not allow new_height and
4803 new_width of frame to override specified values.
4804
abb1acc4
KH
48052000-12-30 Kenichi Handa <handa@etl.go.jp>
4806
52283633 4807 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4808
762a68ec
GM
48092000-12-29 Gerd Moellmann <gerd@gnu.org>
4810
52283633 4811 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4812 (update_window) [GLYPH_DEBUG]: Call it.
4813 (scrolling_window): Prevent including current rows which are below
4814 what's displayed in the window.
4815
4816 * xdisp.c (try_window_reusing_current_matrix)
4817 <new start <= old start>: Disable rows in the current matrix
4818 which are below the window after scrolling.
52283633 4819
762a68ec
GM
4820 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4821 is zero. It's not worth the complexity.
4822 (invisible_text_between_p): Put in #if 0 because unused.
4823
2d5912c1
GM
48242000-12-28 Gerd Moellmann <gerd@gnu.org>
4825
46f6a258
GM
4826 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4827 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4828
89f93679
GM
4829 * keyboard.c (echo_char): If C is an integer, always call
4830 push_key_description. Former code could signal an invalid
4831 character error.
4832
4833 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4834 If set, print multibyte text.
4835 (Fsingle_key_description): Call push_key_description with
4836 FORCE_MULTIBYTE set.
4837 (describe_buffer_bindings): Likewise.
4838
4839 * lisp.h (push_key_description): Add prototype.
4840
c06017fb
GM
4841 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4842 around the call to redisplay_internal.
4843
f1d2ce7f
GM
4844 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4845
2d5912c1
GM
4846 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4847
9371f831
KH
48482000-12-28 Kenichi Handa <handa@etl.go.jp>
4849
4850 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4851 (ccl_driver): New local variable `extra_bytes'.
4852
4853 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4854
52283633
SM
4855 * coding.c (setup_coding_system):
4856 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
4857 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4858
0c80628a
KH
48592000-12-28 Kenichi Handa <handa@etl.go.jp>
4860
4861 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4862 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4863 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
4864 (decode_composition_emacs_mule): New function.
4865 (decode_coding_emacs_mule): Decode composition sequence by calling
4866 decode_composition_emacs_mule.
4867 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
4868 (encode_coding_emacs_mule): Changed from macro to function.
4869 If a text contains compositions, encode them correctly.
0c80628a
KH
4870 (setup_coding_system): Set coding->commong_flags for emacs-mule so
4871 that decoding and encoding are required.
4872
3e32cc27
GM
48732000-12-27 Gerd Moellmann <gerd@gnu.org>
4874
5e25feee
GM
4875 * xfaces.c (PT_PER_INCH): New macro.
4876 (xlfd_point_size): Compute real point size from font's pixel size.
4877 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
4878 instead of 72.
4879
892d8fcd
GM
4880 * .gdbinit: Comment out the line pointing to the Lesstif source
4881 directory.
4882
12c8b416
GM
4883 * window.c (Frecenter): Use displayed_window_lines instead
4884 of window_internal_height.
4885
6061fbf0
GM
4886 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4887 instead of x-toolkit-scroll-bars-p.
4888 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
4889
4890 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4891 instead of x-toolkit-scroll-bars-p.
4892 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 4893
3e32cc27
GM
4894 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
4895 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
4896 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
4897 New variables.
4898 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
4899 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
4900 (build_frame_matrix_from_leaf_window): Remove unused code.
4901 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
4902 redisplay history.
4903 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
4904 (update_window) [GLYPH_DEBUG]: Likewise.
4905 (syms_of_display): Defsubr dump-redisplay-history.
4906
31798cfe
GM
49072000-12-23 Gerd Moellmann <gerd@gnu.org>
4908
f717c2ba
GM
4909 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4910 the end of the prompt. Set echo_after_prompt to the offset
4911 of echoptr in echobuf.
4912
aeb2b8fc
GM
4913 * xdisp.c (init_from_display_pos): Pop until the iterator's
4914 stack is empty; there may be frames for stretch or images
4915 on the stack.
4916
31798cfe
GM
4917 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4918 (save_or_restore_current_matrix): New function for the same
4919 purpose, but more efficient.
4920 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4921
f8156156
EZ
49222000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4923
4924 * xdisp.c (syms_of_xdisp): Fix last change.
4925
bdd6d4e8
GM
49262000-12-23 Gerd Moellmann <gerd@gnu.org>
4927
4928 * xdisp.c (syms_of_xdisp): Doc fix.
4929
4930 * xdisp.c (redisplay_window): Remove label restore_buffers;
4931 use finish_scroll_bars instead to make sure that scroll bars
4932 are redeemed. If we don't do this, flickering can result from
4933 scroll bars being destroyed and recreated.
4934
9436cdf9
JR
49352000-12-22 Jason Rumney <jasonr@gnu.org>
4936
4937 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4938 in the wrong colors when the foreground is not black.
4939 (expose_window): Don't redraw the window that's currently being
4940 updated.
4941
951f9df5
GM
49422000-12-22 Gerd Moellmann <gerd@gnu.org>
4943
856ff7a7
GM
4944 * window.c (size_window): When setting the window's too_small_ok
4945 flag, compare old size with minimum size depending on WIDTH_P,
4946 don't compare with window_min_width.
52283633 4947
951f9df5
GM
4948 * window.c (delete_window): Simplify somewhat.
4949 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4950 freeing window matrices. The flag windows_or_buffers_changed is
4951 set, so the next redisplay will consider all windows; this should
4952 suffice.
4953
886bc933
KH
49542000-12-22 Kenichi Handa <handa@etl.go.jp>
4955
4956 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4957
4958 * ccl.h (struct ccl_program): New member cr_consumed.
4959
4960 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4961 (CCL_READ_CHAR): Handle EOL conversion here.
4962 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4963
177f4e88
GM
49642000-12-21 Gerd Moellmann <gerd@gnu.org>
4965
52283633 4966 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4967
4968 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4969 otherwise tabs of different size compare equal.
4970
4971 * callint.c (Fcall_interactively): Prevent a compiler warning.
4972
4973 * print.c (print_unwind): Return nil.
4974 (PRINTDECLARE): Initialize all local variables.
4975 (print_preprocess): Add a default case.
4976
8e15274f
GM
4977 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4978
4979 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4980
52283633 4981 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4982 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4983
4984 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4985
4986 * dispnew.c (ensure_frame_matrix): Removed.
4987 (save_frame_matrix, restore_frame_matrix): New functions.
4988 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4989
4990 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4991 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4992
99012074
AI
49932000-12-21 Andrew Innes <andrewi@gnu.org>
4994
4995 * w32term.c (x_update_begin): Regenerate the palette here, rather
4996 than for each window.
4997
4998 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4999 palette is NULL, since this corrupts memory! Also get
5000 display_info reference from frame.
5001
29ef7d2d
JR
50022000-12-21 Jason Rumney <jasonr@gnu.org>
5003
5004 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5005
5006 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5007 to avoid returning without releasing it.
3e27fa1f 5008
3f9d67a6
KH
50092000-12-21 Kenichi Handa <handa@etl.go.jp>
5010
587fc3f9
KH
5011 * keymap.c (push_key_description): Don't convert eight-bit-control
5012 and eight-bit-graphic to multibyte character.
5013
3f9d67a6
KH
5014 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5015 generic character and CODE1 is nil, return the smallest character
5016 in CHARSET.
5017
774ba8c9
DL
50182000-12-20 Dave Love <fx@gnu.org>
5019
5020 * s/osf5-0.h (NSIG): Don't redefine.
5021
88416888
SM
50222000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5023
5024 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5025 excluding menu-bar and tool-bar.
5026 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5027 (menu_item_p): Remove.
5028 (where_is_internal_1): Don't ignore menu-items.
5029
a6426c6f
GM
50302000-12-20 Gerd Moellmann <gerd@gnu.org>
5031
03ff8aab
GM
5032 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5033 into account.
5034
5035 * window.c (make_window): Initialize window's min_hscroll.
5036 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5037 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5038 to zero.
5039 (struct saved_window): New member min_hscroll.
5040 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5041 (Fset_window_configuration): Set window's min_hscroll.
5042 (save_window_save): Save window's min_hscroll.
5043 (compare_window_configurations): Compare min_hscroll values.
5044
5045 * window.h (struct window): New member min_hscroll.
5046
5047 * keyboard.c (echo_prompt): Prevent a compiler warning.
5048
8de4aaf8
GM
5049 * xdisp.c (try_cursor_movement): Fix last change. The real
5050 condition is that PT is at the end of the row, and should
5051 be displayed at the start of the next row.
52283633 5052
3f7e3031
GM
5053 * xdisp.c (try_cursor_movement): If we end on a partially
5054 visible line, end we already decided to scroll, return -1.
5055
a6426c6f
GM
5056 * dispextern.h (ensure_frame_matrix): Add prototype.
5057
5058 * window.c (delete_window, Fsplit_window)
5059 (Fset_window_configuration): Call ensure_frame_matrix.
5060
52283633
SM
5061 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5062 New functions.
a6426c6f
GM
5063 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5064 completed, call fake_current_matrices instead of marking frame
5065 garbaged.
5066
57fa2774
JR
50672000-12-20 Jason Rumney <jasonr@gnu.org>
5068
5069 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5070
d925df90
EZ
50712000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5072
5073 * fns.c (Frequire): Doc fix.
5074
7b93a85b
GM
50752000-12-19 Gerd Moellmann <gerd@gnu.org>
5076
52283633 5077 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5078
c74e645b
GM
5079 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5080 currently displaying a message.
5081
7b93a85b
GM
5082 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5083 xterm.h.
5084 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5085
90d97e64
AI
50862000-12-18 Andrew Innes <andrewi@gnu.org>
5087
5088 * w32.c (w32_strerror): New function.
5089
5090 * w32.h (w32_strerror): New extern.
5091
5092 * w32fns.c (Fw32_shell_execute): Use it.
5093
91c9e6ce
GM
50942000-12-18 Gerd Moellmann <gerd@gnu.org>
5095
5096 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5097
6f4745e2
EZ
50982000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5099
5100 * msdos.c (IT_set_face): Obey inverse_video.
5101
c9e088ce
KH
51022000-12-18 Kenichi Handa <handa@etl.go.jp>
5103
5104 * dired.c (directory_files_internal): Always return decoded filenames.
5105
c3695f5f
GM
51062000-12-18 Gerd Moellmann <gerd@gnu.org>
5107
52d8e4ff
GM
5108 * xterm.c (x_connection_closed): Prevent being called recursively
5109 because of an error condition in XtCloseDisplay.
52283633 5110
62be9979
GM
5111 * xdisp.c (init_iterator): If noninteractive, and the frame's
5112 face cache is null, make one.
5113
52283633 5114 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5115
c3695f5f
GM
5116 * process.c (wait_reading_process_input): Check for pending
5117 input when running timers.
5118
78555fbe
EZ
51192000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5120
52283633 5121 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5122
b2b36264
KH
51232000-12-18 Kenichi Handa <handa@etl.go.jp>
5124
5125 * process.c (read_process_output): Don't run a filter if the code
5126 decoder produces nothing but carryover.
5127
9c543fbf
AI
51282000-12-17 Andrew Innes <andrewi@gnu.org>
5129
5130 * w32.c (sys_rename): Only check errno against EEXIST, and not
5131 EACCES, when determining whether rename failed because the target
5132 exists. This was resulting in indefinite looping on Windows 9x if
5133 the source file was locked by another process.
5134
5135 * w32fns.c (Ffile_system_info): New function.
5136 (syms_of_w32fns): Defsubr it.
5137
10c2b5a8
GM
51382000-12-17 Gerd Moellmann <gerd@gnu.org>
5139
b0228ace
GM
5140 * window.c (coordinates_in_window): Fix computation for
5141 position on vertical line between mode lines.
5142
10c2b5a8
GM
5143 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5144 Don't alter tip_frame or tip_window.
5145 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5146 was deleted.
5147
c844a81a
GM
5148 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5149 Don't alter tip_frame or tip_window.
5150 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5151 was deleted.
5152
6c825f8e
EZ
51532000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5154
5155 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5156 be consistent with the doc string. Reported by NAKAJIMA Mikio
5157 <minakaji@osaka.email.ne.jp>.
5158
af4bb4c8
KH
51592000-12-16 Kenichi Handa <handa@etl.go.jp>
5160
5161 * xfaces.c (Vface_ignored_fonts): New variable.
5162 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5163 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5164
8062e53a
GM
51652000-12-15 Gerd Moellmann <gerd@gnu.org>
5166
e87b8809
GM
5167 * dispnew.c (update_window): Detect pending input every nth line
5168 updated, i.e. do it depending on real work done, and not on the
5169 vpos of the line.
5170
5171 * xterm.c (expose_window): Don't redraw the window that's
5172 currently being updated.
5173
a6768cc5
GM
5174 * window.c (Fset_window_point): Remove test for
5175 cursor_in_non_selected_windows.
5176
4ea7fdca
GM
5177 * lread.c (read1): Recognize end of file after `\\'.
5178
8062e53a
GM
5179 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5180 not unwind_create_frame.
5181
bb7959c1
GM
51822000-12-15 Dave Love <fx@gnu.org>
5183
5184 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5185 bcopy & al.
5186
5187 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5188
ced04c42
KH
51892000-12-15 Kenichi Handa <handa@etl.go.jp>
5190
c5443913
KH
5191 * coding.c (setup_coding_system): Clear all members of the struct
5192 coding_system at first.
bc137305
KH
5193 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5194 argument.
5195 (code_convert_region): Don't override coding->src_multibyte and
5196 coding->dst_multibyte.
c5443913 5197
ced04c42
KH
5198 * fns.c (Fmd5): Docstring improved.
5199
c2d7f289
MB
52002000-12-15 Miles Bader <miles@gnu.org>
5201
5202 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5203 are actually marked as mode-lines; otherwise use
5204 estimate_mode_line_height.
5205
9d7d9263
GM
52062000-12-14 Gerd Moellmann <gerd@gnu.org>
5207
5208 * editfns.c (Fformat): Prevent a buffer overrun when the format
5209 specifies a precision.
5210
7cf0153a
EZ
52112000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5212
5213 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5214 argument is outside the range [2..3].
5215
1de0f662
AI
52162000-12-14 Andrew Innes <andrewi@gnu.org>
5217
5218 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5219 nothing to do. Bind inhibit-quit.
5220 (tip_frame): Make it a Lisp_Object.
5221 (x_create_tip_frame): Set tip_frame after it has been added to
5222 Vframe_list.
5223 (Fx_show_tip): Don't set tip_frame here.
52283633 5224 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5225 (unwind_create_frame, unwind_create_tip_frame): New functions.
5226 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5227 while a frame is only partially constructed.
5228
5229 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5230 (x_free_frame_resources): New function.
5231 (x_destroy_window): Use it.
5232
02387dcc
GM
52332000-12-14 Gerd Moellmann <gerd@gnu.org>
5234
5235 * xfns.c (Fx_backspace_delete_keys_p): New function.
5236 (syms_of_xfns): Defsubr it.
5237
5238 * config.in (HAVE_XKBGETKEYBOARD): Add.
5239
0544ef49
KH
52402000-12-14 Kenichi Handa <handa@etl.go.jp>
5241
98d62747
KH
5242 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5243 Always store string in multibyte representation in echobuf.
5244 (echo_char): Always store string in multibyte representation in
5245 echobuf.
5246 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5247 (read_key_sequence): Adjusted for the change of echo_prompt.
5248
a20193cd
KH
5249 * fns.c (Fmd5): Docstring improved.
5250
191b83b6
KH
5251 * lisp.h (detect_coding_system): Prototype adjusted.
5252
0544ef49
KH
5253 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5254 (detect_coding_emacs_mule, detect_coding_iso2022,)
5255 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5256 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5257 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5258 (detect_coding_mask, detect_coding_system): New argument
5259 MULTIBYTEP. Callers changed.
1da1bb05
KH
5260 (decode_coding_string): Set coding->src_multibyte and
5261 coding->dst_multibyte before calling detect_coding and detect_eol.
5262 Update them after some coding system is detected.
52283633 5263
d5b3eb1b
SM
52642000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5265
5266 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5267
5268 * keyboard.c (menu_bar_items, tool_bar_items):
5269 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5270
f7f8bb69
GM
52712000-12-13 Gerd Moellmann <gerd@gnu.org>
5272
52283633 5273 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5274 New variables.
5275 (unwind_create_frame, unwind_create_tip_frame): New functions.
5276 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5277 while a frame is only partially constructed.
5278
5279 * xterm.h (x_free_frame_resources): Declare.
5280
5281 * xterm.c (x_free_frame_resources): New function.
5282 (x_destroy_window): Use it.
5283
e10da507
GM
5284 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5285 don't interrupt the update for pending input initially, i.e.
5286 update at least some lines.
5287
5288 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5289
d5b3eb1b 5290 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5291
5292 * xfns.c (gray_bitmap_bits): Declare `char *'.
5293
90aa2856
GM
52942000-12-12 Gerd Moellmann <gerd@gnu.org>
5295
5296 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5297 lines start with a relief line.
5298
a308c9cd
DL
52992000-12-12 Dave Love <fx@gnu.org>
5300
5301 * window.c (Fdisplay_buffer): Doc fix.
5302 (Fwindow_list): Remove unused var.
5303
5304 * buffer.h (mmap_set_vars): Declare.
5305
5306 * window.h (Fset_window_point): Declare.
5307
d575011f
EZ
53082000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5309
bf6282d2 5310 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5311 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5312 variable `area'. When looking for a row under (X,Y), give up if some
5313 of the previous rows is not enabled.
d575011f 5314
ecf4d726
GM
53152000-12-12 Gerd Moellmann <gerd@gnu.org>
5316
2ebf6139
GM
5317 * window.c (Fset_window_point): If displaying cursors in windows
5318 other than the selected window, make sure redisplay updates
5319 other windows to show the new value of point in the window.
5320
5321 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5322
bfdb75ee
GM
5323 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5324 the buffer is the sole visible buffer when in the mini-buffer.
5325
52283633 5326 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5327 Bind `inhibit-read-only' to t.
5328 (unwind_with_echo_area_buffer): Use AREF.
5329
c0006262
GM
5330 * xfns.c (Fx_hide_tip): Simplified.
5331
52283633
SM
5332 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5333 instead of `1'.
e9a59cad 5334
ecf4d726
GM
5335 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5336
e5959a9a
GM
53372000-12-11 Gerd Moellmann <gerd@gnu.org>
5338
a3642e49 5339 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5340
44b5a125
GM
5341 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5342 nothing to do. Bind inhibit-quit.
5343 (tip_frame): Make it a Lisp_Object.
5344 (x_create_tip_frame): Set tip_frame after it has been added to
5345 Vframe_list.
5346 (Fx_show_tip): Don't set tip_frame here.
5347
5348 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5349
5350 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5351 Lisp_Object.
5352
5353 * dispextern.h: Change external declaration of tip_frame.
5354
d990421f
GM
5355 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5356 return an empty string.
5357
4db87380
GM
5358 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5359 of the window's update_mode_line flag, since the former is set by
5360 force-mode-line-update, not the latter. This makes
5361 column-number-mode slightly faster.
52283633 5362
e5959a9a
GM
5363 * xdisp.c (try_window_id) <all changes above window start>:
5364 Set the cursor.
5365
169fe44e
GM
53662000-12-11 Paul Eggert <eggert@twinsun.com>
5367
5368 * config.in (HAVE_FTELLO): Remove.
5369 (HAVE_FSEEKO): Add.
5370 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5371 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5372 HAVE_FTELLO.
5373 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5374 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5375
59ec59ae
MB
53762000-12-11 Miles Bader <miles@gnu.org>
5377
5378 * window.c (displayed_window_lines): Don't round up when
5379 converting empty space at bottom to lines.
ff904dd6
MB
5380 Handle non-newline-terminated final lines properly.
5381 (Fwindow_text_height): New function (used to be in lisp).
5382 (syms_of_window): Initialize it.
59ec59ae 5383
42ebfa31
SM
53842000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5385
5386 * syntax.c (scan_lists): Check that the right quote char has the
5387 right Sstring syntax when jumping over strings.
5388 (init_syntax_once): Use Smax rather than 13.
5389
5cdb3cf3
MB
53902000-12-09 Miles Bader <miles@gnu.org>
5391
5392 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5393 with PARTIALLY, inverting the sense.
5394 (window_scroll_pixel_based): Scroll partially visible lines into
5395 place if we hit the beginning or end of the buffer.
a12167c5
MB
5396 (displayed_window_lines): Don't include partially visible lines.
5397 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5398
842b2a94
GM
53992000-12-08 Gerd Moellmann <gerd@gnu.org>
5400
5401 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5402
5403 * tparam.c (tparam1): Change the way buffers are reallocated to be
5404 portable and less obfuscated.
5405
5406 * termcap.c (tgetent): Change the way buffers are reallocated to
5407 be portable and less obfuscated.
5408
5409 * macros.c (store_kbd_macro_char): Change the way buffers are
5410 reallocated to be portable and less obfuscated.
5411
5412 * lread.c (read1): Change the way buffers are reallocated to be
5413 portable and less obfuscated.
5414
5415 * doc.c (Fsubstitute_command_keys): Change the way buffers
5416 are reallocated so that it is portable.
5417
137cad7c
EZ
54182000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5419
5420 * dosfns.c (Ffile_system_info): New function.
5421 (syms_of_dosfns): Defsubr it.
5422
5c7f629c
SM
54232000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5424
5425 * alloc.c (gc_sweep): Add comment.
5426
959e647d
GM
54272000-12-07 Gerd Moellmann <gerd@gnu.org>
5428
52283633
SM
5429 * sound.c (vox_configure): Change order of ioctls.
5430 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5431 Ignore errors when changing volume.
5432 (vox_close): Don't reset the device.
5433
926b7e5e
GM
5434 * process.c (read_process_output): Make sure the process marker's
5435 position is valid when the process buffer is changed in
5436 after-change functions. W3 does that.
52283633 5437
959e647d
GM
5438 * xfns.c (x_free_gcs): New function.
5439
5440 * xterm.h (x_free_gcs): Add prototype.
5441
5442 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5443 freeing GCs here.
5444
5445 * xterm.c (x_destroy_window): Call x_free_gcs so that
5446 resources of non-toolkit X windows will be freed.
5447
478ea067
AI
54482000-12-07 Andrew Innes <andrewi@gnu.org>
5449
5450 * w32fns.c (xlfd_charset_of_font): Fix last change.
5451
fbee3231
DL
54522000-12-06 Dave Love <fx@gnu.org>
5453
67292061
DL
5454 * md5.h (__P): Don't define -- it comes from config.h.
5455
fbee3231
DL
5456 * strftime.c: Change some #if foo to #ifdef foo.
5457
4ee87dbb
AI
54582000-12-06 Andrew Innes <andrewi@gnu.org>
5459
5460 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5461
52283633 5462 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5463 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5464 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5465
9765b4a4
GM
54662000-12-06 Gerd Moellmann <gerd@gnu.org>
5467
d285b373
GM
5468 * alloc.c (gc_sweep): Prevent symbols read during loadup
5469 from being freed.
5470
384333ee
GM
5471 * xdisp.c (underlying_face_id): New function.
5472 (handle_face_prop, face_before_or_after_it_pos): Use it
5473 to determine the face ``under'' a string. Let strings inherit
5474 the face of the buffer under them.
5475
5476 * xfaces.c (face_at_string_position): Update function comment.
52283633 5477
d4b72d58
GM
5478 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5479 matrix if the window's left position has changed; we need to
5480 redraw it in this case.
5481
5482 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5483
e1d05387
GM
5484 * window.c (coordinates_in_window): Check mouse on mode-line or
5485 header-line first.
5486
eb1b0c74
GM
5487 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5488 advertized by the function documentation.
5489
d94d636f
GM
5490 * window.c (syms_of_window): Doc fix.
5491
3887b449
GM
5492 * sound.c (vox_configure): Set volume for left and right channel.
5493 (sound_cleanup): Return nil.
5494
efc8f57a
GM
5495 * xdisp.c (move_it_by_lines): Fix paren typo.
5496
9765b4a4
GM
5497 * xterm.c (x_load_font): Don't use the font's max_bounds for
5498 computing the height of the font. If max_bounds' ascent or
5499 descent are greater than the font's ascent or descent, this means
5500 glyphs overlap, which should be handled now by redisplay.
5501
6529ed87
GM
5502 * window.c (Veven_window_heights): New variable.
5503 (syms_of_window): DEFVAR_LISP it.
5504 (Fdisplay_buffer): Check Veven_window_heights before evening the
5505 window heights.
52283633 5506
0eb2ecde
MB
55072000-12-06 Miles Bader <miles@gnu.org>
5508
5509 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5510 update `default-frame-alist' instead of setting no frame parameters.
5511
03d7a167
KH
55122000-12-06 Kenichi Handa <handa@etl.go.jp>
5513
5514 * composite.c (update_compositions): Fix typo (use the correct
5515 variable).
5516
5f8803c2
JR
55172000-12-05 Jason Rumney <jasonr@gnu.org>
5518
5519 * md5.h: Remove underscores from function declarations.
5520 (__attribute__, __alignof__) [!__GNUC__]: Define.
5521
5522 * md5.c: Delay include of md5.h until after namespace cleaning.
5523
c28a075b
JR
5524 * makefile.w32-in (fns.o): Depend on md5.h
5525 (md5.o): New target.
5526 (sunfns.o): Remove.
5527
5528 * makefile.nt: Likewise.
5529
ff3c7056
JR
55302000-12-05 Jason Rumney <jasonr@altavista.net>
5531
5532 * w32term.c (expose_area): Complete last change.
5533
0c21eeeb
KR
55342000-12-05 Ken Raeburn <raeburn@gnu.org>
5535
5536 * minibuf.c: Include intervals.h.
5537
f201d732
JR
55382000-12-05 Jason Rumney <jasonr@gnu.org>
5539
5540 * w32term.c (x_produce_glyphs): If a font for a component of
5541 a composition is not found, use 1 pixel dot ascent and 0 dot
5542 descent value to avoid displaying terribly tall empty boxes.
5543 (expose_area): Pass x-coordinate relative to the exposed
5544 area to x_draw_glyphs instead of a window-relative coordinate.
5545
21999ab9
GM
55462000-12-05 Gerd Moellmann <gerd@gnu.org>
5547
4d2036e4
GM
5548 * xdisp.c (next_element_from_ellipsis): Save face before selective
5549 display in saved_face_id, and set face_before_selective_p.
5550 (reseat_1): Reset face_before_selective_p.
5551 (append_space, extend_face_to_end_of_line): If iterator's
5552 face_before_selective_p is set, use the face from saved_face_id.
5553 (extend_face_to_end_of_line): For tty frames, make sure to
5554 use the right face id when producing spaces at the end of
5555 the line.
5556
5557 * dispextern.h (struct it): Add face_before_selective_p.
5558
52be17cc
GM
5559 * keyboard.c (record_char): Don't record identical help-echo
5560 events in recent_keys.
5561
8a4f36cc
GM
5562 * xterm.c [USE_X_TOOLKIT]: Close the display.
5563 (xim_close_dpy): Handle case that the display has been closed.
5564
57d6e381
GM
5565 * xterm.c (x_destroy_window): Reset the frame's X window after
5566 destroying it.
5567
21999ab9
GM
5568 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5569 variable window_width.
5570 (line_draw_cost): Fix code skipping over spaces at the end of the
5571 line when must_write_spaces is not set.
5572 (scrolling_window): Fix code inserting runs in list of all runs.
5573
91372bb7
KH
55742000-12-05 Kenichi Handa <handa@etl.go.jp>
5575
5576 * coding.c (setup_coding_system): Be sure to initialize
5577 coding->category_idx.
5578
6c083b4c
GM
55792000-12-04 Gerd Moellmann <gerd@gnu.org>
5580
0c68ce6f 5581 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5582
6452929e
GM
5583 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5584 area to x_draw_glyphs instead of a window-relative coordinate.
5585
d7f31e22
GM
5586 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5587 error in the message.
5588
ae18aa3b
GM
5589 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5590 timer after having read a key. It's not good for code reading
5591 several keys in a loop, like an input method.
5592
caa15ef7
GM
5593 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5594 record undo information for format-decode.
5595
5596 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5597 current buffer is read-only, not if it isn't.
5598
6c083b4c
GM
5599 * keyboard.c (record_char): Record `help-echo' input events
5600 in recent_keys only if they display some help. Don't record
5601 `help-echo' events as macro char.
5602
caa15ef7
GM
56032000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5604
5605 * editfns.c (save_excursion_restore): Don't move point
5606 in another window if it is showing the wrong buffer.
5607 Avoid the call to Fwindow_live_p, for speed.
5608
5a13529b
KH
56092000-12-04 Kenichi Handa <handa@etl.go.jp>
5610
e225faa7
KH
5611 * xfaces.c (struct font_name): New member registry_priority.
5612 (split_font_name): Initialize the above member to zero.
5613 (concat_font_list): New function.
5614 (font_list): Include fonts of all alternative registries.
5615 (FONT_POINT_SIZE_QUANTUM): New macro.
5616 (better_font_p): Ignore point size difference less than
5617 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5618
e89648b4
KH
5619 * xterm.c (x_produce_glyphs): If a font for a component of
5620 a composition is not found, use 1 pixel dot ascent and 0 dot
5621 descent value to avoid displaying terribly tall empty boxes.
5622
5a13529b
KH
5623 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5624
d7935eb6
KR
56252000-12-03 Ken Raeburn <raeburn@gnu.org>
5626
5627 * coding.h (code_convert_string1): Declare.
5628
5629 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5630
52283633 5631 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5632
0dd5e255
JR
56332000-12-02 Jason Rumney <jasonr@gnu.org>
5634
5635 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5636 correctly for single byte character case.
5637 (w32_per_char_metric): Do not try to make any assumptions about
5638 the metrics of BDF fonts.
250cfece 5639 (x_estimate_mode_line_height): If `mode-line' face
52283633 5640 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5641 (note_mouse_highlight): Change the cursor shape on the vertical
5642 border between windows [not enabled].
5643
5644 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5645
5646 * w32fns.c (Fx_create_frame): Reintroduce the call to
5647 face-set-after-frame-defaults.
5648 (Vx_window_horizontal_drag_shape): New variable.
5649 (syms_of_xfns): DEFVAR_LISP it.
5650 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5651 enabled].
0dd5e255 5652
b5d8d2ca
GM
56532000-12-02 Simon Josefsson <simon@josefsson.org>
5654
5655 * fns.c (Fmd5): Use a different logic to decide the coding system
5656 to use.
5657
5658 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5659
fbb87147
EZ
56602000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5661
52283633 5662 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5663
447e9da0
GM
56642000-12-01 Gerd Moellmann <gerd@gnu.org>
5665
7708ced0
GM
5666 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5667 height for YNegative.
5668 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5669 height; also see comment there.
5670
447e9da0
GM
5671 * window.c (coordinates_in_window): Handle computations for
5672 positions on the vertical bar and fringes differently for
5673 window-system frames. Consider some pixels near the vertical bar
5674 as on the bar if the frame doesn't have vertical scroll bars.
5675 Associate positions between mode or header lines with the
5676 right window, the left one.
5677
86d1db20
JR
56782000-12-01 Jason Rumney <jasonr@gnu.org>
5679
5680 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5681
5682 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
5683 invalid frame.
5684
a1d58e5b
GM
56852000-12-01 Gerd Moellmann <gerd@gnu.org>
5686
52283633 5687 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
5688 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
5689 (save_window_save, Fset_window_configuration): Save/restore
5690 window's orig_top and orig_height.
5691
89c609af
JR
56922000-12-01 Jason Rumney <jasonr@gnu.org>
5693
4d177746 5694 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 5695
89c609af
JR
5696 * w32fns.c (x_set_cursor_color): Fix last change.
5697
eccc05db
GM
56982000-11-30 Gerd Moellmann <gerd@gnu.org>
5699
31b6671b
GM
5700 * xdisp.c (echo_area_display): If cursor is in the echo area, make
5701 sure that the next redisplay displays the minibuffer, so that
5702 the cursor will be replaced with what the minibuffer wants.
5703
eccc05db
GM
5704 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
5705 #ifndef instead of using #if.
5706 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
5707 USE_TOOLKIT_SCROLL_BARS is defined.
5708
162de750
JR
57092000-11-30 Jason Rumney <jasonr@gnu.org>
5710
5711 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
5712 x_display_cursor.
5713
693c4692
GM
57142000-11-30 Gerd Moellmann <gerd@gnu.org>
5715
5716 * fns.c (Fmd5): Doc fix.
5717
b5d8d2ca 57182000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
5719
5720 * fns.c (Fmd5): New function.
5721 (syms_of_fns): Defsubr md5.
5722
5723 * Makefile.in (obj): Add md5.o
5724
b02cd40b
GM
57252000-11-30 Gerd Moellmann <gerd@gnu.org>
5726
edfb795e
GM
5727 * md5.h, md5.c: New files, taken from glibc.
5728
df3aedcf
GM
5729 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5730
b02cd40b 5731 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 5732 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 5733
8b5176cd
SM
57342000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5735
5736 * eval.c (Frun_hooks): Allow 0 arguments.
5737
346598f1
GM
57382000-11-29 Gerd Moellmann <gerd@gnu.org>
5739
f9396e03
GM
5740 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5741 is over the menu bar widget, say it's not on the frame.
5742
4a967a9b
GM
5743 * xfns.c (Fx_create_frame): Reintroduce the call to
5744 face-set-after-frame-defaults.
5745
346598f1
GM
5746 * eval.c (Fsignal): Reset handling_signal.
5747
222456a1
JR
57482000-11-28 Jason Rumney <jasonr@gnu.org>
5749
5750 * w32menu.c (add_menu_item): Reset menu item text when changing
5751 type to radio button.
5752
8049ddc0
GM
57532000-11-28 Gerd Moellmann <gerd@gnu.org>
5754
346598f1 5755 * xselect.c: Update copyright.
f4f4ee4d 5756
bebe4a2c
GM
5757 * window.c (coordinates_in_window): If on a mode or header line,
5758 but sufficiently close to its start, return ``on vertical
5759 border''. This gives us a way to drag windows horizontally when
5760 using toolkit scroll bars.
5761
5762 * xterm.c (note_mouse_highlight): Change the cursor shape
5763 on the vertical border between windows.
5764
5765 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5766
5767 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5768 (syms_of_xfns): DEFVAR_LISP it.
5769 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5770
8d2c2642
GM
5771 * textprop.c (text_read_only): New function.
5772 (verify_interval_modification): Use it instead of signaling
5773 `text-read-only'. This makes it easier to catch this error
52283633 5774 with a breakpoint.:
8d2c2642 5775
52283633 5776 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
5777 not end of line, which includes CR.
5778
5a2bae6c
KH
57792000-11-28 Kenichi Handa <handa@etl.go.jp>
5780
5781 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5782 include no-conversion.
5783
ae31f84d
JR
57842000-11-27 Jason Rumney <jasonr@gnu.org>
5785
5786 * w32fns.c (w32_load_system_font): Always mark font as double byte
5787 if codepage is unicode.
5788
67f1cf4c
GM
57892000-11-27 Gerd Moellmann <gerd@gnu.org>
5790
4a74d071 5791 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5792 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5793
902ae620
GM
5794 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5795 `vertical-line', `mode-line' and `header-line' events.
5796
5797 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5798 of a character, a TAB for instance. This is easier than to set
5799 up the iterator exactly, and it's not a frequent case, so the
5800 additional effort wouldn't really pay off.
5801
c1e279c2
AC
58022000-11-26 Andrew Choi <akochoi@i-cable.com>
5803
67f1cf4c 5804 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5805 init_window_once.
5806
a609568a
JR
58072000-11-25 Jason Rumney <jasonr@gnu.org>
5808
52283633
SM
5809 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5810 Args to window_from_coordinates should be pixel coordinates.
48b21762 5811
a609568a
JR
5812 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5813 redisplay handles them properly.
5814
a658d039
MB
58152000-11-25 Miles Bader <miles@gnu.org>
5816
5817 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5818
d3416cca
JR
58192000-11-24 Jason Rumney <jasonr@gnu.org>
5820
5821 * w32.c (init_environment): Set LANG environment variable based on
5822 locale settings, if not set.
5823
5824 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5825 making tool bar smaller. When clearing the frame, also
5826 clear current matrices. Clear frame when tool bar disappears.
5827 Don't use more lines for the tool-bar than is available.
5828 (x_change_window_heights): New function.
5829
ba193890
GM
58302000-11-24 Gerd Moellmann <gerd@gnu.org>
5831
2be8f184
GM
5832 * xdisp.c (init_from_display_pos): If POS says we're already after
5833 an overlay string ending at POS, make sure to pop the iterator
5834 because it will be in front of that overlay string. When POS is
5835 ZV, we've thereby also ``processed'' overlay strings at ZV.
5836
ba193890
GM
5837 * xfaces.c (lface_from_face_name): Function comment fix.
5838
1862a24e
MB
58392000-11-24 Miles Bader <miles@gnu.org>
5840
5841 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5842 apply `mode-line-inverse-video' -- zero means force display using
5843 the default face, non-zero means display using the specialized face.
5844 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5845
f07fa1b8
KH
58462000-11-23 Kenichi Handa <handa@etl.go.jp>
5847
5848 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5849 hard coded `4'.
5850
2bcdf662
EZ
58512000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5852
5853 * coding.c (decode_coding_emacs_mule): Fix the case of
5854 CODING_EOL_LF, which used uninitialized value of c.
5855
ba8299ff
SM
58562000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5857
5858 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5859
f4117c4d
GM
58602000-11-22 Gerd Moellmann <gerd@gnu.org>
5861
03e757c1
GM
5862 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5863 buffer object.
5864
f4117c4d
GM
5865 * frame.h (struct frame): Replace desired_tool_bar_items,
5866 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 5867 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
5868
5869 * frame.c (make_frame): Change initialization of tool bar
5870 items accordingly.
5871
5872 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 5873 Change references to members deleted from struct frame to use the
f4117c4d
GM
5874 new ones.
5875
5876 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 5877 references to members deleted from struct frame to use the new ones.
f4117c4d 5878
52283633 5879 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
5880
5881 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
5882
5883 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 5884 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
5885 from struct frame to use the new ones.
5886
f8e2f3f2
MB
58872000-11-23 Miles Bader <miles@gnu.org>
5888
5889 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
5890 the face's inverse-video attribute, rather than overriding it.
5891
60e8e0a5
GM
58922000-11-22 Gerd Moellmann <gerd@gnu.org>
5893
5894 * xfns.c (x_set_tool_bar_lines): Clear internal border when
5895 making tool bar smaller.
5896
92dd1b29
DL
58972000-11-22 Dave Love <fx@gnu.org>
5898
5899 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
5900
e672fdce
MB
59012000-11-22 Miles Bader <miles@gnu.org>
5902
3a17d6cc
MB
5903 * keyboard.c (Vminibuffer_message_timeout): New variable.
5904 (command_loop_1): Use it to determine message timeout.
5905 (syms_of_keyboard): Initialize it.
5906
60e8e0a5 5907 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 5908
e9655d81
KH
59092000-11-22 Kenichi Handa <handa@etl.go.jp>
5910
5911 * sysdep.c: Move the code for declaring h_errno after #include
5912 <netdb.h>.
5913
77270fac
GM
59142000-11-21 Gerd Moellmann <gerd@gnu.org>
5915
cd913aae
GM
5916 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5917 the menu bar when the tooltip is unmapped.
5918
77270fac
GM
5919 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5920 sole visible buffer when we're currently in the mini-buffer, and
5921 give up if so.
52283633 5922
556635d6
JR
59232000-11-21 Jason Rumney <jasonr@gnu.org>
5924
5925 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5926 put on the clipboard.
5927 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5928 copy of what Emacs last put there. If they are the same, do not
52283633 5929 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5930
5b7bde64
MB
59312000-11-22 Miles Bader <miles@gnu.org>
5932
5933 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5934 (syms_of_minibuf): Initialize it.
5935 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5936 to prompt, don't make read-only.
5937
ff23e1dd
GM
59382000-11-21 Gerd Moellmann <gerd@gnu.org>
5939
52283633
SM
5940 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5941 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5942
7aaf4388
GM
5943 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5944
f5f47add 5945 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5946
ff23e1dd
GM
5947 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5948
37c35586
KH
59492000-11-21 Kenichi Handa <handa@etl.go.jp>
5950
5951 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5952 ... #endif scope.
5953
ff9ab414
GM
59542000-11-20 Gerd Moellmann <gerd@gnu.org>
5955
52283633 5956 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5957 screen supports it.
5958
29a01b72
GM
5959 * s/gnu-linux.h: Don't use `#cpu'.
5960
09dfdf85
GM
5961 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5962 not defined in mman.h.
5963
52283633 5964 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5965 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5966 and store an index in the XClientMessageEvent. Storing a
5967 Lisp_Object or pointer can fail on a 64 bit system, since X only
5968 transfers 32 bits.
52283633
SM
5969 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5970
81459ac9
DL
59712000-11-20 Dave Love <fx@gnu.org>
5972
5973 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5974
56c13ae6
GM
59752000-11-20 Gerd Moellmann <gerd@gnu.org>
5976
5977 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5978
495a6df3
KH
59792000-11-20 Kenichi Handa <handa@etl.go.jp>
5980
2bcf3714
KH
5981 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5982 by WIDTH.
5983
495a6df3
KH
5984 * alloc.c (make_string): Fix previous change. Be sure to make
5985 unibyte string correctly.
5986
6d950f4c
GM
59872000-11-19 Gerd Moellmann <gerd@gnu.org>
5988
39b39373
GM
5989 * window.c (Fwindow_list): Change parameter list to be XEmacs
5990 compatible.
5991 (window_list_1): New function.
5992 (window_loop): Use it instead of Fwindow_list.
5993
b95b34e5
GM
5994 * sysdep.c (emacs_ospeed): New variable.
5995 (toplevel): Don't declare ospeed extern.
5996 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5997
5998 * termcap.c (ospeed): Remove.
5999 (tputs) [!emacs]: Remove unused code.
6000 (tgetent): Avoid a compiler warning.
6001
e83dc917
GM
6002 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6003 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6004 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6005
6006 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6007 removed.
6008 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6009 Take the X display as additional argument.
6010 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6011 `Widget' is a pointer type that's not easily stored in Lisp_Object
6012 form in a portable way.
52283633 6013
6d950f4c
GM
6014 * dispnew.c (update_text_area): Fix last change.
6015
e47306e6
GM
60162000-11-18 Gerd Moellmann <gerd@gnu.org>
6017
fb3cd89b
GM
6018 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6019
6020 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6021 clear current matrices.
6022
edaa9aed
GM
6023 * buffer.c (mmap_enlarge): Don't print a message on stderr
6024 if mapping new memory at the end of the existing region fails.
6025
e47306e6
GM
6026 * dispnew.c (update_text_area): Don't skip over equal glyphs
6027 when the last current glyph overlaps the glyph to its right.
6028
509633e3
MB
60292000-11-18 Miles Bader <miles@gnu.org>
6030
6031 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6032 lines that *end* with "..." too (that's the most common case!).
6033
d392e9c5
GM
60342000-11-18 Gerd Moellmann <gerd@gnu.org>
6035
67988445
GM
6036 * xdisp.c (resize_mini_window): Temporarily change to the
6037 mini-window's buffer if necessary.
1bfdbe43 6038
d392e9c5
GM
6039 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6040 the tooltip obscures less text under it.
6041
60422000-11-17 Gerd Moellmann <gerd@gnu.org>
6043
6044 * puresize.h (BASE_PURESIZE): Increase to 700000.
6045
92bb977f
JR
60462000-11-18 Jason Rumney <jasonr@gnu.org>
6047
6048 * w32term.c (w32_draw_bitmap): Use face to set colors.
6049
26fbf20b
DL
60502000-11-17 Dave Love <fx@gnu.org>
6051
6052 * lread.c (Fload): Fix #ifdef for pcc.
6053
100b593b
GM
60542000-11-17 Gerd Moellmann <gerd@gnu.org>
6055
6056 * xdisp.c (pos_visible_p): Compute the default character height
6057 differently.
6058
a288d0d1
GM
60592000-11-16 Gerd Moellmann <gerd@gnu.org>
6060
cac94de6 6061 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6062 knowing the line's height; use the default font's height in that case.
cac94de6 6063
a288d0d1
GM
6064 * xfaces.c (weight_table): Add `demi' with the same meaning as
6065 `demibold'.
6066
981fb6f6
KH
60672000-11-16 Kenichi Handa <handa@etl.go.jp>
6068
2cca872d 6069 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6070 (clear_glyph_row): Delete local static variable null_row.
6071
e5fa381b
JR
60722000-11-15 Jason Rumney <jasonr@gnu.org>
6073
6074 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6075 (w32_alloc_lighter_color): Use new brightness calculations from
6076 xterm.c. Scale delta to be in the range expected by W32.
6077 (w32_draw_relief_rect): Use frame relief colors.
6078
8e42f043
GM
60792000-11-15 Gerd Moellmann <gerd@gnu.org>
6080
6d133d1f
GM
6081 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6082 (Qinhibit_default_face_x_resources): New variable.
6083 (syms_of_frame): Initialize it.
6084 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6085
6086 * xdisp.c (pos_visible_p): Improve function comment.
6087
6088 * lisp.h (BINDING_STACK_SIZE): New macro.
6089
8e42f043
GM
6090 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6091 reading the directory if readdir returns null and errno is EAGAIN
6092 or EINTR.
6093
e8c87124
SM
60942000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6095
6096 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6097 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6098 Set amount_to_scroll to max of dx and scroll_step so that
6099 scroll-conservatively doesn't defeat scroll-step>1.
6100 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6101 scroll-conservatively for line-at-a-time scrolling.
6102
5f0c971d
GM
61032000-11-14 Gerd Moellmann <gerd@gnu.org>
6104
6105 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6106 extra argument.
6107
6108 * xdisp.c (current_mode_line_height, current_header_line_height):
6109 New variables.
6110 (init_xdisp): Initialize them.
6111 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6112 and use exact mode line heights if it is set.
6113
6114 * lisp.h (pos_visible_p): Change prototype.
6115
6116 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6117 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6118 and current_header_line_height first.
52283633
SM
6119 (current_mode_line_height, current_header_line_height):
6120 Declare extern.
5f0c971d 6121
d7361edf
MB
61222000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6123
6124 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6125 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6126 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6127
ee5e440a
MB
61282000-11-14 Miles Bader <miles@gnu.org>
6129
6130 * xterm.c (x_alloc_lighter_color): Include an additive component
6131 too for dark colors, because FACTOR isn't enough.
6132 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6133 New macros.
6134
5ca020fc
GM
61352000-11-13 Gerd Moellmann <gerd@gnu.org>
6136
6137 * keyboard.c (show_help_echo): Call message3_nolog with number of
6138 bytes in the help string as 2nd parameter, instead of the number
6139 of characters.
6140
9d348294
MB
61412000-11-13 Miles Bader <miles@gnu.org>
6142
6143 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6144 (Fload): Use new openp return protocol.
6145 Don't try to use Vload_source_file_function to load .elc files.
6146 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6147 openp return protocol.
6148 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6149
1729bb9a
KH
61502000-11-11 Kenichi Handa <handa@etl.go.jp>
6151
4e677396
KH
6152 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6153
6154 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6155 Defined these macros.
6156 (NLIST_STRUCT): Avoid re-defining it.
6157
1729bb9a
KH
6158 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6159 -I/usr/contrib/X11R6/include.
6160 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6161
a82fe213
JR
61622000-11-10 Jason Rumney <jasonr@gnu.org>
6163
6164 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6165
6166 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6167 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6168
6169 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6170 (Qw32_charset_vietnamese): New symbol.
6171 (xlfd_charset_of_font): New function.
6172 (w32_load_system_font): Use it.
6173 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6174 when Vw32_charset_info_alist is nil to ensure default face always
6175 has font. Use Fcar and Fcdr for safety.
6176 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6177 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6178 pseudo-codepages for special cases.
6179 (w32_to_x_font): New parameter to allow charset portion to be
6180 specified where there is many to one mapping. Callers changed.
6181 (w32_list_fonts): Avoid listing fonts that won't display.
6182
52d89894
GM
61832000-11-10 Gerd Moellmann <gerd@gnu.org>
6184
6185 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6186 (font_list_1): Renamed from font_list.
6187 (font_list): New function, trying alternative registries from
6188 Vface_alternative_font_registry_alist.
6189 (Finternal_set_alternative_font_registry_alist): New function.
6190 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6191 Vface_alternative_font_registry_alist.
6192 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6193
651cd3da
KR
61942000-11-09 Ken Raeburn <raeburn@gnu.org>
6195
6196 * lisp.h (Flooking_at): Declare.
6197
388ac098
GM
61982000-11-09 Gerd Moellmann <gerd@gnu.org>
6199
778fbc46 6200 * dired.c (directory_files_internal): Fix a braino.
52283633 6201
388ac098
GM
6202 * dired.c (directory_files_internal): Add missing GCPRO's.
6203 Some cleanup.
6204
ecaedde1
GM
62052000-11-08 Gerd Moellmann <gerd@gnu.org>
6206
f7eb32aa
GM
6207 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6208 (resize_mini_window): Return quickly if Vresize_mini_window is
6209 nil. Don't return if Vmax_mini_window_height is nil.
6210
6211 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6212 (syms_of_xdisp): Initialize them.
6213 (resize_mini_window): Act according to the setting of
6214 Vresize_mini_window.
6215 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6216
ecaedde1
GM
6217 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6218 scroll bar widget after configuring it, so that it will appear at
6219 the right position from the start.
6220 (XTredeem_scroll_bar): Cleaned up.
6221
3747ef2c
KH
62222000-11-08 Kenichi Handa <handa@etl.go.jp>
6223
6224 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6225 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6226 division by two.
6227
6228 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6229
03391420
DL
62302000-11-07 Dave Love <fx@gnu.org>
6231
7758f1c1 6232 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6233
6234 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6235
b5de343d
GM
62362000-11-07 Gerd Moellmann <gerd@gnu.org>
6237
acad3c0b
GM
6238 * window.c (Fset_window_configuration): Don't try to preserve
6239 point in the current buffer, if that buffer is displayed in more
6240 than one window.
6241
b5de343d
GM
6242 * xfaces.c (lookup_named_face): If default face isn't realized,
6243 try to realize it. Return -1 if not successful.
6244 (Fx_list_fonts): Handle case that face cannot be determined.
6245 (Fface_font): Likewise.
6246
cdb1fe49
GM
62472000-11-06 Gerd Moellmann <gerd@gnu.org>
6248
6249 * window.c (displayed_window_lines): Detect partially
6250 visible lines at the bottom correctly.
6251
d3a67486
SM
62522000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6253
6254 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6255 when ensuring we don't do visit in indirect buffer.
6256
ff8dd5d5
KH
62572000-11-06 Kenichi Handa <handa@etl.go.jp>
6258
6259 * composite.h (compose_chars_in_text): Add prototype.
6260
6261 * composite.c (Vcomposition_function_table): New variable.
6262 (Qcomposition_function_table): New variable.
6263 (run_composition_function): Call
6264 Vcompose_chars_after_function with three arguments.
6265 (compose_chars_in_text): New function.
6266 (syms_of_composite): Modified the doc-string of
6267 Vcompose_chars_after_function. Declare composition-function-table
6268 as a lisp variable, and initialize it.
6269
6270 * xfns.c (x_encode_text): Suppress producing escape sequences for
6271 composition.
6272
6273 * xselect.c: Include composite.h.
6274 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6275
d1145f85
AI
62762000-11-05 Andrew Innes <andrewi@gnu.org>
6277
6278 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6279
6280 * sysdep.c (read_input_waiting): Remove extraneous argument to
6281 read_socket_hook.
6282
6283 * w32fns.c (Fx_server_version): Include w32_build_number in the
6284 return list.
6285
6286 * w32heap.c (w32_build_number): New variable.
6287 (cache_system_info): Set it.
6288
6289 * w32heap.h (w32_build_number): Add extern.
6290
6291 * emacs.c (syms_of_emacs): Update docstring for
6292 system-configuration, to reflect the actual usage on MS-Windows.
6293
e85ee976
GM
62942000-10-31 Gerd Moellmann <gerd@gnu.org>
6295
26dcb81b
GM
6296 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6297 process idle timers while waiting for another event.
6298
52283633 6299 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6300 the default face are colored.
6301
e85ee976
GM
6302 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6303 window height hasn't changed.
6304
01b220b6
JR
63052000-10-31 Jason Rumney <jasonr@gnu.org>
6306
6307 * w32term.c (x_produce_glyphs): Handle composite characters.
6308 (x_draw_glyph_string_foreground)
6309 (x_draw_composite_glyph_string_foreground): Restore old font.
6310
4e6b7204
MB
63112000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6312
6313 * minibuf.c (read_minibuf): Reset the undo history just before
6314 starting the recursive-edit.
6315
d4358b37
GM
63162000-10-30 Gerd Moellmann <gerd@gnu.org>
6317
563f68f1
GM
6318 * xfaces.c (menu_face_change_count): New variable.
6319 (Finternal_set_lisp_face_attribute): Increment it for changes
6320 of the `menu' face.
6321 (realize_basic_faces): Reflect changes in the `menu' faces
6322 in menu bars.
6323
82e274d1
GM
6324 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6325 dy obtained from the iterator's y-position after moving from
6326 scroll_margin_pos to PT; see comment there.
52283633 6327
0dbf9fd2
GM
6328 * xdisp.c (safe_eval_handler): Call add_to_log.
6329
906b3b14
GM
6330 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6331 is not a symbol or string.
6332
d4358b37
GM
6333 * xdisp.c (echo_area_display): Don't perform a display update from
6334 inside redisplay. The update will happen anyway at the end of
6335 redisplay, and it can confuse redisplay (GC messages while
6336 redisplaying, for instance.)
6337
70c825df
SM
63382000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6339
cf9b4b0b
SM
6340 * xrdb.c (x_load_resources): Use the class name in the defaults.
6341
70c825df
SM
6342 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6343 (regex_compile): Catch bogus \(\1\).
6344
a1d34b1e
GM
63452000-10-30 Gerd Moellmann <gerd@gnu.org>
6346
cae71efe
GM
6347 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6348 RGB values.
52283633 6349
35efe0a1
GM
6350 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6351 we have a color cache, check that the cached color equals the
6352 allocated color. If not, clear the color cache.
6353
1d3baf74
GM
6354 * window.c (displayed_window_lines): Change buffers if necessary.
6355 Fix computation of displayed lines.
6356
a1d34b1e
GM
6357 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6358 update_menu_bindings to DEFVAR_BOOL.
6359
70737ea9
KH
63602000-10-30 Kenichi Handa <handa@etl.go.jp>
6361
70c825df 6362 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6363
fa0cb51d
KH
6364 * puresize.h (BASE_PURESIZE): Increase to 680000.
6365
70737ea9
KH
6366 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6367
0e4c08e8
JR
63682000-10-29 Jason Rumney <jasonr@gnu.org>
6369
6370 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6371
6372 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6373 (w32_cache_char_metrics): Handle possibility that 'x' does not
6374 exist in a BDF font.
6375 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6376
6377 * w32bdf.h (bdffont): Add nchars.
6378
6379 * w32bdf.c (set_bdf_font_info): Set it.
6380 (w32_BDF_TextOut): Swap byte order of double byte characters.
6381 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6382
45b84006
EZ
63832000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6384
6385 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6386 don't override the colors in frame's param_alist, unless they are
6387 unspecified.
6388
6389 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6390 reverse the effect of the highlight flag.
6391
caf9deee
KR
63922000-10-27 Ken Raeburn <raeburn@gnu.org>
6393
6394 * window.h (Fwindow_live_p): Declare.
6395
ae0b9b46
KR
6396 * undo.c (record_delete): Check that last_undo_buffer is really a
6397 buffer before applying XBUFFER to it.
6398
6399 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6400 Faref.
6401
02067692
SM
64022000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6403
6404 * lisp.h (KEYMAPP): New macro.
6405 (get_keymap): Remove.
6406 (get_keymap_1): Rename get_keymap.
6407
6408 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6409
6410 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6411
6412 * xmenu.c (single_submenu): Use KEYMAPP.
6413 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6414 Use KEYMAPP rather than Fkeymapp.
6415
6416 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6417
6418 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6419 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6420 Use KEYMAPP rather than Fkeymapp.
6421 (single_submenu): Use KEYMAPP.
6422 (w32_menu_show, w32_dialog_show): Use TRUE.
6423
6424 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6425
6426 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6427 (Fkeymapp): Use KEYMAPP.
6428 (get_keymap): Rename from get_keymap_1. Remove old def.
6429 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6430 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6431 (Fminor_mode_key_binding): Don't raise an error if the binding
6432 is not a keymap.
6433 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6434 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6435
6436 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6437 Allow Vspecial_event_map to be autoloaded.
6438 (menu_bar_items): Fetch the keymap rather than using keymapp.
6439 (menu_bar_one_keymap): No need to follow func-indirect any more.
6440 (parse_menu_item): get_keymap_1 -> get_keymap.
6441 (tool_bar_items): Fetch the keymap rather than using keymapp.
6442 (read_key_sequence): Use KEYMAPP.
6443
6444 * intervals.c (get_local_map): Use get_keymap rather than following
6445 function-indirections explicitly.
6446
6447 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6448
f9d80af3
JR
64492000-10-27 Jason Rumney <jasonr@gnu.org>
6450
6451 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6452 point, as Windows has oversized fonts.
6453
6454 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6455
a3ba27da
GM
64562000-10-27 Gerd Moellmann <gerd@gnu.org>
6457
6458 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6459 (freehook, reallochook): Handle null pointer arguments.
6460 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6461
aa3b80cc
SM
64622000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6463
6464 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6465 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6466 Giving in to popular pressure to shut up the compiler with casts.
6467
e24e84cc
GM
64682000-10-27 Gerd Moellmann <gerd@gnu.org>
6469
6470 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6471 signed value, and use a default value computed from the font's
6472 maximum descent.
6473
05ea7ef2
MB
64742000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6475
6476 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6477 that specify a negative underline position can still use underlines.
6478
6479 * window.c (Fpos_visible_in_window_p): Make POS default to
6480 WINDOW's point, not the current buffer's point.
6481
0b95284b
DL
64822000-10-26 Dave Love <fx@gnu.org>
6483
6484 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6485 when it's necessary.
6486
6c5b90af
GM
64872000-10-26 Gerd Moellmann <gerd@gnu.org>
6488
8b6d9dc9
GM
6489 * window.c (size_window): Compute size difference from sum of old
6490 child window sizes instead of from parent's size.
6491
6bc92b2e
GM
6492 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6493 Handle obscured lines at the top of the window.
6494
6495 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6496 down after the last error condition check.
6497
6c5b90af
GM
6498 * frame.c (Fdelete_frame): Run delete-frame-hook.
6499
42f92d4d
KH
65002000-10-26 Kenichi Handa <handa@etl.go.jp>
6501
6502 * coding.c (decode_coding): Fix previous change (check also
6503 CODING_MODE_LAST_BLOCK).
6504
d97151cb
SM
65052000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6506
e7efc503
SM
6507 * regex.c: More `unsigned char' -> `re_char' changes.
6508 Also change several `int' into `re_wchar_t'.
6509 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6510 (PUSH_FAILURE_POINTER): Don't cast any more.
6511 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6512 We want GCC to complain, since this piece of code makes
6513 re_match non-reentrant, which *should* be fixed.
6514 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6515 (EXTEND_BUFFER): Use RETALLOC.
6516 (SET_LIST_BIT): Don't cast.
6517 (re_wchar_t): New type.
6518 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6519 that those two functions will always properly return.
6520 (IMMEDIATE_QUIT_CHECK): Cast to void.
6521 (analyse_first): Use recursion rather than an explicit stack.
6522 (re_compile_fastmap): Can't fail anymore.
6523 (re_search_2): Don't check re_compile_fastmap for failure.
6524 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6525 Now also sets the new value (passed in a new argument).
6526 (re_match_2_internal): Use it.
6527 Also, use a new var `reg' of type size_t when looping through regs
6528 rather than reuse the inappropriate `mcnt'.
6529
d97151cb
SM
6530 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6531 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6532 (where_is_internal): Renamed from Fwhere_is_internal.
6533 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6534 (Fwhere_is_internal): New function wrapping where_is_internal.
6535 (where_is_internal_1): Handle the case where we're filling the cache.
6536 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6537
d5789b65
MB
65382000-10-25 Miles Bader <miles@gnu.org>
6539
6540 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6541
4ecda532
GM
65422000-10-25 Gerd Moellmann <gerd@gnu.org>
6543
6544 * window.c (pos_fully_visible_p): Removed.
6545 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6546 if position is visible and/or fully visible.
6547
6548 * lisp.h (pos_visible_p): Add prototype.
6549
6550 * xdisp.c (pos_visible_p): New function.
6551
68c3a137
KH
65522000-10-25 Kenichi Handa <handa@etl.go.jp>
6553
6554 * process.c (send_process): If OBJECT is t, it means that the data
6555 is from C string, but we should encode it. Before calling
6556 setup_raw_text_coding_system, be sure to flush out data by the
6557 previous coding system.
6558
7ae1c032
MB
65592000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6560
ff4dcd4b
MB
6561 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6562 assignment of startpos to prev when startpos == pos.
6563
7ae1c032
MB
6564 * editfns.c (find_field): Set the field stickiness correctly from
6565 overlay fields. Use renamed `text_property_stickiness'.
6566 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6567 Only check text properties, not overlays.
7ae1c032
MB
6568 * textprop.c (get_char_property_and_overlay): New function.
6569 (Fget_char_property): Use it.
6570 * intervals.h (get_char_property_and_overlay): Add declaration.
6571
49801145
SM
65722000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6573
6574 * keymap.c: Use AREF, ASET and ASIZE macros.
6575 (Fmake_sparse_keymap): Docstring fix.
6576 (synkey): Remove.
6577 (shadow_lookup): Move up.
6578 Handle the case where lookup-key returns an integer.
6579 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6580 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6581 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6582 Simplify/rewrite the keymap-finding code.
6583 Add check for command shadowing, using shadow_lookup.
6584
39e776cd
SM
65852000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6586
6587 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6588 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6589 a symbol.
6590
2488aba5
AI
65912000-10-24 Andrew Innes <andrewi@gnu.org>
6592
6593 * dired.c (directory_files_internal_unwind): New function.
6594 (directory_files_internal): Use it to ensure closedir is called
6595 even if expand-file-name or file-attributes throw, eg. because of
6596 a user interrupt. Also enable immediate_quit while calling
6597 re_search, so that matching can be interrupted as well.
6598
b94fdf61
AI
65992000-10-24 Andrew Innes <andrewi@gnu.org>
6600
6601 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6602 NT-Emacs only.
6603 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6604 so that re_search functions only quit when callers expect them to.
6605
66062000-10-24 Kenichi Handa <handa@etl.go.jp>
6607
6608 * regex.c (regex_compile): Change the way of handling a range from
6609 a char less than 256 to a char not less than 256.
6610
1946f901
GM
66112000-10-24 Gerd Moellmann <gerd@gnu.org>
6612
7ae2f10f
GM
6613 * window.c (size_window): Prevent setting window's width or
6614 height to a negative value (esp. with XSETFASTINT).
6615
5dcab13e
GM
6616 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6617 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6618 (protect_malloc_state) [GC_MALLOC_CHECK &&
6619 GC_PROTECT_MALLOC_STATE]: New function.
6620 (PROTECT_MALLOC_STATE): New macro.
6621 (__malloc_initialize, morecore, _malloc_internal)
6622 (_free_internal) _realloc_internal): Use it to make _heapinfo
6623 read-only outside of gmalloc.
6624
63e1b552
GM
6625 * keymap.c: Update copyright.
6626
1946f901
GM
6627 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6628 a symbol.
6629
4fa09beb
GM
66302000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6631
6632 * filelock.c (unlock_all_files): Use unlock_file to expand each
6633 buffer's file_truename before trying remove its lock file.
6634
23afac01
EZ
66352000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6636
6637 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6638 or CRLF, decode EOLs.
6639
04448b95
KH
66402000-10-24 Kenichi Handa <handa@etl.go.jp>
6641
6642 * window.c (Fdisplay_buffer): Fix doc.
6643
3090a5a5
JR
66442000-10-23 Jason Rumney <jasonr@gnu.org>
6645
6646 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6647 ASCII font of default fontset on Windows.
6648
6649 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6650 xterm.c comment below).
6651
6652 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6653
a83fee2c
GM
66542000-10-23 Gerd Moellmann <gerd@gnu.org>
6655
6656 * xterm.c (x_connection_closed): Reset handling_signal.
6657
52283633 6658 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6659
6ffdb539
MB
66602000-10-23 Miles Bader <miles@gnu.org>
6661
6662 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6663 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6664 maintain old behavior.
6665 * minibuf.c (Fminibuffer_complete): Likewise.
6666
7f1c969b
MB
66672000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6668
6669 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6670 that when a font can't be exactly centered, it errs up rather than
6671 down.
6672
23afac01 66732000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 6674
52283633 6675 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 6676
1a578e9b
AC
66772000-10-23 Andrew Choi <akochoi@i-cable.com>
6678
6679 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6680
6681 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 6682 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
6683
6684 * emacs.c (main) [macintosh]: Call syms_of_textprop,
6685 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
6686 syms_of_search, x_term_init, and init_keyboard before calling
6687 init_window_once. Also, call syms_of_xmenu.
6688
6689 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
6690 default fontset to Monaco.
6691
6692 * frame.c [macintosh]: Include macterm.h. Remove declarations of
6693 NewMacWindow and DisposeMacWindow.
6694 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
6695 instead of calling NewMacWindow and setting fields of
6696 f->output_data.mac directly. Call init_frame_faces.
6697 (Fdelete_frame) [macintosh]: Remove unused code.
6698 (Fmodify_frame_parameters) [macintosh]: Call
6699 x_set_frame_parameters instead of mac_set_frame_parameters.
6700
6701 * frame.h [macintosh]: Define menu_bar_lines field in struct
6702 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
6703
6704 * keyboard.c [macintosh]: Include macterm.h.
6705 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
6706 and menu_bar_activate_event type events as for X and NT.
6707 (make_lispy_event) [macintosh]: Construct lisp events of type
6708 MENU_BAR_EVENT as for X and NT.
6709
6710 * sysdep.c [macintosh]: Remove declaration for sys_signal.
6711 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
6712 (sys_subshell) [macintosh]: Remove definition entirely.
6713 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
6714 Vwindow_system_version here. Remove initialization of
6715 Vx_bitmap_file_path.
6716 (read_input_waiting): Correct the number of parameters passed to
6717 read_socket_hook.
6718 Move all Macintosh functions to mac/mac.c.
6719
6720 * term.c [macintosh]: Include macterm.h.
6721
6722 * window.c [macintosh]: Include macterm.h.
6723
6724 * xdisp.c [macintosh]: Include macterm.h. Declare
6725 set_frame_menubar and pending_menu_activation.
6726 (echo_area_display) [macintosh]: Do not return if terminal frame
6727 is the selected frame.
6728 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
6729 Allow only the selected frame to set menu bar.
6730 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6731 calling FRAME_EXTERNAL_MENU_BAR (f).
6732 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6733
6734 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6735 and check_x. Declare XCreateGC. Define x_create_gc and
6736 x_free_gc. Initialize font_sort_order.
6737 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6738 but call x_list_fonts instead of w32_list_fonts.
6739 (Finternal_face_x_get_resource) [macintosh]: Do not call
6740 display_x_get_resource.
6741 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6742 (realize_x_face) [macintosh]: Load the font if it is specified in
6743 ATTRS.
52283633 6744 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6745
1ffbabe3
SM
67462000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6747
6748 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6749 is nil: since we go to the end of submap anyway, we'd end up
6750 setting nil to nil.
6751 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6752 doesn't obey autoload.
6753
bed43f1d
EZ
67542000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6755
1ffbabe3 6756 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 6757
ea4233a7
JR
67582000-10-21 Jason Rumney <jasonr@gnu.org>
6759
6760 * w32term.c (w32_cache_char_metrics): Double check that font is
6761 really fixed pitch before trusting tmPitchAndFamily.
6762
f3d3c491
AI
67632000-10-21 Andrew Innes <andrewi@gnu.org>
6764
6765 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6766
6767 * w32term.h: Extern decl for w32_cache_char_metrics.
6768
6769 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6770
6771 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6772 (w32_unload_font): Free per_char array if present.
6773
6774 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6775 cached information in emulated XFontStruct to handle common cases
6776 quickly. Do not allocate XCharStruct for return.
6777 (w32_native_per_char_metric): New function.
6778 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6779 allocating one.
6780 (x_produce_glyphs): Don't get an HDC. Change calls to
6781 w32_per_char_metric to match arg change above. Remove calls to
6782 free results.
6783 (w32_get_glyph_overhangs): Ditto.
6784 (w32_cache_char_metrics): New function.
6785
6786 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6787 ($(BLD)/casefiddle.$(O)): Remove compile command.
6788 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6789 ($(BLD)/dispnew.obj):
6790 ($(BLD)/keyboard.obj):
6791 ($(BLD)/w32inevt.obj):
6792 ($(BLD)/w32bdf.obj):
6793 ($(BLD)/alloc.obj):
6794 ($(BLD)/buffer.obj):
6795 ($(BLD)/editfns.obj):
6796 ($(BLD)/emacs.obj):
6797 ($(BLD)/fileio.obj):
6798 ($(BLD)/fns.obj):
6799 ($(BLD)/indent.obj):
6800 ($(BLD)/insdel.obj):
6801 ($(BLD)/intervals.obj):
6802 ($(BLD)/minibuf.obj):
6803 ($(BLD)/print.obj):
6804 ($(BLD)/scroll.obj):
6805 ($(BLD)/sysdep.obj):
6806 ($(BLD)/textprop.obj):
6807 ($(BLD)/widget.obj):
f3d3c491
AI
6808 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6809 ($(BLD)/term.obj): Add dependency on dispextern.h.
6810
52283633
SM
6811 * makefile.nt ($(BLD)\dispnew.obj):
6812 ($(BLD)\keyboard.obj):
6813 ($(BLD)\w32inevt.obj):
6814 ($(BLD)\w32bdf.obj):
6815 ($(BLD)\alloc.obj):
6816 ($(BLD)\buffer.obj):
6817 ($(BLD)\editfns.obj):
6818 ($(BLD)\emacs.obj):
6819 ($(BLD)\fileio.obj):
6820 ($(BLD)\fns.obj):
6821 ($(BLD)\indent.obj):
6822 ($(BLD)\insdel.obj):
6823 ($(BLD)\intervals.obj):
6824 ($(BLD)\minibuf.obj):
6825 ($(BLD)\print.obj):
6826 ($(BLD)\scroll.obj):
6827 ($(BLD)\sysdep.obj):
6828 ($(BLD)\textprop.obj):
6829 ($(BLD)\widget.obj):
f3d3c491
AI
6830 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6831 ($(BLD)\term.obj): Add dependency on dispextern.h
6832
18ad4821
EZ
68332000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6834
6835 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6836 with an additional argument of Qt.
6837
de54681a
MB
68382000-10-21 Miles Bader <miles@gnu.org>
6839
6840 * window.c (pos_fully_visible_in_window_p): New function.
6841 (Fpos_visible_in_window_p): Add FULLY argument.
6842 Use pos_fully_visible_in_window_p.
6843 (window_scroll_pixel_based, window_scroll_line_based): Update
6844 calls to Fpos_visible_in_window_p.
6845 * lisp.h (Fpos_visible_in_window_p): Update prototype
6846
13c844fb
GM
68472000-10-20 Gerd Moellmann <gerd@gnu.org>
6848
6849 * alloc.c (toplevel): Conditionalize compilation of mem_*
6850 functions differently.
52283633 6851
d9506268
JR
68522000-10-20 Jason Rumney <jasonr@gnu.org>
6853
6854 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6855 mem_init where it used to be. mem_z etc not defined otherwise.
6856
8094989b
GM
68572000-10-20 Gerd Moellmann <gerd@gnu.org>
6858
6859 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6860 GC_MALLOC_CHECK.
6861 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6862 structure definition and related variabled to the top of the file.
6863 Include this code when GC_MALLOC_CHECK is defined.
6864 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
6865 register/unregister allocated region.
6866 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
6867 which isn't allocated.
6868 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
6869 something which is already in use.
6870 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
6871 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
6872 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
6873 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
6874
6875 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
6876 _malloc_internal instead of malloc.
6877 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
6878 of free.
6879
ea456eb4
AI
68802000-10-20 Andrew Innes <andrewi@gnu.org>
6881
6882 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
6883 Windows.
6884 (my_strftime) <macro>: Don't use macro arg list when redefining as
6885 _strftime_copytm.
6886 (my_strftime) <function>: Supply 0 as ut argument.
6887
e64c3a75
JR
68882000-10-19 Jason Rumney <jasonr@altavista.net>
6889
6890 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
6891 including dispextern.h, as it stops faces from working.
6892
6893 * w32fns.c (Fx_create_frame): Don't bother calling
6894 face-set-after-frame-default since the caller does it for us
6895 anyway. Clean up calls to x_get_arg to be consistent with X.
6896
6897 * w32term.c (x_produce_glyphs): Handle
6898 unibyte_display_via_language_environment correctly.
6899 (w32_draw_box_rect): Fix the calculation of width and height.
6900
6901 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
6902 as it has stopped working.
6903 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
6904 menu-bar.
6905
17401c97
GM
69062000-10-19 Gerd Moellmann <gerd@gnu.org>
6907
6908 * eval.c (skip_debugger): Prevent a compiler warning.
6909 (Fcondition_case): Likewise.
6910 (Fbacktrace_frame): Use a null interactive spec.
6911
773272d8
KH
69122000-10-19 Kenichi Handa <handa@etl.go.jp>
6913
6914 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6915
a42943e9
GM
69162000-10-18 Gerd Moellmann <gerd@gnu.org>
6917
e50517d9
GM
6918 * strftime.c: Sync with glibc, file version 1.78.
6919 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6920 should no longer be used according to ISO 8601.
6921
9035a35a
GM
6922 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6923 no map for meta_prefix_char, don't try to use it as a keymap.
6924 Instead, if T_OK is non-zero, look up a default binding, if any,
6925 otherwise, if T_OK is zero, return nil.
6926
a42943e9
GM
6927 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6928 (x_to_xcolors, png_load): Use x_query_color.
6929
52283633
SM
6930 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6931 New functions.
a42943e9
GM
6932 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6933 which can be slow.
6934 (x_copy_color, x_alloc_lighter_color): Likewise.
6935
6936 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6937 (x_query_color, x_query_colors): Add prototype.
6938
6939 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6940 check_string_bytes only if not noninteractive, increase count to 50.
6941
00de2987
MB
69422000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6943
6944 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6945 markers correctly.
6946
54918e2b
GM
69472000-10-17 Gerd Moellmann <gerd@gnu.org>
6948
1f0b3fd2
GM
6949 * alloc.c (pure_bytes_used): Renamed from pureptr.
6950 (ALIGN): New macro.
6951 (pure_alloc): New function.
6952 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6953 Use it.
6954 (Fpurecopy): Use PURE_POINTER_P.
6955
68c5d1db
GM
6956 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6957 PT has moved backward.
52283633 6958
9a038881
GM
6959 * xdisp.c (cursor_row_p): Take continued lines into account.
6960
361b097f
GM
6961 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6962 string's size_byte.
6963 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6964 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6965 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6966 string allocated.
6967
54918e2b
GM
6968 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6969 of selective display off while searching for the next line start.
6970
03ed0806
KH
69712000-10-17 Kenichi Handa <handa@etl.go.jp>
6972
6973 * Makefile.in (term.o): Depend on dispextern.h.
6974
7e05cdaf
SM
69752000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6976
6977 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6978
a6801fd1
GM
69792000-10-16 Gerd Moellmann <gerd@gnu.org>
6980
483de32b
GM
6981 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6982 the iterator at the beginning, so that they can be set later on,
6983 for instance in reseat_at_next_visible_line_start, without being
6984 overwritten.
6985
a6801fd1
GM
6986 * xfns.c (pbm_format): Add :foreground and :background keywords.
6987 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6988 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6989
dbf1fcc1
EZ
69902000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6991
6992 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6993
52283633 6994 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6995
6996 * msdos.c (IT_set_face): Compare highlighted face with the default
6997 face, and invert colors if these faces' colors are identical.
6998 (Fmsdos_remember_default_colors): Don't swap foreground and
6999 background colors in initial_colors[].
7000 (IT_set_frame_parameters): Don't swap frame's foreground and
7001 background pixels. If ALIST includes "(reverse . t)", swap
7002 foreground-color and background-color properties in frame's
7003 param_alist. If the original frame's param_alist doesn't specify
7004 the colors, store unspecified-fg and unspecified-bg, reversed if
7005 required.
7006
7007 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7008 the colors are unspecified and reversed, reverse fore- and back-
7009 ground in the returned value.
7010 (Fframe_parameter): Ditto.
7011
b41fe2c3 70122000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7013
3a6b59d9
GM
7014 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7015 get_last_unchanged_at_beg_row.
7016 (find_first_unchanged_at_end_row): Renamed from
7017 get_first_unchanged_at_end_row.
7018 (find_first_unchanged_at_end_row): Convert assertions to
7019 unconditional tests which abort. When looking for a row in
7020 unchanged text, don't go further back than first_text_row.
7021
b41fe2c3
GM
7022 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7023 Don't add in the last line's height when deciding if the new
7024 position is below the scroll margin.
9d1af64f 7025
b41fe2c3 70262000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7027
7028 * editfns.c (Fconstrain_to_field): Check carefully for field
7029 boundaries if either OLD_POS or NEW_POS has a non-nil field
7030 property, even if they're the same.
7031
c412cb7b
KH
70322000-10-16 Kenichi Handa <handa@etl.go.jp>
7033
7034 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7035 height for XFillRectangle.
7036
5586f3eb
SM
70372000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7038
7039 * syntax.c (Fstring_to_syntax): New function extracted from
7040 Fmodify_syntax_entry.
7041 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7042 (skip_chars, Fforward_comment): Remove unused variables.
7043 (syms_of_syntax): Add defsubr for string-to-syntax.
7044 (describe_syntax): Add code for comment and string fences.
7045
db785038
SM
70462000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7047
7048 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7049 Do the meta->esc mapping. Call get_keyelt before returning.
7050 Start scanning from the second element (the first is always `keymap')
7051 to make it easier to detect when we reach a parent map.
7052 Handle the case of inheriting from a symbol whose function is a map.
7053 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7054 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7055 (get_keyelt, Flookup_key): Update call to access_keymap.
7056 Remove the meta->esc mappings.
7057 (define_as_prefix): Delete old disabled code.
7058 (menu_item_p): New function.
7059 (where_is_internal_1): Skip over the few remaining menu items.
7060 * lisp.h (access_keymap): Update prototype.
7061 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7062 Update call to access_keymap.
7063 (follow_key, read_key_sequence): Update calls to access_keymap.
7064 Remove the meta->esc mappings.
7065
cafafe0b
GM
70662000-10-13 Gerd Moellmann <gerd@gnu.org>
7067
a2e2a7f6
GM
7068 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7069 with additional argument.
7070
cafafe0b
GM
7071 * xdisp.c (cursor_row_p): New function.
7072 (try_cursor_movement, display_line): Use it.
52283633 7073
cafafe0b
GM
7074 * xdisp.c (append_space): Also save/restore iterator's current
7075 character and its length.
7076
7077 * xdisp.c (init_from_display_pos): Add an assertion.
7078 (handle_stop): Don't set iterator's add_overlay_start.
7079 (handle_invisible_prop): Likewise.
7080 (load_overlay_strings): If text under an overlay is invisible,
7081 take both before- and after-strings into account when the iterator
7082 is positioned either at the start or at the end of the overlay.
7083 (forward_to_next_line_start): Rewritten.
7084 (reseat_at_next_visible_line_start): Rewritten.
7085 (set_iterator_to_next): Add parameter RESEAT_P.
7086
7087 * dispextern.h (struct it): Remove member add_overlay_start.
7088 (set_iterator_to_next): Change prototype.
7089
c744452b
KH
70902000-10-13 Kenichi Handa <handa@etl.go.jp>
7091
7092 * coding.c (code_convert_region): Be sure to initialize
7093 coding->category_idx.
e4a3f4e1
KH
7094 (decode_coding_string): Set coding->src_multibyte and
7095 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7096 (encode_coding_string): Set coding->src_multibyte and
7097 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7098
321fd26f
SM
70992000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7100
7101 * xfns.c (Fx_create_frame): Don't bother calling
7102 face-set-after-frame-default since the caller does it for us anyway.
7103
76832439
EZ
71042000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7105
7106 * window.c (coordinates_in_window): Fix detection of vertical line
7107 on character terminals.
7108
2483cf58
GM
71092000-10-12 Gerd Moellmann <gerd@gnu.org>
7110
7111 * editfns.c (save_excursion_save): Additionally record the
7112 selected window.
7113 (save_excursion_restore): If buffer was visible in a window, and a
7114 different window was selected, and the old selected window is
7115 still live, restore point in that window.
7116
eb991b25
KH
71172000-10-12 Kenichi Handa <handa@etl.go.jp>
7118
8a0eba09
KH
7119 * xterm.c (x_produce_glyphs): Handle
7120 unibyte_display_via_language_environment correctly.
7121
20401fcc
KH
7122 * regex.c (regex_compile): Change the way of handling a range from
7123 unibyte char to multibyte char.
7124
7125 * syntax.c (skip_chars): Change the way of handling a range from
7126 unibyte char to multibyte char.
7127
eb991b25
KH
7128 * process.c (read_process_output): Cancel previous change.
7129
365dd325
EZ
71302000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7131
c1b096cb
EZ
7132 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7133
365dd325
EZ
7134 * charset.c (Ffind_charset_string): Doc fix.
7135 (Ffind_charset_region): Doc fix.
7136
eb483c2b
KH
71372000-10-11 Kenichi Handa <handa@mule.m17n.org>
7138
7139 * process.c (read_process_output): Fix previous change. Adjust
7140 multibyteness of text to insert in a buffer by
52283633 7141 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7142
b40bfb99
AS
71432000-10-10 Andreas Schwab <schwab@suse.de>
7144
7145 * alloc.c (mark_object): Remove all workarounds installed on
7146 1993-08-08.
7147
caff31d4
KH
71482000-10-10 Kenichi Handa <handa@etl.go.jp>
7149
52283633 7150 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7151 (base64_encode_1): Make it work for a text of multibyte form.
7152 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7153 case. Don't call str_to_multibyte because base64_decode_1
7154 produces correct multibyte form for eight-bit codes.
52283633 7155 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7156 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7157 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7158 codes.
7159
7160 * charset.h (CHAR_STRING): Optimized for single byte characters.
7161
cba026ef
AS
71622000-10-09 Andreas Schwab <schwab@suse.de>
7163
7164 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7165 -1 after socket is closed, to fall through to error processing.
7166
1e21fe48
EZ
71672000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7168
7169 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7170 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7171 background-color, change also the colors of the default face for
7172 this frame.
7173
a640322e
EZ
71742000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7175
7176 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7177 them extern (they are defined on xfaces.c).
7178 (syms_of_msdos): Don't intern and don't staticpro
7179 Qbackground_color and Qforeground_color.
7180
a115794c
EZ
71812000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7182
7183 * frame.c (Fframe_parameter): For non-windowed frames, if
7184 f->param_alist says foreground or background color is unspecified,
7185 call tty_color_name to return the color name computed from the
7186 frame's current colors.
7187
f5533b63
DL
71882000-10-06 Dave Love <fx@gnu.org>
7189
7190 * terminfo.c (ospeed): Don't declare.
7191
7192 * sysdep.c: Don't include string.h.
7193 (h_errno): Declare conditional also on TRY_AGAIN.
7194
7195 * charset.c (Ffind_charset_string): Doc fix.
7196
52283633 7197 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7198 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7199 error messages.
7200
2b06561a
DL
72012000-10-05 Dave Love <fx@gnu.org>
7202
7203 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7204 position like menu-bar.
7205
ca839c85
GM
72062000-10-05 Gerd Moellmann <gerd@gnu.org>
7207
7208 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7209
7210 * xdisp.c (handle_single_display_prop): Use safe_call1.
7211 (safe_call): Renamed from call_function.
7212 (safe_call1): New function.
7213 (handle_fontified_prop): Use safe_call1 instead of call1.
7214 (safe_eval): Renamed from eval_form.
7215 (safe_eval_handler): Renamed from eval_handler.
7216 (handle_single_display_prop, display_mode_element): Use safe_eval
7217 instead of eval_form.
7218
7219 * xfaces.c (merge_face_heights): Use safe_call instead of
7220 call_function.
7221
7222 * keyboard.c (show_help_echo): Use safe_call instead of
7223 call_function; use safe_eval instead of eval_form.
7224
7225 * lisp.h (safe_call): Renamed from call_function.
7226 (safe_eval): Renamed from eval_form.
7227 (safe_call1): Add prototype.
7228
a3489ece
MB
72292000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7230
7231 * xfns.c (image_ascent): Rearrange ascent calculation for the
7232 has-a-font case.
7233
35810b6f
SM
72342000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7235
7236 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7237 (where_is_internal_1): Don't bother ignoring menu-items any more.
7238
3dc78168
GM
72392000-10-04 Gerd Moellmann <gerd@gnu.org>
7240
7241 * keyboard.c (update_menu_bindings): New variable.
7242 (parse_menu_item): Use AREF. If update_menu_bindings
7243 is 0, don't update menu bindings.
7244 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7245
1efc2bb9
EZ
72462000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7247
7248 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7249 to `mark_object'.
7250
3f679f55
SM
72512000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7252
7253 * syntax.c (forw_comment): Match nestedness of ender/starter.
7254 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7255 (prev_char_comstart_first): Remove.
7256 (back_comment): Check two-char comment markers more carefully
7257 to better handle overlapping cases like *//* or /* */* */ ...
7258 Match nestedness of ender/starter.
7259
2021ab61
DL
72602000-10-02 Dave Love <fx@gnu.org>
7261
7262 * config.in (HAVE_GAI_STRERROR): Add undef.
7263
7264 * process.c (Fopen_network_stream): Use it.
7265
7266 * m/alpha.h (NO_REMAP): Don't define.
7267
64e6cc18
GM
72682000-10-02 Gerd Moellmann <gerd@gnu.org>
7269
7270 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7271 return with a string converted to an integer or vice versa when
7272 Vmocklisp_arguments is t.
7273 (Fsignal): Likewise. The function can return for `quit'.
7274 (struct gcpro): Declare member `var' to point to a volatile
7275 Lisp_Object.
7276
7277 * eval.c (error): Prevent compiler warning.
7278
b1904cd9
SM
72792000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7280
7281 * keymap.c (keymap_memberp): New function.
7282 (Fset_keymap_parent): Use it.
7283 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7284 Use keymap_memberp to avoid creating cycles.
7285 (access_keymap): Use KEYMAPP.
7286
71c9ec51
GM
72872000-09-30 Gerd Moellmann <gerd@gnu.org>
7288
7289 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7290 gai_strerror. Make sure xerrno is set if connect fails. Improve
7291 error recovery.
71c9ec51 7292
c70c6b58
JR
72932000-09-29 Jason Rumney <jasonr@gnu.org>
7294
7295 * w32term.c (w32_char_font_type, w32_encode_char)
7296 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7297 (w32_bdf_per_char_metric): New function.
7298 (w32_per_char_metric): Use it.
7299 (x_draw_glyph_string_background): Always draw background for BDF
7300 glyphs.
7301
7302 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7303 GDI object which is a scarce resource.
7304
7305 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7306 (get_quoted_string): Fix limit on memchr search.
7307 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7308 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7309 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7310 (get_cached_font_char, cache_char_offset): Use macro
7311 BDF_CODEPOINT_RANGE_COVER_P.
7312 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7313 (clear_cached_bitmap_slots): New function.
7314 (GET_HEX_VALUE): G-Z, g-z are not hex.
7315 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7316 (get_bitmap_with_cache): Use new cache implementation.
7317 (create_offscreen_bitmap): New function.
7318 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7319
7320 * w32term.c (x_produce_glyphs): If the distance from the current
7321 position to the next tab stop is less than a canonical character
7322 width, use the tab stop after that.
7323 (x_draw_glyphs): Handle case START and END are out of bounds more
7324 carefully.
7325 (x_clear_mouse_face): Block/unblock input.
7326 (x_display_and_set_cursor): Don't show a hollow box cursor for
7327 buffers whose cursor_type is nil.
7328
fe01239f
GM
73292000-09-29 Gerd Moellmann <gerd@gnu.org>
7330
52283633 7331 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7332
7333 * dispextern.h (updating_frame): Declare extern.
7334
e7c52f1f
AS
73352000-09-29 Andreas Schwab <schwab@suse.de>
7336
7337 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7338
de6e1f7c
GM
73392000-09-29 Gerd Moellmann <gerd@gnu.org>
7340
25126faa
GM
7341 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7342 use its function definition.
7343 (tool_bar_items): Likewise.
7344
de6e1f7c 7345 * lisp.h (fatal): Declare NO_RETURN.
52283633 7346
454ee39b
KH
73472000-09-29 Kenichi Handa <handa@etl.go.jp>
7348
7349 * keymap.c: Remove the line "#undef NULL".
7350
96301c5f
GM
73512000-09-28 Gerd Moellmann <gerd@gnu.org>
7352
52283633 7353 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7354
efffeeb4
DL
73552000-09-28 Dave Love <fx@gnu.org>
7356
ecb8b666
DL
7357 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7358
dc3cd20f
DL
7359 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7360
7361 * .gdbinit (xreload): Note its need on GNU/Linux.
7362
efffeeb4
DL
7363 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7364 r_alloc, r_alloc_free.
7365
8610d903
KH
73662000-09-28 Kenichi Handa <handa@etl.go.jp>
7367
7368 * syntax.c (skip_chars): Handle negation correctly.
7369
8901d1ac
GM
73702000-09-27 Gerd Moellmann <gerd@gnu.org>
7371
6f22f1ad
GM
7372 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7373 with non-zero FORCE_P argument.
7374
52283633 7375 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7376 Add assertions.
7377
7378 * xdisp.c (window_box_height): Add an assertion.
7379
7380 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7381 tool-bar than is available.
7382 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7383
36f1966f
DL
73842000-09-27 Dave Love <fx@gnu.org>
7385
efffeeb4 7386 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7387
31d929e5
GM
73882000-09-26 Gerd Moellmann <gerd@gnu.org>
7389
c98863bf
GM
7390 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7391 instead of BITS_PER_INT.
7392 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7393 EMACS_UINT, respectively.
7394 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7395
7396 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7397
7398 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7399
77072ab1
GM
7400 * window.c (freeze_window_starts): Construct last argument for
7401 foreach_window differently.
7402
7403 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7404
7405 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7406 EMACS_UINT instead of `int' and `unsigned int'.
7407 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7408
7409 * frame.h (struct frame): Make the `nothing' member of union
7410 output_data an EMACS_INT.
7411
52283633 7412 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7413 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7414 size in the sdata structure.
7415 (SDATA_NBYTES, SDATA_DATA): New macros.
7416 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7417 differently for the different layout of the sdata structure.
7418 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7419 in sdata.
7420 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7421 Check that size recorded in the string size and size recorded in
7422 the sdata structure agree.
7423
3e60b029
DL
74242000-09-25 Dave Love <fx@gnu.org>
7425
7426 * buffer.c: Include stdio.h.
7427
7428 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7429
3e60b029
DL
7430 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7431
7432 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7433 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7434 (__malloc_extra_blocks): Declare as __malloc_size_t.
7435
8ff16b4e
GM
74362000-09-25 Gerd Moellmann <gerd@gnu.org>
7437
755a2ccd
GM
7438 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7439
d8b4516f
GM
7440 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7441 (read_char): If help-echo is showing, preserve the echo area
7442 when redisplaying.
7443
7444 * xdisp.c (help_echo_showing_p): New variable.
7445 (set_message): Reset it to 0.
7446 (init_xdisp): Initialize help_echo_showing_p.
7447
7448 * dispextern.h (help_echo_showing_p): Declare extern.
7449
7450 * config.in: Fix typo in __GNUC_MINOR__.
7451
7452 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7453
b11af2dd
GM
7454 * s/freebsd.h (POSIX_SIGNALS): Define.
7455
8ff16b4e
GM
7456 * xterm.c (x_clear_mouse_face): Block/unblock input.
7457
844eb643
DL
74582000-09-24 Dave Love <fx@gnu.org>
7459
7460 * fns.c (base64_encode_1): Fix last change.
7461
b30ab1b3
GM
74622000-09-22 Gerd Moellmann <gerd@gnu.org>
7463
7464 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7465
7466 * xdisp.c (try_window_reusing_current_matrix): More fixes
7467 for the case window has a header-line.
7468
c6cbe5f0
DL
74692000-09-22 Dave Love <fx@gnu.org>
7470
4c7c1f3f
DL
7471 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7472 a doc string.
7473
7474 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7475
c6cbe5f0
DL
7476 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7477
550a625e
GM
74782000-09-21 Gerd Moellmann <gerd@gnu.org>
7479
4c7c1f3f 7480 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7481 for GCC >= 2.5.
7482
52283633
SM
7483 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7484 Declare NO_RETURN.
fca99116 7485
80d26f99
GM
7486 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7487 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7488 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7489 warnings.
52283633 7490
80d26f99
GM
7491 * marker.c (byte_char_debug_check): Return void.
7492
623a0aae
GM
7493 * xfns.c (Fx_create_frame): Set default frame parameter value
7494 for tool-bar-lines to 1.
7495
7496 * dispnew.c (scrolling_window): Compare y-positions of rows
7497 equal at the start. Some simplification.
7498
7499 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7500 reused rows' y-position in the case window has a header-line, and
7501 new window start is greater than old window start.
7502
42ac0ae5
GM
7503 * process.c (process_sent_to): New variable.
7504 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7505 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7506 Declare more parameters volatile.
7507
550a625e
GM
7508 * lread.c (Vrecursive_load_depth_limit): New variable.
7509 (Fload): Check recursive loads whose recursion depth exceeds
7510 Vrecursive_load_depth_limit.
7511 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7512
8320414c
GM
75132000-09-20 Gerd Moellmann <gerd@gnu.org>
7514
f46c275e
GM
7515 * fileio.c (Fread_file_name): Doc fix.
7516
7517 * editfns.c (Fmessage_or_box): Doc fix.
7518
7519 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7520
b7e11c5b 7521 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7522
8320414c
GM
7523 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7524 symbols are specified, add color translations to the cache.
52283633 7525 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7526 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7527 xpm_cache_color.
7528 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7529 structures to xpm_init_color_cache.
7530
da1608d9
GM
75312000-09-19 Gerd Moellmann <gerd@gnu.org>
7532
52283633 7533 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7534
6badfa25
AI
75352000-09-19 Andrew Innes <andrewi@gnu.org>
7536
7537 * makefile.nt (bootstrap-emacs): Don't change directory.
7538
3a5f42bb
KH
75392000-09-19 Kenichi Handa <handa@etl.go.jp>
7540
1b7649bd
KH
7541 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7542
3a5f42bb
KH
7543 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7544 If output buffer is too small, signal an appropriated error.
7545
9f83cf0b
DL
75462000-09-18 Dave Love <fx@gnu.org>
7547
52283633 7548 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7549 (current_active_maps): Remove redundant get_local_map call.
7550
28c7826c
GM
75512000-09-18 Gerd Moellmann <gerd@gnu.org>
7552
5cefa566
GM
7553 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7554 cursor for buffers whose cursor_type is nil.
52283633 7555
6fed3546
GM
7556 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7557 a feature to implement that is already implemented.
7558 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7559 warnings.
7560
7561 * xfns.c (x_clear_image_1): New function.
7562 (x_clear_image): Use it.
52283633 7563 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7564
05b1f851
GM
7565 * dispnew.c (update_window): Move test for invisible lines
7566 at the top to update_window_line.
7567 (update_window_line): Handle invisible lines here.
7568
f4779de9
GM
7569 * xfns.c (clear_image_cache): Clear current matrices of all
7570 frames sharing an image cache. Block input while freeing
7571 images. Fix timestamp comparison.
7572 (x_clear_image): Also free the mask.
7573
28c7826c
GM
7574 * xfns.c (lookup_image): Block input while loading the image so
7575 that we won't get interrupted in a state where the image isn't yet
7576 set up completely.
7577 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7578 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7579 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7580 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7581
b7412313
GM
75822000-09-16 Gerd Moellmann <gerd@gnu.org>
7583
7584 * dispnew.c (update_window): Make sure to make desired rows
7585 current even if they are completely invisible at the top
7586 of a window.
7587
47e351a3
GM
75882000-09-15 Gerd Moellmann <gerd@gnu.org>
7589
7f8f1edc
GM
7590 * xfns.c (lookup_image): Build mask before applying an algorithm.
7591 Recognize algorithm `disabled'.
7592 (cross_disabled_images): New variable.
7593 (COLOR_INTENSITY): New macro.
7594 (x_detect_edges): Use COLOR_INTENSITY.
7595 (x_disable_image): New function.
7596 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7597
7598 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7599 disabled state, don't apply an image transformation algorithm if
7600 the user specified an image for the disabled state. Use
28c7826c 7601 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7602 user hasn't specified an image.
7603
ebb8f116
GM
7604 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7605 allocation functions with the XPM lib.
7606 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7607 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7608 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7609 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7610 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7611 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7612 functions, if possible, because these handle color allocation
7613 failure more gracefully.
7614 (Fimage_mask_p): New function.
7615
47e351a3
GM
7616 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7617 (Qedge_detection, Qheuristic): New symbols.
7618 (syms_of_xfns): Initialize new symbols.
7619 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7620 `algorithm (edge-detection ...)'.
7621 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7622 (tiff_format, gif_format, gs_format): Add `:mask'.
7623 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7624 (GIF_MASK, GS_MASK): New enumerators.
7625 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7626 (emboss_matrix, laplace_matrix): New variables.
7627 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7628 (x_edge_detection): New functions.
7629 (x_laplace): Rewritten in terms of x_detect_edges.
7630 (x_build_heuristic_mask): If image has a mask, free it.
7631
fe83b953
AI
76322000-09-14 Andrew Innes <andrewi@gnu.org>
7633
7634 * makefile.w32-in: Revert to Unix line endings.
7635
3021e816
AI
76362000-09-14 Andrew Innes <andrewi@gnu.org>
7637
7638 * makefile.w32-in: Standardize indentation somewhat.
7639 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7640 cater for differences between shells.
7641
7642 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7643
2a32b5ea
GM
76442000-09-14 Gerd Moellmann <gerd@gnu.org>
7645
7646 * xterm.c (x_produce_glyphs): If the distance from the current
7647 position to the next tab stop is less than a canonical character
7648 width, use the tab stop after that.
7649
b4331e96
DL
76502000-09-14 Dave Love <fx@gnu.org>
7651
7652 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7653
ef9e4345
GM
76542000-09-14 Gerd Moellmann <gerd@gnu.org>
7655
085536c2
GM
7656 * xdisp.c (handle_fontified_prop): While running fontification
7657 functions, bind `fontification-functions' and
7658 `after-change-functions' to nil.
7659
ef9e4345
GM
7660 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7661 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7662
7663 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7664
7665 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7666 USE_MMAP_FOR_BUFFERS.
7667
7668 * insdel.c (make_gap): Use enlarge_buffer_text.
7669
7670 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7671 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7672 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7673 from former r_alloc_* functions in ralloc.c.
52283633 7674 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
7675 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7676 (mmap_init) [REL_ALLOC_MMAP]: New function.
7677 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7678 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7679 BUFFER_FREE.
7680
7681 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7682 (enlarge_buffer_text): Add prototype.
7683
7684 * ralloc.c: Remove everything having to do with the use of mmap.
7685
f8608968
GM
76862000-09-13 Gerd Moellmann <gerd@gnu.org>
7687
2a494b2d
GM
7688 * sound.c (Fplay_sound): Doc fix.
7689
8c907a56
GM
7690 * keyboard.c: Avoid some more compiler warnings.
7691 (parse_tool_bar_item): Ignore cached key bindings.
7692
f8608968
GM
7693 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
7694 and allocation of Lisp data.
7695
6ab70e9a
GM
76962000-09-12 Gerd Moellmann <gerd@gnu.org>
7697
d12d0a9b
GM
7698 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
7699 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
7700 defaults first.
7701
6ab70e9a
GM
7702 * lread.c (Fload): Put code checking for recursive loads in #if 0.
7703
63c36c3c
KH
77042000-09-12 Miyashita Hisashi <himi@meadowy.org>
7705
7706 * ccl.c: Comment fixed.
7707 (MAX_MAP_SET_LEVEL): Increased to 30.
7708 (PUSH_MAPPING_STACK): Enclose with do-while block.
7709 (POP_MAPPING_STACK): Likewise.
7710 (stack_idx_of_map_multiple): New variable.
7711 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
7712 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 7713 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
7714 (ccl_driver) <CCL_MapSingle>: Likewise.
7715 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
7716 with the case where looking up process reaches to the end of
7717 map-set, and call CCL programs as the above change.
7718
7ee3bd7b
GM
77192000-09-11 Gerd Moellmann <gerd@gnu.org>
7720
8ec8a5ec
GM
7721 * xfns.c (png_load, jpeg_load): Declare some variables volatile
7722 that might be clobbered by longjmp.
7723 (check_x_display_info, x_decode_color, create_frame_xic)
7724 (Fx_display_backing_store, Fx_display_visual_class)
52283633 7725 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 7726
f74b0705
GM
7727 * lread.c (init_lread): Set Vloads_in_progress to nil.
7728 (Fload): Show list of recursively loaded files, when signaling an
7729 error.
7730
7ee3bd7b
GM
7731 * lread.c (Vloads_in_progress): New variable.
7732 (record_load_unwind): New function.
7733 (Fload): Check for recursive loads.
7734 (syms_of_lread): Initialize Vloads_in_progress.
7735 (read_integer, read1): Avoid some compiler warnings.
7736
7737 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7738 compiler warnings.
7739
974e1e5b
MB
77402000-09-11 Miles Bader <miles@gnu.org>
7741
7742 * editfns.c (Fbuffer_string): Doc fix.
7743
9824c4e3
GM
77442000-09-10 Gerd Moellmann <gerd@gnu.org>
7745
7746 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7747
6a72fdd1
KR
77482000-09-09 Ken Raeburn <raeburn@gnu.org>
7749
7750 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7751 whether to include other header files.
7752
28e6fb66
GM
77532000-09-09 Gerd Moellmann <gerd@gnu.org>
7754
52283633 7755 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 7756 by Fmemq as a boolean.
28e6fb66 7757
7f8b6551
SM
77582000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7759
7760 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7761
a8710abf
GM
77622000-09-08 Gerd Moellmann <gerd@gnu.org>
7763
d1a02881
GM
7764 * ralloc.c (mmap_fd): Remove initializer which can make it
7765 read-only in a dumped Emacs.
7766 (mmap_fd_1): New variable.
7767 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7768 restore it from there.
7769 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7770 unconditionally so that mmap_fd can be initialized there.
7771 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7772 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7773 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7774
c454aac1
GM
7775 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7776
7777 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 7778 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 7779
fc653ef2
GM
7780 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7781
3015eec0
GM
7782 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7783 inheritance.
7784
bfe0ee88
GM
7785 * xdisp.c (try_window_id): When trying to locate cursor in
7786 unchanged rows at the top, handle the case that we can't find it.
7787
a8710abf
GM
7788 * xterm.c (x_draw_glyphs): Handle case START and END are out
7789 of bounds more carefully.
7790
6b7d4ae4
DL
77912000-09-08 Dave Love <fx@gnu.org>
7792
423193c5
DL
7793 * s/sol2.h (REL_ALLOC_MMAP): Define.
7794 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7795
7796 * ralloc.c: Don't include string.h (redundant).
7797 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7798 [!MAP_ANON]: Include fcntl.h.
7799 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7800 (r_alloc, r_re_alloc, r_alloc_free)
7801 (mmap_enlarge, mmap_set_vars): Use it.
7802 (r_alloc_init_fd): New function.
7803 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7804 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7805 malloc type.
7806
7807 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7808 Remove vm-limit.o.
7809
6b7d4ae4
DL
7810 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7811 change to __NetBSD__.
7812
44d31981
KH
78132000-09-08 Kenichi Handa <handa@etl.go.jp>
7814
7815 * search.c (compile_pattern): Check the multibyteness of cached
7816 string and PATTERN.
7817
aad40737
MB
78182000-09-08 Miles Bader <miles@gnu.org>
7819
7820 * xfaces.c (default_face_vector): Function removed.
7821 (Finternal_merge_in_global_face): Restore old global/local
7822 attribute override order. Use inline loop instead of calling
7823 default_face_vector.
7824
91a211b5
GM
78252000-09-07 Gerd Moellmann <gerd@gnu.org>
7826
7827 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7828 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7829 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7830 where necessary, in case POINTER_TYPE is `void'.
7831
03419440
EZ
78322000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7833
7834 * frame.c (make_terminal_frame): Initialize frame foreground and
7835 background colors to unspecified, for the initial instance of an
7836 MSDOS frame.
7837
f46f845b
GM
78382000-09-07 Gerd Moellmann <gerd@gnu.org>
7839
24f76fbf
GM
7840 * ralloc.c (mmap_find): Fix overlap computation.
7841 (mmap_enlarge): Compute nbytes before trying to find an
7842 overlapping region.
7843
f46f845b
GM
7844 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7845 instead of `!='.
7846
7847 * lread.c (syms_of_lread): Change value of regexp
7848 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7849
7850 * xmenu.c (xdialog_show): When looking up the selection in
7851 menu_items, take `quote' boundaries into account; this corresponds
7852 to a nil ITEM in x-popup-dialog.
7853
3c014385
KH
78542000-09-07 Kenichi Handa <handa@etl.go.jp>
7855
fd6f711b
KH
7856 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7857 not 0x81.
7858 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7859
3c014385 7860 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
7861 encoding, not decoding. Fix the handling of latin-jisx0201.
7862 Check for the charset katakana-jisx0201 too.
3c014385 7863 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 7864 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 7865
0da3ecef
GM
78662000-09-07 Gerd Moellmann <gerd@gnu.org>
7867
ab0ee409
GM
7868 * xfaces.c (Vparam_value_alist): New variable.
7869 (syms_of_xfaces): Initialize it.
7870 (Finternal_set_lisp_face_attribute): Avoid more consing.
7871
7872 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
7873 specially.
7874 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
7875 (Qbackground_mode): New variable.
7876 (syms_of_frame_1): Initialize Qbackground_mode.
7877
7878 * lisp.h (Qdisplay): Declare extern.
1091dd67 7879
0da3ecef
GM
7880 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
7881 change face on all frames, and change the default for new frames.
7882
b14654b9
DL
78832000-09-07 Dave Love <fx@gnu.org>
7884
7885 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
7886
d24fd56f
KH
78872000-09-07 Kenichi Handa <handa@etl.go.jp>
7888
794f3670
KH
7889 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
7890
0fddd0dc
KH
7891 * charset.c: Include composite.h
7892 (lisp_string_width): New function.
7893 (Fstring_width): Call lisp_string_width instead of strwidth.
7894
7895 * Makefile.in (charset.o): Depends on composite.h.
7896
d24fd56f
KH
7897 * process.c (read_process_output): Before inserting the decoded
7898 text in the buffer, adjust the multibyteness.
7899
fa0b693c
GM
79002000-09-06 Gerd Moellmann <gerd@gnu.org>
7901
52283633 7902 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
7903 buffer's text buffer is null, map new memory.
7904
0a58f946
GM
7905 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
7906 POINTER_TYPE and size_t.
7907 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
7908 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7909 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7910 [REL_ALLOC_MMAP]: New macros.
7911 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7912 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7913 [REL_ALLOC_MMAP]: New functions.
7914
7915 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7916 before and after unexec.
7917
7918 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7919 text buffers if necessary.
7920
7921 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7922 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7923 in prototypes.
7924
fa0b693c
GM
7925 * config.in (HAVE_MMAP): Add #undef.
7926
877055f6
GM
79272000-09-05 Gerd Moellmann <gerd@gnu.org>
7928
08ba3862
GM
7929 * frame.c (Qdisplay_type): New variable.
7930 (syms_of_frame_1): Initialize it.
7931 (Fframe_parameter): New function that avoids consing.
7932 (syms_of_frame): Defsubr it.
7933
66ffe51c
GM
7934 * buffer.c (Fother_buffer): Consider buffers as invisible when
7935 they are displayed in a window on an invisible frame.
7936
877055f6
GM
7937 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7938 get-largest-window always return nil.
7939
bb970e67
GM
79402000-09-04 Gerd Moellmann <gerd@gnu.org>
7941
7942 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7943 variable; recognize Emacs 19 elc files.
7944
7a3d0e0e
MB
79452000-09-04 Miles Bader <miles@gnu.org>
7946
7947 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7948 before initially popping up the menu, so the menu doesn't flash
52283633 7949 when the face settings are significantly different from the defaults.
7a3d0e0e 7950
14473664
SM
79512000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7952
7953 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7954 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7955 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7956 (BIT_UNIBYTE): Remove.
7957 (re_match_2_internal): Delete corresponding code and streamline the
7958 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7959 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7960 (re_wctype_t): New type.
7961 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7962 (regex_compile): Use them and fix handling of overly long char classes.
7963
c1174479
AI
79642000-09-03 Andrew Innes <andrewi@gnu.org>
7965
f8803e97
AI
7966 * makefile.w32-in: Change to DOS line endings.
7967
c1174479
AI
7968 * s/ms-w32.h (ORDINARY_LINK): New define.
7969
7970 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7971 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7972
7973 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7974 (distclean): Delete them here instead.
7975
44ef7cf6
AI
7976 * w32proc.c (compare_env): Convert to uppercase for comparison,
7977 not lowercase, to match how the native Windows shell works.
7978
49b3bd82
JR
79792000-09-03 Jason Rumney <jasonr@gnu.org>
7980
7981 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7982 CVS changes the line-ends when checking in/out on DOS/Windows.
7983
7984 * makefile.nt (emacs): Do not change directory to run temacs, as
7985 the load-path is set relative to current directory.
7986
a3d35a39
MB
79872000-09-03 Miles Bader <miles@gnu.org>
7988
7989 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7990
d276b0cf
GM
79912000-09-02 Gerd Moellmann <gerd@gnu.org>
7992
715e84c9
GM
7993 * xdisp.c (redisplay_mode_lines): New function.
7994 (display_mode_lines): Return number of mode lines displayed.
7995 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7996 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7997
8892f40b
GM
7998 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7999 string.h and strings.h.
8000 (index) [HAVE_INDEX]: Add prototype.
8001
d276b0cf
GM
8002 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8003 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8004
8005 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8006 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8007
38404229
GM
80082000-09-01 Gerd Moellmann <gerd@gnu.org>
8009
8010 * lread.c (read1): Accept `?' as symbol constituent, for
8011 compatiblity with XEmacs.
8012
c0f9ea08
SM
80132000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8014
8015 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8016 (struct re_pattern_buffer): Remove newline_anchor.
8017 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8018 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8019 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8020 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8021 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8022 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8023 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8024 Get rid of references to newline_anchor.
8025 (regcomp): Allocate and precompute a fastmap.
8026
8c0f83fe
GM
80272000-08-31 Gerd Moellmann <gerd@gnu.org>
8028
8029 * lread.c (openp): GCPRO local variable `filename'.
8030
4bb91c68
SM
80312000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8032
8033 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8034
8035 * regex.c: Merge some changes from GNU libc. Add prototypes.
8036 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8037 Use memcmp and memcpy instead of bcopy and bcmp.
8038 (init_syntax_once): Use ISALNUM.
8039 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8040 (REG_UNSET_VALUE): Remove. Use NULL instead.
8041 (REG_UNSET, re_match_2_internal): Use NULL.
8042 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8043 New macros.
8044 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8045 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8046 (regex_compile): In handle_interval, return an error rather than try to
8047 unfetch the interval if we can't find the closing brace.
8048 Obey the RE_NO_GNU_OPS syntax bit.
8049 (TOLOWER): New macro.
8050 (regcomp): Use it.
8051 (regexec): Allocate regs.start and regs.end as one block.
8052
5226a931
GM
80532000-08-30 Gerd Moellmann <gerd@gnu.org>
8054
868dd24b
GM
8055 * xdisp.c (echo_area_display): Check display_completed instead
8056 of calling detect_input_pending.
8057
8058 * dispnew.c (update_frame): Only set display_completed here; move
8059 the update_begin and update_end calls here from update_frame_1.
8060 (update_frame_1): Don't set display_completed here, don't call
8061 update_begin/update_end.
8062
5226a931
GM
8063 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8064 instead of store_frame_param.
8065
2a8bd25f
GM
80662000-08-29 Gerd Moellmann <gerd@gnu.org>
8067
8068 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8069 desired window matrix hasn't been displayed, use the current row
8070 instead. Make sure that only those frame rows are updated for
8071 which there exists a corresponding enabled desired row.
52283633 8072
ba3478d9
MB
80732000-08-29 Miles Bader <miles@gnu.org>
8074
8075 * xfaces.c (default_face_vector): New function.
8076 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8077
87d0f685
GM
80782000-08-29 Gerd Moellmann <gerd@gnu.org>
8079
8080 * lread.c (openp): Prevent temporary string passed to
8081 Ffile_readable_p from being garbage collected.
8082
6fa86045
DL
80832000-08-28 Dave Love <fx@gnu.org>
8084
8085 * keymap.c (store_in_keymap): Add `static' to declaration.
8086
bb17930d
GM
80872000-08-28 Gerd Moellmann <gerd@gnu.org>
8088
8089 * emacs.c, callint.c, doc.c, editfns.c
8090 (toplevel) [HAVE_STRING_H]: Include string.h.
8091 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8092 (index): Remove prototypes which might conflict with non-standard
8093 definitions of index/strchr.
8094
8095 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8096 (rindex): Define only if !HAVE_RINDEX.
8097
8098 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8099
8100 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8101
87188200
MB
81022000-08-28 Miles Bader <miles@gnu.org>
8103
8104 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8105 made inconsistent by a font-related attribute in FROM.
8106 (merge_face_inheritance): Add function comment.
8107
41a68aef
KH
81082000-08-28 Kenichi Handa <handa@etl.go.jp>
8109
8110 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8111 the 4th arg (PREV_EVENT) Qt to suppress input method.
8112
f7c436c1
SM
81132000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8114
0b32bf0e
SM
8115 * regex.c: Indent cpp directives and remove parens after `defined'.
8116 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8117 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8118 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8119 (re_compile_pattern): Use size_t for length.
8120 (init_syntax_once): Move to a better place.
8121 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8122 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8123
f7c436c1
SM
8124 * syntax.c (back_comment): Detect cases where a comment-starter is
8125 actually inside another comment as in: /* a // b */ c // d \n.
8126 Make it clear that `comstart_pos' is unused for nested comments.
8127
8128 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8129 (KEYMAPP): New macro.
8130 (Fkeymap_parent, Fset_keymap_parent): Use it.
8131 (fix_submap_inheritance): Mark it static.
8132 (define_as_prefix, describe_buffer_bindings, describe_command)
8133 (describe_translation, describe_map): Complete prototypes.
8134
8135 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8136
8137 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8138 to better match the key-lookup behavior.
8139
6288c62f
GM
81402000-08-27 Gerd Moellmann <gerd@gnu.org>
8141
8142 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8143 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8144
e931344e
EZ
81452000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8146
8147 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8148 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8149 (xterm.o): Depend on coding.h
8150
d10dfeef
KH
81512000-08-26 Kenichi Handa <handa@etl.go.jp>
8152
8153 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8154 the corresponding '#endif'.
8155
2d73e8d3
MB
81562000-08-26 Miles Bader <miles@gnu.org>
8157
8158 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8159 * xfaces.c (QCinherit): New variable.
8160 (syms_of_xfaces): Initialize it.
8161 (LFACE_INHERIT): New macro.
8162 (Finternal_get_lisp_face_attribute)
52283633 8163 (merge_face_vector_with_property)
2d73e8d3
MB
8164 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8165 (check_lface_attrs): Allow new types of face height. Check
8166 inherit attribute.
8167 (CYCLE_CHECK): New macro.
8168 (merge_face_inheritance): New function.
8169 (merge_face_vectors): Merge inherited faces too. Add F and
8170 CYCLE_CHECK arguments.
8171 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8172 (lookup_named_face, lookup_derived_face, realize_named_face)
8173 (face_at_string_position, face_at_buffer_position): Supply
8174 new F and CYCLE_CHECK arguments to merge_face_vectors.
8175 (merge_face_heights): New function.
52283633 8176 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8177 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8178 handle relative face heights.
8179 (lface_same_font_attributes_p): Compare heights using EQ.
8180
6ce974d4
KH
81812000-08-26 Kenichi Handa <handa@etl.go.jp>
8182
8183 * charset.c (char_to_string): Check the character validity.
52283633 8184 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8185
dc1e502d
SM
81862000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8187
8188 * regex.c (PUSH_FAILURE_COUNT): New macro.
8189 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8190 Handle popping of a register's or a counter's data.
8191 (POP_FAILURE_POINT): Use the new name.
8192 (re_match_2_internal): Push counter data on the stack for succeed_n,
8193 jump_n and set_number_at and remove misleading dead code in succeed_n.
8194
bd9d0f3f
GM
81952000-08-25 Gerd Moellmann <gerd@gnu.org>
8196
8197 * xdisp.c (redisplay_internal): If considering all windows on all
8198 frames, update the display for each frame as soon as possible,
8199 instead of first building all desired matrices for all frames, and
8200 then updating them all.
8201 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8202
aa5b8e15
GM
82032000-08-24 Gerd Moellmann <gerd@gnu.org>
8204
17494071
GM
8205 * bytecode.c (mark_byte_stack): Add a comment.
8206
52283633
SM
8207 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8208 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8209 a graphical frame.
8210
c543db81
KH
82112000-08-24 Kenichi Handa <handa@etl.go.jp>
8212
d246d5f5
KH
8213 * minibuf.c (do_completion): Always use compare-string, not
8214 string-equal because the latter doesn't pay attention to
8215 multibyteness of strings.
8216
c543db81
KH
8217 * process.c (create_process): Don't setup raw-text coding here.
8218 (Fopen_network_stream): Don't set coding->src_multibyte and
8219 coding->dst_multibyte here.
8220 (read_process_output): For process filter, return unibyte string
8221 if default-enable-multibyte-characters is nil.
8222 (send_process): If OBJECT is multibyte text, be sure to encoded it
8223 by the specified coding system for the process. Otherwise, setup
8224 raw-text coding.
52283633 8225 (init_process): Don't initialize default-process-coding-system here.
c543db81 8226
9b47cfe0
EZ
82272000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8228
8229 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8230 <scroll-down-aggressively>: Likewise.
8231
f5a36960
KH
82322000-08-23 Kenichi Handa <handa@etl.go.jp>
8233
8234 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8235 zero. Set coding->produced_char correctly.
8236
69a7ffa7
AI
82372000-08-22 Andrew Innes <andrewi@gnu.org>
8238
8239 * makefile.w32-in: New file.
8240
8241 * unexw32.c (unexec): Ignore old_name, and use the actual location
8242 of the current executable instead. Base new_name on this.
8243
8244 * w32proc.c (create_child): Remove reference to security
8245 descriptor, which isn't needed and doesn't compile with mingw32.
8246
8247 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8248 up dllimport attributes.
8249 (x_update_window_end): Update prototype.
8250
8251 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8252 extern, which screws up dllimport attributes.
8253
8254 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8255 up dllimport attributes.
8256
8257 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8258 screws up dllimport attributes.
8259
8260 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8261 up dllimport attributes.
8262 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8263 screws up dllimport attributes.
8264
8265 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8266 up dllimport attributes.
8267
8268 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8269 screws up dllimport attributes.
8270
8271 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8272 screws up dllimport attributes.
8273
8274 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8275 up dllimport attributes.
8276
8277 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8278 unnecessary extern, which screws up dllimport attributes.
8279 (main): Ditto.
8280
8281 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8282 up dllimport attributes.
8283
8284 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8285 unnecessary extern, which screws up dllimport attributes.
8286
8287 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8288 screws up dllimport attributes.
8289
8290 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8291 up dllimport attributes.
8292
8293 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8294
52283633
SM
8295 * w32bdf.c (search_file_line):
8296 (set_bdf_font_info):
8297 (seek_char):
8298 (w32_get_bdf_glyph):
69a7ffa7
AI
8299 (w32_BDF_to_x_font): Fix compile warnings.
8300
52283633 8301 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8302
8303 * w32select.c: Include keyboard.h before frame.h.
8304
8305 * w32fns.c (max): Define macro.
8306 (JOHAB_CHARSET): Define if not known.
8307 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8308 (Fx_show_tip): Synch with X version.
8309
8310 * w32xfns.c: Include keyboard.h before frame.h.
8311
8312 * w32fns.c: Include keyboard.h before frame.h.
8313
8314 * w32term.c: Include keyboard.h before frame.h.
8315
8316 * fontset.c: Include keyboard.h before frame.h.
8317
8318 * w32inevt.c: Include keyboard.h before frame.h.
8319 (MOUSE_MOVED): Define if not known.
8320
8321 * minibuf.c: Include keyboard.h before frame.h.
8322
8323 * keyboard.c: Include keyboard.h before frame.h.
8324
8325 * indent.c: Include keyboard.h before frame.h.
8326
8327 * dispnew.c: Include keyboard.h before frame.h.
8328
8329 * buffer.c: Include keyboard.h before frame.h.
8330
8331 * alloc.c: Include keyboard.h before frame.h.
8332
8333 * print.c: Include keyboard.h before frame.h.
8334
8335 * process.c: Include keyboard.h before frame.h.
8336
8337 * scroll.c: Include keyboard.h before frame.h.
8338
8339 * sysdep.c: Include keyboard.h before frame.h.
8340
8341 * term.c: Include keyboard.h before frame.h.
8342
8343 * window.c: Include keyboard.h before frame.h.
8344
8345 * xdisp.c: Include keyboard.h before frame.h.
8346 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8347
8348 * frame.c: Include keyboard.h before frame.h.
8349
8350 * w32heap.h: Undefine min, max.
8351
8352 * w32gui.h: Undefine min, max.
8353
8354 * unexw32.c: Change PUCHAR to PCHAR.
8355 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8356 (relocate_offset):
8357 (get_section_info):
69a7ffa7
AI
8358 (copy_executable_and_dump_data): Remove unnecessary static defs.
8359 (copy_executable_and_dump_data): Fix compile warnings.
8360
8361 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8362
8363 * w32console.c (min): Define macro.
8364 (clear_frame, write_glyphs): Fix compile warning.
8365
52283633 8366 * w32proc.c (compare_env):
69a7ffa7
AI
8367 (find_child_console): Fix compile warning.
8368
8369 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8370 sys_errlist instead of _sys_errlist.
8371 (get_emacs_configuration_options): New function.
8372
8373 * s/ms-w32.h (sys_nerr): Provide default definition.
8374 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8375 name with _ prepended.
8376 (NSIG): Define if not known.
8377 (get_emacs_configuration): Provide extern declaration.
8378 (get_emacs_configuration_options): Provide extern declaration.
8379 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8380
8381 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8382 (map_w32_filename):
69a7ffa7
AI
8383 (read_unc_volume): Fix compile warning.
8384
8385 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8386 definitions from being used.
8387
8388 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8389
52283633 8390 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8391 (open_unc_volume): Make arg const.
8392
8393 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8394 (read_input_waiting): Remove excess parameter.
8395
8396 * w32.c (init_environment): Call _access.
8397 (check_windows_init_file): Call _close.
8398 (init_user_info): Call _putenv.
8399 (init_environment): Call _putenv and _strdup.
8400 (init_ntproc): Reset volume info cache on startup.
8401
8402 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8403 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8404 cannot override the CRT malloc.
8405
8406 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8407 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8408
8409 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8410 unless we are linking with a static CRT.
8411 (RVA_TO_PTR): Cast result to unsigned char*.
8412
8413 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8414 (add_volume_info): Use xstrdup.
8415
25060080
SM
84162000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8417
8418 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8419 (do_completion, Fminibuffer_complete_word): Use it.
8420 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8421 var so it can take non-boolean values.
8422
6917e6bb
GM
84232000-08-21 Gerd Moellmann <gerd@gnu.org>
8424
acb7cc89 8425 * editfns.c (find_field): Formatting changes.
52283633 8426 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8427 changed to prototypes, some new protypes added, some functions
8428 made static.
8429
8430 * lisp.h (set_time_zone_rule): Add prototype.
8431 (use_dialog_box): External declaration.
8432
0bbfdc25
GM
8433 * keyboard.c (gen_help_event): Add parameter SIZE.
8434 (kbd_buffer_events_waiting): Slightly rewritten.
8435 (clear_event): New function.
8436 (kbd_buffer_get_event): Use it, and clear the input_events of
8437 HELP_EVENTs.
8438 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8439 don't fill the newly created array with nils.
8440 (toplevel): Convert some old-style function forward declarations
8441 to prototypes.
8442
8443 * keyboard.h (gen_help_event): Change prototype.
8444
8445 * xterm.c (XTread_socket): Change calls to gen_help_event.
8446
8447 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8448
6917e6bb
GM
8449 * eval.c (Fmacroexpand): Doc fix.
8450
e5cd3d11
JR
84512000-08-20 Jason Rumney <jasonr@gnu.org>
8452
8453 * w32term.h (x_display_info_for_display): Remove as this function
8454 does not exist on W32.
8455
8456 * w32term.c (help_echo_window): New variable.
8457 (syms_of_w32term): staticpro it.
8458 (note_mode_line_highlight): Set it.
8459 (XTextExtents16): Removed as there is no equivalent on W32.
8460 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8461 the X way of doing this will not work for W32.
8462 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8463 (x_draw_image_foreground): Avoid drawing outside of the clip area
8464 when image doesn't have a mask.
8465 (note_mouse_highlight): Process overlays in the right order of
8466 priority. Set help_echo_window.
8467 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8468 because that's more visible for large images.
8469
8470 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8471 name to single_keymap_panes.
8472 (w32_menu_show): Set wv->title when dealing with titles.
8473 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8474
6e69ab8c
MB
84752000-08-21 Miles Bader <miles@gnu.org>
8476
8477 * minibuf.c (do_completion): Try again if we rewrite the input
8478 string, but no completion was done, so that any completion message
8479 will be correct.
8480
511bd4eb
GM
84812000-08-20 Gerd Moellmann <gerd@gnu.org>
8482
8483 * xfaces.c (lface_equal_p): Compare strings differently.
8484 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8485 (realize_tty_face): Use them.
8486 (syms_of_xfaces): Initialize new variables.
8487 (map_tty_color): New function, extracted from realize_tty_face.
8488 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8489 foreground or background color, store the new color name in the
8490 realized face; previous code trying to do this had no effect.
8491 (realize_tty_face): Use map_tty_color.
8492 (Fclear_face_cache): Set face_change_count and ensure thorough
8493 redisplay.
8494
1433385f
GM
84952000-08-19 Gerd Moellmann <gerd@gnu.org>
8496
511bd4eb
GM
8497 * undo.c (record_first_change, record_marker_adjustment): Don't
8498 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8499
419ac0a2
KH
85002000-08-18 Kenichi Handa <handa@etl.go.jp>
8501
8502 * coding.c (decode_coding_string): Set members consumed,
8503 consumed_char, produced, produced_char of *coding correctly. If
8504 decode_coding doesn't consume any byte, don't try anymore.
8505 (encode_coding_string): Likewise.
8506
7eb9e30d
GM
85072000-08-18 Gerd Moellmann <gerd@gnu.org>
8508
511bd4eb
GM
8509 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8510 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8511
8512 * xdisp.c (redisplay_internal): Compare windows for equality with
8513 EQ, instead of applying XWINDOW to something that might not
8514 be a window.
52283633 8515
dd34a735
KH
85162000-08-18 Kenichi Handa <handa@etl.go.jp>
8517
8518 * fontset.c (Finternal_char_font): Search only the selected frame
8519 for a window of the current buffer.
8520
385ff9e3
GM
85212000-08-18 Gerd Moellmann <gerd@gnu.org>
8522
511bd4eb 8523 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8524 Lisp_Objects.
8525
385ff9e3
GM
8526 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8527 second half of a HELP_EVENT is found at the start of kbd_buffer.
8528
d6abb4c7
MB
85292000-08-18 Miles Bader <miles@gnu.org>
8530
4618074a
MB
8531 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8532
d6abb4c7
MB
8533 * editfns.c (save_restriction_save): Rewrite to use markers.
8534 (save_restriction_restore): Rewrite to understand new form of data
8535 saved by save_restriction_save.
8536 (Fsave_restriction): Remove cautionary note in doc-string.
8537
a7b28523
GM
85382000-08-17 Gerd Moellmann <gerd@gnu.org>
8539
8540 * fileio.c (build_annotations): Add a comment explaining the
8541 return value of format-annotate-function. Replace a spurious call
8542 to Flength with a CONSP test. Call format-annotate-function with
8543 a fifth arg specifying how many times the function is been called
8544 in a row, to let it choose temporary buffers appropriately.
8545
03c9ed77
DL
85462000-08-17 Dave Love <fx@gnu.org>
8547
8548 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8549 declare make_temp_name twice.
8550
52283633 8551 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8552 (unreadpure): Give it an arg.
8553
8554 * unexalpha.c: Prototype fatal_unexec, mark_x,
8555 update_dynamic_symbols. Declare unexec as void.
8556
8557 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8558 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8559
8560 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8561 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8562
8563 * alloca.c: Use #error.
8564 [POINTER_TYPE]: Use it.
8565
8566 * eval.c (Fdefvar): Doc fix.
8567
8568 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8569 INITIALIZE_INTERVAL.
8570
8571 * buffer.h: Avoid DECLARE_INTERVALS.
8572
8573 * config.in: Add size_t.
8574
aae41d97
EZ
85752000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8576
8577 * w16select.c (set_clipboard_data): If there's not enough memory
8578 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8579 expects. In case of other failures, return 3.
8580 (system_error_msg): New error message.
8581 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8582 system_error_msg.
8583
65aa5e85
GM
85842000-08-16 Gerd Moellmann <gerd@gnu.org>
8585
8586 * term.c (write_glyphs): Also turn off inverse video after turning
8587 off other appearances in case TS_exit_attribute_mode is not equal
8588 to TS_end_standout_mode.
8589 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8590 with the same face.
8591 (turn_off_face): Reset standout_mode only if
8592 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8593 is equal to TS_end_standout_mode.
8594
ece23901
KH
85952000-08-16 Kenichi Handa <handa@etl.go.jp>
8596
9d7bcb2e
KH
8597 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8598 sequence at the end of the source block.
8599
ece23901
KH
8600 * ccl.c (Fccl_program_p): Docstring modified.
8601 (Fccl_execute): Likewise.
8602 (Fccl_execute_on_string): Likewise.
8603
5e30eaa2
EZ
86042000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8605
8606 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8607
290602fd
KH
86082000-08-16 Kenichi Handa <handa@etl.go.jp>
8609
8610 The following changes are mainly to fix bugs of
8611 encode/decode-coding-string failing if encoding/decoding return
8612 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8613 variable conversion_buffer.
8614
8615 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8616 decrement dst_end to avoid buffer overflow in the later call of
8617 string_as_multibyte
8618
8619 * coding.h (conversion_buffer_size, conversion_buffer)
8620 (get_conversion_buffer): Extern deleted.
8621
8622 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8623 (conversion_buffer, conversion_buffer_size): Variables deleted.
8624 (get_conversion_buffer): Function deleted.
8625 (struct conversion_buffer): New structure.
8626 (MAX_ALLOCA): New macro.
8627 (allocate_conversion_buffer): New macro.
8628 (extend_conversion_buffer, free_conversion_buffer): New functions.
8629 (ccl_coding_driver): Set coding->result.
8630 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8631 this is the last block of source.
8632 (encode_coding): Likewise. Handle the source block as the last
8633 one only when the whole source text is consumed.
8634 (decode_coding_string): Handle the case that the output buffer is
8635 too small to decode the whole source text. Use
8636 allocate_conversion_buffer, extend_conversion_buffer and
8637 free_conversion_buffer, not get_conversion_buffer.
8638 (encode_coding_string): Likewise.
8639 (init_coding): Function deleted.
52283633 8640 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8641
8642 * emacs.c (main): Don't call init_coding.
8643
52283633 8644 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8645
8646 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8647 (insert_glyphs): Likewise.
8648
8649 * w32console.c (write_glyphs): Use a locally declared
8650 conversion_buffer.
8651
b9f80d41
EZ
86522000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8653
8654 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8655 member of display_info is NULL.
8656
32dc52f7
GM
86572000-08-15 Gerd Moellmann <gerd@gnu.org>
8658
52283633 8659 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8660
32dc52f7 8661 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8662 appearances with capability `me'.
32dc52f7
GM
8663 (write_glyphs): Switch on inverse video before each face change.
8664
4eb22d33
DL
86652000-08-14 Dave Love <fx@gnu.org>
8666
8667 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8668 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8669 (lisp_free): Declare and make static.
8670
8671 * window.c: Fix embedded comment.
8672 (syms_of_window): Fix doc string.
8673
90cbf47e
GM
86742000-08-14 Gerd Moellmann <gerd@gnu.org>
8675
52283633 8676 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
8677 make sure to print `C-' before `M-', like in the manual.
8678
440fc135
GM
86792000-08-11 Gerd Moellmann <gerd@gnu.org>
8680
8681 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8682 since they aren't relocated anymore.
52283633 8683 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
8684
8685 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 8686 partially visible line which is smaller than the window's height.
440fc135 8687
6e264fad
KH
86882000-08-11 Kenichi Handa <handa@etl.go.jp>
8689
8690 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 8691 the multibyte form of eight-bit-control characters.
6e264fad
KH
8692 (Fccl_execute_on_string): Initialize ccl->multibyte.
8693
8694 * ccl.h (struct ccl_program): New member multibyte.
8695
8696 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
8697
c371f69a
KH
86982000-08-11 Kenichi Handa <handa@etl.go.jp>
8699
8700 * regex.c (regex_compile) <normal_char>: Pay attention to
8701 multibyteness.
8702 (analyse_first) <exactn>: Setup fastmap correctly for
8703 eight-bit-control characters.
8704
87052000-08-11 Kenichi Handa <handa@etl.go.jp>
8706
52283633 8707 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
8708
8709 * keyboard.c (make_lispy_event): Handle the new event type
8710 multibyte_char_keystroke.
8711
8712 * xterm.c: Include coding.h.
8713 (XTread_socket): Work around a bug of XmbLookupString. If the
8714 input is from XIM, decode it according to the current locale. In
8715 that case, generate multibyte_char_keystroke events.
8716
b8ddbe71
KH
87172000-08-11 Kenichi Handa <handa@etl.go.jp>
8718
8719 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
8720 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
8721
47589c8c
GM
87222000-08-10 Gerd Moellmann <gerd@gnu.org>
8723
8724 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
8725 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
8726 (move_it_in_display_line_to): Record iterator's ascent and descent
8727 before producing glyphs, and restore them when we know the glyph
8728 doesn't fit on the line.
8729 (move_it_to): Restructured so that it's easier to debug. If
8730 moving to a vpos, and not moving to an x or character position,
8731 stop as soon as the specified vpos is reached; don't move further
8732 into that line because that might change the computed line height.
8733 (try_cursor_movement): New function, extracted from the cursor
8734 movement branch of redisplay_window. If ending on a partially
8735 visible line, don't try to scroll if the cursor line is taller
8736 than the window.
8737 (redisplay_window): Use try_cursor_movement.
8738
8739 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8740 because that function doesn't cope with variable-height lines.
8741
8742 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8743 box cursor because that's better visible for large images.
52283633 8744
c51bacd6
MB
87452000-08-10 Miles Bader <miles@gnu.org>
8746
8747 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8748
bea56df7
GM
87492000-08-10 Gerd Moellmann <gerd@gnu.org>
8750
8751 * xdisp.c (Vmessages_buffer_name): New variable.
8752 (message_dolog): Use it.
8753 (syms_of_xdisp): Initialize it.
8754
99cd7364
EZ
87552000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8756
52283633 8757 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
8758 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8759 redundant now that keyboard.h is included.
8760
7d093d56
EZ
87612000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8762
8763 * keyboard.c (kbd_buffer_events_waiting): New function.
8764
8765 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8766
8767 * msdos.c: Include keyboard.h.
8768 (XMenuActivate): Empty no_event events from the event buffer. If
8769 no events are left after that, call clear_input_pending.
8770 (mouse_clear_clicks): New function, code moved from mouse_init.
8771 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8772 mouse driver to ``forget'' any past clicks.
8773
8774 * Makefile.in (msdos.o): Depend on keyboard.h.
8775
41e757a6
GM
87762000-08-09 Gerd Moellmann <gerd@gnu.org>
8777
8e7bd231
GM
8778 * lisp.h (input_pending): External declaration.
8779
8780 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8781
8e7bd231
GM
8782 * xdisp.c (echo_area_display): Display thoroughly if input is
8783 pending. Bind redisplay-dont-pause to t during the redisplay.
8784 in case input is pending.
8785
8786 * dispnew.c (Qredisplay_dont_pause): New variable.
8787 (syms_of_display): Initialize and staticpro it.
8788 (update_frame_1): Don't interrupt the display for pending input if
8789 redisplay_dont_pause is set.
52283633 8790
43028b7e
GM
8791 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8792
41e757a6
GM
8793 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8794
2f2174fa
KH
87952000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8796
8797 * callproc.c (Fcall_process): Terminate the unwind-protect around
8798 the post-read-conversion of coding system.
8799
0a6fd67e
MB
8800 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8801 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8802 * buffer.h (overlays_at): Update prototype.
8803 * xdisp.c (next_overlay_change): Update call to overlays_at.
8804 * xfaces.c (face_at_buffer_position): Likewise.
8805 * textprop.c (Fget_char_property): Likewise.
8806 * xterm.c (note_mouse_highlight): Likewise.
8807
0c80756e
MB
8808 * minibuf.c (do_completion): Don't consider a simple change of
8809 case as `completion'.
8810
975f250a
KR
88112000-08-08 Ken Raeburn <raeburn@gnu.org>
8812
52283633 8813 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8814 * undo.c (record_delete): Make sure last_point_position_buffer is
8815 a buffer before comparing pointers.
8816
8817 * coding.h (decode_coding_string): Declare.
8818
8819 * intervals.h (Fprevious_single_char_property_change): Declare.
8820
8821 * textprop.c (Fprevious_single_char_property_change): Don't do
8822 arithmetic directly on lisp objects.
8823
52283633 8824 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
8825
8826 * keyboard.h (menu_item_eval_property): Declare.
8827
8828 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8829 reuse as buffer name, instead of recreating (and discarding) every
8830 time a message is logged.
8831 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
8832 (current_message_1, truncate_message_1, set_message_1)
8833 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8834 (current_message, truncate_echo_area, display_echo_area)
8835 (resize_echo_area_axactly): Changed calls.
b347b3fd 8836
975f250a 8837 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 8838 Lisp object.
975f250a 8839 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 8840 must be an integer, not a Lisp object.
975f250a 8841
46dc9912
KH
88422000-08-08 Kenichi Handa <handa@etl.go.jp>
8843
8844 * charset.c (Fchar_width): Doc fix.
8845
9f6d1a6c
GM
88462000-08-08 Gerd Moellmann <gerd@gnu.org>
8847
8848 * charset.c (Fstring_width): Doc fix.
8849
ff3d9573
GM
88502000-08-07 Gerd Moellmann <gerd@gnu.org>
8851
41e757a6 8852 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
8853 line, clear ascent and descent members of the iterator structure;
8854 the height of the continued line does not affect the height of the
8855 continuation line.
8856 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8857 line taller than the window.
8858 (redisplay_window) <forced window start>: Handle case that the
8859 middle of the window is not found in any row.
8860 (dump_glyph_row): Show more information.
8861 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8862 first text line in a glyph matrix.
8863
8864 * xterm.c (x_draw_image_foreground): Avoid drawing outside
8865 of the clip area when image doesn't have a mask.
8866
70fc58b3
GM
8867 * fns.c (sweep_weak_table): Fix survival conditions for
8868 key-or-value and key-and-value weakness.
8869
8870 * .gdbinit (xhashtable): New command.
8871
ac0e96ee
GM
8872 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
8873 tables out of the list of all weak hash tables.
8874
ff3d9573
GM
8875 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
8876 a new buffer is created, make sure echo_area_buffer[] references
8877 the new buffer.
8878
e0d8827b
EZ
88792000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
8880
8881 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
8882 the doc string.
8883
c6f35378
KH
88842000-08-07 Kenichi Handa <handa@etl.go.jp>
8885
8886 * syntax.c (skip_chars): Fix previous change. Make the handling
8887 of unibyte string consistent with that of regex search.
8888
1fd4c450
GM
88892000-08-05 Gerd Moellmann <gerd@gnu.org>
8890
e49aa397
GM
8891 * xmenu.c (popup_get_selection): Use xfree instead of free.
8892
8893 * fileio.c (Finsert_file_contents): Use xfree instead of free.
8894
8895 * editfns.c (Ftranspose_regions): Use xfree instead of free.
8896
8897 * callproc.c (child_setup): Use xfree instead of free.
8898
8899 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
8900 instead of malloc.
8901 (run_mac_command, closedir): Use `xfree' instead of `free'.
8902
8903 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
8904
8905 * eval.c (error): Use xfree instead of free.
8906
1fd4c450
GM
8907 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
8908
8909 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8910 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8911
82d497fc
KH
89122000-08-05 Kenichi Handa <handa@etl.go.jp>
8913
8914 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8915 conversion.
8916
59f953a2
NF
89172000-08-04 Noah Friedman <friedman@splode.com>
8918
8919 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8920 docstring.
8921
688351f2
GM
89222000-08-04 Gerd Moellmann <gerd@gnu.org>
8923
8924 * syntax.c (skip_chars): Fix typo in error message.
8925
2dad51cc
AS
89262000-08-04 Andreas Schwab <schwab@suse.de>
8927
8928 * m/ia64.h: Moved from s/ia64.h.
8929
99bb2c60
KH
89302000-08-04 Kenichi Handa <handa@etl.go.jp>
8931
082a1df2
KH
8932 * process.c (read_process_output): Big simplification. Handle
8933 composition and post-read-conversion of coding system correctly.
8934 (send_process): Handle composition correctly.
8935
8936 * callproc.c (Fcall_process): Handle post-read-conversion of
8937 coding system if any.
8938
99bb2c60
KH
8939 * coding.c (decode_coding_iso2022): More strict check for handling
8940 single shifting.
082a1df2
KH
8941 (coding_restore_composition): Pay attention to the case that
8942 cmp_data is not set properly (because of invalid code in the
8943 source text).
8944 (run_pre_post_conversion_on_str): Include text properties in the
8945 resulting string.
8946 (decode_coding_string): Set members of coding correctly.
99bb2c60 8947
f4988be7
GM
89482000-08-03 Gerd Moellmann <gerd@gnu.org>
8949
8950 * s/ia64.h: New file.
8951
8952 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8953 Use NULL instead of 0 at the end of variable argument list of
8954 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8955 sizeof (int) < sizeof (void *).
8956
8957 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8958 of variable argument lists of XtVaGetValues and XtVaSetValues.
8959
8960 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8961 variable argument lists of XtVaGetValues and XtVaSetValues.
8962
ead53494
GM
89632000-08-02 Gerd Moellmann <gerd@gnu.org>
8964
8965 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8966 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8967
8968 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8969 prototype.
8970
8971 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8972 in call to Fsingle_key_description.
8973
8974 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8975 Callers changed.
8976
89772000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8978
8979 * window.c (display_buffer_reuse_frames): New variable.
8980 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8981 frames displaying BUFFER.
52283633 8982 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8983
10b0f752
MB
89842000-08-01 Miles Bader <miles@gnu.org>
8985
8986 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8987 when to constrain NEW_POS (they were pretty screwed up before).
8988
16425c4a
EZ
89892000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8990
8991 * msdos.c (run_msdos_command): Save and restore the master
8992 environment, for the case that child_setup signals an error.
8993 When mirroring slashes in DOS shell commands, don't fail when
8994 argv[2] has embedded blanks.
da288c14
EZ
8995 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8996 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8997 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8998
8999 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9000 using alloca; free it after run_msdos_command returns.
9001
27f73852
DL
90022000-07-27 Dave Love <fx@gnu.org>
9003
52283633
SM
9004 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9005 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9006
9007 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9008
c0261b5e
EZ
90092000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9010
9011 * editfns.c (lisp_time_argument): Fix last change.
9012
b548072f
GM
90132000-07-27 Gerd Moellmann <gerd@gnu.org>
9014
3ab82477
GM
9015 * fns.c (Fdelete): Make it work on vectors and strings in addition
9016 to lists.
9017
b548072f
GM
9018 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9019 (syms_of_fns): Initialize new variables.
52283633 9020 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9021 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9022 weakness, with t meaning the same as `key-and-value'.
9023
91ae8751
KH
90242000-07-27 Kenichi Handa <handa@etl.go.jp>
9025
9026 * coding.h (struct coding_system): Member safe_charset deleted.
9027
9028 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9029 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9030 New variables.
91ae8751
KH
9031 (coding_safe_chars): New function.
9032 (CODING_SAFE_CHAR_P): New macro.
9033 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9034 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9035 (detect_coding_iso2022): New local variable safe_chars.
9036 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9037 safe_charsets member of the coding system.
9038 (decode_coding_iso2022): New local variable safe_chars.
9039 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9040 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9041 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9042 (ENCODE_UNSAFE_CHARACTER): New macro.
9043 (encode_coding_iso2022): New local variable safe_chars. Check
9044 unsafe chars.
9045 (setup_coding_system): Delete the code to initialize
9046 coding->safe_charses
9047 (intersection, find_safe_codings): New functions.
9048 (Ffind_coding_systems_region_internal): New function.
9049 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9050 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9051 variable and initialize it.
9052
9053 * fns.c (char_table_ref_and_index): New function.
9054
9055 * lisp.h (char_table_ref_and_index): Add prototype.
9056
34a7a267
SS
90572000-07-26 Sam Steingold <sds@gnu.org>
9058
9059 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9060 (Ffloat_time): New built-in Lisp function.
34a7a267 9061
a95cb10a
GM
90622000-07-26 Gerd Moellmann <gerd@gnu.org>
9063
3353ef5a
GM
9064 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9065 for the character code.
9066
9067 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9068 GNU/Linux.
9069
a95cb10a
GM
9070 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9071 if called for a popup menu.
9072 (xmenu_show): Store help string in widget values.
9073
b4a12321
DL
90742000-07-26 Dave Love <fx@gnu.org>
9075
9076 * syswait.h: Move some definitions.
9077 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9078 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9079 perspicuous definitions.
9080 (WTERMSIG): Fix bit pattern used.
9081
13f5ad37
KH
90822000-07-26 Kenichi Handa <handa@etl.go.jp>
9083
9084 * print.c (print_object): If vector printing is truncated, print
9085 "..." to indicate it as well as the case of list printing.
9086
070fe99c
GM
90872000-07-25 Gerd Moellmann <gerd@gnu.org>
9088
969065c3
GM
9089 * xdisp.c (next_element_from_display_vector): Improve comments.
9090
9091 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9092 for the character code, and the rest for the face id as in 20.x.
9093 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9094
9095 * window.c (window_display_table): Cleaned up.
9096
070fe99c
GM
9097 * syntax.c (Fforward_word): Add last arg nil in call of
9098 Fconstrain_to_field.
9099
bad77ef7
EZ
91002000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9101
969065c3 9102 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9103 identical but for the letter-case, don't call
9104 barf_or_query_if_file_exists.
bad77ef7 9105
c28da489
MB
91062000-07-25 Miles Bader <miles@gnu.org>
9107
9108 * editfns.c (find_field): Honor special `boundary' fields.
9109 (Qboundary): New variables.
9110 (syms_of_editfns): Initialize Qboundary.
9111 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9112 Use scan_buffer instead of find_before_next_newline, because it
9113 allows us to detect the boundary case where there's a newline at
9114 the search limit.
9115 * lisp.h (Fconstrain_to_field): Update external declaration.
9116
e3c31fd5
GM
91172000-07-24 Gerd Moellmann <gerd@gnu.org>
9118
9119 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9120 if that is nil.
c28da489 9121
c66c29a2
DL
91222000-07-24 Dave Love <fx@gnu.org>
9123
9124 * s/sunos4-0.h, s/sol2.h:
9125 (LIBS_TERMCAP): Move from m/sparc.h.
9126
9127 * m/sparc.h (TERMINFO): Moved to system files (probably only
9128 relevant for sunos4 judging by its vintage).
9129 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9130 __arch64__.
9131
fbe0a958
EZ
91322000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9133
9134 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9135 name to single_keymap_panes.
9136
7d88e5c9
AS
91372000-07-24 Andreas Schwab <schwab@suse.de>
9138
9139 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9140
e024b101
GM
91412000-07-24 Gerd Moellmann <gerd@gnu.org>
9142
9143 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9144 parameters instead of using int parameters. Expect FN to accept
9145 EMACS_INT parameters.
9146 (display_echo_area, resize_echo_area_axactly, current_message)
9147 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9148 with new argument list.
9149 (resize_mini_window_1): New callback function.
9150 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9151 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9152
25c1a9ce
KH
91532000-07-24 Kenichi Handa <handa@etl.go.jp>
9154
9155 * fontset.c (fontset_ref): Remove INLINE declaration.
9156 (fontset_ref_via_base): Likewise.
9157 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9158 to downcase.
9159
7f987ac0
EZ
91602000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9161
9162 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9163 correct order of priority. If help echo was found in an overlay,
9164 use that overlay as the object in which the help echo was found.
9165
e2db3069
MB
91662000-07-22 Miles Bader <miles@gnu.org>
9167
9168 * textprop.c (Fprevious_single_char_property_change): The initial
9169 property value should be from the position preceding POSITION, not
9170 following it.
9171
5e3203e4
EZ
91722000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9173
9174 * coding.c (syms_of_coding): Doc fix for
9175 inhibit-iso-escape-detection.
9176
62145073
GM
91772000-07-21 Gerd Moellmann <gerd@gnu.org>
9178
c20aeb83
GM
9179 * xterm.c (note_mouse_highlight): Process overlays in the right
9180 order of priority.
34a7a267 9181
743934db
GM
9182 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9183
9184 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9185 overlay, use that overlay as the object in which the help was found.
743934db 9186
d1dc7e43 9187 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9188
62145073
GM
9189 * window.c (foreach_window): Instead of a fake variable argument
9190 list, take one USER_DATA argument.
9191 (foreach_window_1): Likewise, and call callback functions with two
9192 args, the window and USER_DATA.
9193 (struct check_window_data): New struct.
9194 (check_window_containing): Use it.
9195 (window_from_coordinates): Set up a struct check_window_data for
9196 foreach_window.
9197 (add_window_to_list, freeze_window_start): Change parameters
9198 according to new calling convention.
9199
9200 * window.h (foreach_window): Change prototype.
9201
9202 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9203
92042000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9205
9206 * xmenu.c (menu_help_callback): Call show_help_echo with
9207 additional arguments OBJECT and POS.
9208
11270583
KH
92092000-07-21 Kenichi Handa <handa@etl.go.jp>
9210
07b14857
KH
9211 * data.c (Faset): Allow storing any multibyte character in a
9212 string. Convert unibyte string to multibyte if necessary.
9213
11270583
KH
9214 * xfns.c (x_encode_text): New function.
9215 (x_set_name): Use x_encode_text.
9216 (x_set_title): Likewise.
9217
9218 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9219
9220 * xterm.h (x_encode_text): Add prototype.
9221
bc75b4fd
DL
92222000-07-20 Dave Love <fx@gnu.org>
9223
9224 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9225 xfree, not free.
9226
48c14970
EZ
92272000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9228
9229 * msdos.c (help_echo_window): New variable.
9230 (syms_of_msdos): Initialize and staticpro it.
9231 (IT_note_mode_line_highlight): Set help_echo_window.
9232 (IT_note_mouse_highlight): Ditto.
9233 (dos_rawgetc): Store help_echo_window in the second event produced
9234 for HELP_EVENTs.
9235
9236 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9237 Record the object that generated the help echo and the position of
9238 that object in help_echo_object and help_echo_pos. Record that
9239 some glyphs in a row are displayed in mouse-face.
9240 (IT_update_begin): Don't clear mouse highlight unless one of the
9241 enabled glyph rows is marked as being displayed in mouse-face.
9242 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9243 and position recorded in help_echo_object and help_echo_pos to the
9244 event queue.
9245 (IT_menu_display): Accept a new argument PN: the pane number of
9246 the current menu pane. Record the pane number and the item
9247 number of the item which has associated help string.
9248 (XMenuActivate): Update the prototype for help_callback in
9249 function declaration. Call IT_menu_display with the current menu
9250 pane number as an additional argument. Call help_callback with
9251 two additional arguments: the pane number and the item number of
9252 the menu item associated with the help text.
9253 (help_echo_object, help_echo_pos): New variables.
9254 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9255
9256 * msdos.h (XMenuActivate): Update prototype.
9257
4279296d
GM
92582000-07-19 Gerd Moellmann <gerd@gnu.org>
9259
47db06aa
GM
9260 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9261 Add some more prototypes.
9262
9263 * xterm.c, xterm.h: Add some more prototypes.
9264
9265 * lisp.h (Fnext_single_char_property_change): Add prototype.
9266
9267 * dispnew.c (direct_output_for_insert): Remove confusing
9268 outer local variable mouse_face_overwritten_p.
9269 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9270
4279296d
GM
9271 * alloc.c (allocate_string_data): Don't copy old string contents.
9272
670acd62
KH
92732000-07-19 Kenichi Handa <handa@etl.go.jp>
9274
9275 * coding.c (code_convert_region): Delete text properties before
9276 shrinking the conversion region.
9277
7cea38bc
GM
92782000-07-18 Gerd Moellmann <gerd@gnu.org>
9279
dc1cac59
GM
9280 * dispnew.c (update_text_area): Write the whole row if it
9281 has mouse-face in it.
9282
85a8aca9
GM
9283 * xfaces.c (face-alternative-font-family-alist): Remove
9284 DEFVAR_LISP; staticpro instead.
9285
34a7a267 9286 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9287 new arguments.
9288
9289 * keyboard.c (show_help_echo): Add parameter WINDOW.
9290 (read_char): Call show_help_echo with window extracted from Lisp
9291 help event.
9292 (gen_help_event): Add parameter WINDOW.
9293
9294 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9295
9296 * xterm.c (help_echo_window): New variable.
52283633 9297 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9298 (XTread_socket): Pass help_echo_window to gen_help_event.
9299 (syms_of_xterm): Initialize and staticpro help_echo_window.
9300
f8276b77
DL
93012000-07-18 Dave Love <fx@gnu.org>
9302
52283633 9303 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9304
088831a6
GM
93052000-07-18 Gerd Moellmann <gerd@gnu.org>
9306
3d6cd763
GM
9307 * alloc.c (allocate_string_data): If string had already data
9308 assigned, copy old contents to new string data.
9309
9310 * coding.c (syms_of_coding): Fix typo in spelling of variable
9311 `inhibit-iso-escape-detection'.
9312
088831a6
GM
9313 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9314
9315 * Makefile.in: Add dependencies on dispextern.h.
9316 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9317 `free'; both can conflict with system header files.
9318
bc8a8d55
KH
93192000-07-18 Kenichi Handa <handa@etl.go.jp>
9320
9321 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9322 undefined.
9323
069f5950
DL
93242000-07-18 Dave Love <fx@gnu.org>
9325
9326 * window.c (Fwindow_list): Declare arg `window'.
9327
aa96c820
KH
93282000-07-18 Kenichi Handa <handa@etl.go.jp>
9329
9330 * coding.c (setup_coding_system): Don't override the explicitly
9331 specified designations.
9332
06be8d32
MB
93332000-07-15 Miles Bader <miles@gnu.org>
9334
9335 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9336 from `text_property_eq' and `text_property_stickiness', respectively.
9337 (find_field, Fconstrain_to_field, char_property_eq)
9338 (char_property_stickiness): Changed to call char-property functions
9339 instead of text-property-only ones.
9340
9341 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9342 `next_single_char_property_change'). Do more error checking, and
9343 cleanup limit behavior.
9344 (Fprevious_single_char_property_change): New function.
9345 (syms_of_textprop): Initialize new subrs.
9346
9347 * xdisp.c (display_prop_end, invisible_text_between_p):
9348 Call Fnext_single_char_property_change instead of
9349 next_single_char_property_change.
9350
3fddcdc3
JR
93512000-07-15 Jason Rumney <jasonr@gnu.org>
9352
9353 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9354 after menu is finished with.
9355 (add_menu_item): Only consider wv->title as a menu title.
9356 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9357
9358 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9359 null title.
9360 (FONT_REGEXP): Remove unused macro, and its sub-components.
9361 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9362
9363 * w32term.c (help_echo_object, help_echo_pos): New variables.
9364 (note_mode_line_highlight): Store additional information about the
9365 help-echo in help_echo_object and help_echo_pos. Check both
9366 `local-map' and `keymap' properties for changing the cursor
9367 (note_mouse_highlight): Store additional information about the
9368 help-echo in help_echo_object and help_echo_pos.
9369 (note_tool_bar_highlight): Set help_echo_object to nil and
9370 help_echo_pos to -1.
9371 (w32_read_socket): Use gen_help_event instead of filling
9372 input_events manually.
9373 (syms_of_w32term): Staticpro help_echo_object.
9374 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9375 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9376 (x_clear_mouse_face): New function.
9377 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9378 (x_update_window_begin): No need to turn off the mouse
9379 highlight here.
9380 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9381 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9382 (x_fill_stretch_glyph_string): Consume runs of stretch
9383 glyphs instead of a single one.
9384 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9385 with new argument list.
9386 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9387 (x_append_glyph, x_append_composite_glyph)
9388 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9389 changes in struct glyph starting 1999-12-27. See comments for
9390 xterm.c on 2000-07-05.
9391
178c5d9c
SS
93922000-07-14 Sam Steingold <sds@gnu.org>
9393
9394 * xfaces.c (realize_x_face): Fix the last patch:
9395 check `default_face' before dereferencing.
9396
6fe533f6
DL
93972000-07-14 Dave Love <fx@gnu.org>
9398
069f5950 9399 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9400
dd7b81cf
KH
94012000-07-14 Kenichi Handa <handa@etl.go.jp>
9402
0693904a 9403 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9404 default_face's fontset, not using the default fontset.
0693904a 9405
dd7b81cf
KH
9406 * coding.c (inhibit_iso_escape_detection): New variable.
9407 (syms_of_coding): Make it a Lisp variable.
9408 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9409 nonzero, ignore ISO2022's escape sequence.
9410
d5aa31d8
GM
94112000-07-14 Gerd Moellmann <gerd@gnu.org>
9412
e5acf0ca
GM
9413 * alloca.c (malloc) [emacs]: Define as xmalloc.
9414
bd23a692
GM
9415 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9416 use that instead of the mouse position. Add parameters DX and DY.
9417
9418 * dispextern.h (Fx_show_tip): Adjust number of parameters
9419 in prototype.
9420
9662da0b
GM
9421 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9422 if HELP is a function, call it with OBJECT and POS as parameters
9423 to get the help to display.
9424 (gen_help_event, kbd_buffer_store_help_event): New functions.
9425 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9426 (read_char): Call show_help_echo with new parameters.
9427
178c5d9c 9428 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9429 Add prototypes.
9430
9431 * xterm.c (help_echo_object, help_echo_pos): New variables.
9432 (note_mode_line_highlight): Store additional information about the
9433 help-echo in help_echo_object and help_echo_pos. Check both
9434 `local-map' and `keymap' properties for changing the cursor
9435 (note_mouse_highlight): Store additional information about the
9436 help-echo in help_echo_object and help_echo_pos.
9437 (note_tool_bar_highlight): Set help_echo_object to nil and
9438 help_echo_pos to -1.
9439 (XTread_socket): Use gen_help_event instead of filling
9440 input_events manually.
9441 (syms_of_xterm): Staticpro help_echo_object.
9442
9443 * xmenu.c (menu_highlight_callback): Use
9444 kbd_buffer_store_help_event instead of setting up and input_event
9445 structure manually.
9446
9447 * xdisp.c (eval_form): GCPRO argument sexpr.
9448 (call_function): New function.
9449 (handle_single_display_prop): Use call_function and FUNCTIONP
9450 instead of checking whether if font_height is a symbol and
9451 using eval_form.
9452
9453 * eval.c (internal_condition_case_2): New function.
9454
9455 * lisp.h (FUNCTIONP): New macro.
9456 (internal_condition_case_2, call_function): Add prototypes.
9457
d5aa31d8
GM
9458 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9459 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9460 Always set `arg' member of input_events.
9461 (construct_menu_click): Unused function removed.
9462
9463 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9464
9465 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9466 (construct_drag_n_drop, x_scroll_bar_handle_click)
9467 (w32_read_socket): Always set `arg' member of input_events.
9468
9469 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9470
9471 * lisp.h (eval_form): Add prototype.
9472
9473 * xdisp.c (eval_form): Make it externally visible.
9474
0f1a9b23
GM
94752000-07-13 Gerd Moellmann <gerd@gnu.org>
9476
9477 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9478 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9479 consing. For prefix events, store the frame in the `arg' slot of
9480 the event, otherwise store the key there.
9481 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9482 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9483
9484 * xmenu.c (menu_highlight_callback): Store help string in the
9485 `arg' member of the input event; don't cons.
9486 (menubar_selection_callback): Use the `arg' slot of input events
9487 to queue additional information, instead of consing.
9488
9489 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9490
9491 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9492 TOOL_BAR_EVENTs.
9493 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9494
9495 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9496 input events to queue additional information, instead of consing.
9497
9498 * keyboard.c (kbd_buffer_gcpro): Renamed from
9499 kbd_buffer_frame_or_window. Now used for all Lisp objects
9500 referenced from the input queue.
9501 (kbd_buffer_store_event): Always use structure assignment for
9502 copying input events. Record all Lisp objects referenced from
9503 events in kbd_buffer_gcpro.
9504 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9505 differently from input events. Test for prefix menu_bar_events
9506 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9507 event in kbd_buffer_gcpro to nil.
9508 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9509 frame_or_window is equal to its arg member as prefix events.
9510 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9511 used by an input event to nil.
9512 (init_keyboard): Use two times the size of the input queue
9513 for kbd_buffer_gcpro.
9514 (syms_of_keyboard): Likewise.
9515
52283633
SM
9516 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9517 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9518
9519 * termhooks.h (struct input_event): Add member `arg'.
9520 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9521 (USER_SIGNAL_EVENT): Renamed from user_signal.
9522
9523 * xfaces.c (ASET): Remove definition.
9524
9525 * lisp.h (AREF, ASET, ASIZE): New macros.
9526
9527 * fontset.c (AREF, ASIZE): Remove definitions.
9528
9529 * fns.c (AREF): Remove definition.
178c5d9c 9530
0f1a9b23
GM
9531 * composite.c (AREF): Remove definition.
9532
712eaef2
GM
95332000-07-12 Gerd Moellmann <gerd@gnu.org>
9534
d8ee7803
GM
9535 * dispnew.c (redraw_overlapped_rows): Add missing local.
9536 (scrolling_window): Remove debug code.
9537
712eaef2
GM
9538 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9539 Before scrolling, turn off a mouse-highlight in the window
9540 being scrolled.
9541
9542 * xterm.c (x_update_window_end): Add parameter
9543 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9544 redisplay in XTframe_up_to_date.
9545 (x_clear_mouse_face): New function.
9546 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9547
9548 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9549 current glyph row.
9550 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9551 it when any row is written to that contains glyphs highlighted in
9552 mouse-face.
9553 (update_window): Call the window update end hook with new
9554 parameter MOUSE_FACE_OVERWRITTEN_P.
9555 (direct_output_for_insert): Give up if row contains mouse-face.
9556
9557 * dispextern.h (struct redisplay_interface): Add parameter
9558 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9559 (clear_mouse_face): New function pointer member.
9560
02010917
SM
95612000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9562
9563 * syntax.c (back_comment): Use one switch rather than a few `if's.
9564 Obey open_paren_in_column_0_is_defun_start.
9565 When reverting to the `slow' method, try to nicely handle the case
9566 of nested comments by checking that the comment-starter we found
9567 does indeed match the comment-ender.
9568 (scan_sexps_forward, scan_sexps_forward):
9569 Ignore excessive opening parenthesis rather than throwing an error.
9570
d76c03ea
GM
95712000-07-11 Gerd Moellmann <gerd@gnu.org>
9572
9573 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9574 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9575
9576 * dispnew.c (direct_output_forward_char): Give up if currently
9577 displaying a message instead of the minibuffer contents.
9578
9579 * xterm.c (x_update_window_begin): No need to turn off the mouse
9580 highlight here.
9581 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9582 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9583
9584 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9585 compare the mouse_face_p flags of both rows.
9586
9587 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9588
d55ead18
EZ
95892000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9590
9591 * keyboard.c (show_help_echo): Accept additional parameter
9592 ok_to_overwrite_keystroke_echo.
9593 (read_char): Call show_help_echo with a zero
9594 ok_to_overwrite_keystroke_echo argument.
52283633 9595 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9596 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9597 ok_to_overwrite_keystroke_echo argument.
9598 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9599 non-zero ok_to_overwrite_keystroke_echo argument.
9600
df75b1a3
GM
96012000-07-10 Gerd Moellmann <gerd@gnu.org>
9602
4b92c49a
GM
9603 * xdisp.c (try_window_id): If changes are all below what is
9604 displayed in the window, and point is in the window, we still
9605 might have to find point on the display.
9606
9607 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9608 glyphs instead of a single one.
9609 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9610 with new argument list.
9611 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9612
df75b1a3
GM
9613 * keymap.c (get_keymap_1): Add comment that this function can GC.
9614 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9615 comment that functions can GC.
9616 (Fset_keymap_parent): GCPRO arg KEYMAP.
9617
4314cf3e
EZ
96182000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9619
9620 * msdos.c (XMenuActivate): After exiting the menu, restore the
9621 echo area message and erase it.
9622
ab49ce15
KH
96232000-07-10 Kenichi Handa <handa@etl.go.jp>
9624
9625 * fontset.c (Ffontset_info): Make the return value more compatible
9626 with that of Emacs 20.
9627
090a072f
GM
96282000-07-07 Gerd Moellmann <gerd@gnu.org>
9629
9630 * eval.c (Fsignal): Handle case that backtrace_list is null.
9631
f92de4a6
KH
96322000-07-07 Kenichi Handa <handa@etl.go.jp>
9633
9634 * ccl.c (Fccl_execute): Typo fixed.
9635
dd8888a1
GM
96362000-07-06 Gerd Moellmann <gerd@gnu.org>
9637
e5c81191 9638 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9639
dd8888a1
GM
9640 * window.c (Fwindow_list): Reverse list at the end.
9641 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9642 means allow windows on OWINDOW's frame, only.
9643 (window_loop): Simplified; use Fwindow_list.
9644
9645 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9646
485266d0
GM
96472000-07-05 Gerd Moellmann <gerd@gnu.org>
9648
9649 * xterm.c (XTread_socket): Increment handling_signal at the start,
9650 decrement it at the end.
9651
9652 * eval.c (handling_signal): New variable.
9653 (Fsignal): Abort if handling_signal is non-zero.
9654
9655 * lisp.h (handling_signal): External declaration.
178c5d9c 9656
485266d0
GM
9657 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9658
80fcd514
KR
96592000-07-05 Ken Raeburn <raeburn@gnu.org>
9660
9661 Sound support for NetBSD through "Linux emulation" support:
9662 * config.in (HAVE_SOUNDCARD_H): Undef.
9663 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9664 * Makefile.in (LIBSOUND): New variable.
9665 (LIBES): Include it.
52283633
SM
9666 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9667 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9668 (vox_open): Use DEFAULT_SOUND_DEVICE.
9669 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9670
d5c5cddd
GM
96712000-07-05 Gerd Moellmann <gerd@gnu.org>
9672
9673 * print.c (print_error_message): If Vsignaling_function is set,
9674 show it in *Messages*.
9675
9676 * lisp.h (Vsignaling_function): External declaration.
9677
9678 * eval.c (Vsignaling_function): New variable.
9679 (Fsignal): Compute it.
9680 (syms_of_eval): Staticpro it.
9681
65171e3a
DL
96822000-07-05 Dave Love <fx@gnu.org>
9683
9684 * syswait.h: Use the autoconf recommended approach. Old code
9685 #if'd out in case we need to revert.
9686
178c5d9c 9687 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 9688
e2c46326
AI
96892000-07-05 Andrew Innes <andrewi@gnu.org>
9690
9691 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
9692 when non-NULL instead of __morecore, to take account of buffer
9693 memory. This also solves a problem with spurious memory warnings
9694 on Windows.
9695
9696 * ralloc.c: Make real_morecore non-static.
9697
9698 * eval.c (internal_condition_case): Comment out abort if
9699 interrupt_input_blocked is not zero.
9700
9701 * makefile.nt: Add support for `bootstrap' and related targets.
9702 Include minimal debug info in emacs.exe in release build.
9703 Remove all dependencies on lisp.h, and fixup some others.
9704
9705 * w32.c (init_environment): Install code from 20.7 for providing
9706 default values for environment variables, based on the
9707 executable's own location.
52283633 9708 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
9709 (sys_socket): Install socket inheritance bug fix from 20.7.
9710
9711 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
9712 here via blockinput.h).
9713
a027a91b
SM
97142000-07-05 Stefan Monnier <monnier@cs.yale.edu>
9715
e4b31601
SM
9716 * w32menu.c (w32_menu_display_help):
9717 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
9718
9719 * keyboard.h (show_help_echo): Declare.
9720
9721 * keyboard.c (show_help_echo): New function, extracted from read_char.
9722 Feval its `msg' argument if it's a cons cell.
9723 (read_char): Use it.
4cf8d9d5 9724 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 9725
178c5d9c 9726 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 9727 (note_tool_bar_highlight, XTread_socket):
178c5d9c 9728 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
9729 (dos_rawgetc):
9730 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9731 (note_tool_bar_highlight, w32_read_socket):
9732 Do not gratuitously ignore non-string `help-echo' properties.
9733
88d75730
GM
97342000-07-05 Gerd Moellmann <gerd@gnu.org>
9735
969f7e79
GM
9736 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9737
71201b00
GM
9738 * window.c (delete_all_subwindows): Reset Vwindow_list.
9739
88d75730
GM
9740 * xterm.c (x_append_glyph, x_append_composite_glyph)
9741 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9742 changes in struct glyph starting 1999-12-27. Some bit-fields of
9743 struct glyph were not set, which made glyphs unequal when compared
9744 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9745 effects were the result. This also depended on the contents of
9746 memory returned by xmalloc. If flickering happens again, activate
9747 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9748 gone with that, chances are that it is caused by something similar.
88d75730
GM
9749
9750 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9751
88d75730
GM
9752 * dispextern.h: Add some comments.
9753
9754 * window.c (add_window_to_list): Add parameter LIST.
9755 (window_list): Order list so that, for each frame, windows are
9756 in canonical order, and so that frames appear in the list in
9757 the order given by Vframe_list.
9758 (next_window): Reverse the handling of NEXT_P.
9759
53654733
GM
97602000-07-04 Gerd Moellmann <gerd@gnu.org>
9761
87efd256
GM
9762 * window.c (Vwindow_list): New variable.
9763 (make_window, delete_window): Set Vwindow_list to nil.
9764 (check_window_containing): New function.
9765 (window_from_coordinates): Rewritten.
9766 (add_window_to_list, window_list, candidate_window_p)
9767 (decode_next_window_args, next_window): New functions.
52283633 9768 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
9769 (Fwindow_list): New function.
9770 (Fother_window): Cleaned up.
9771 (foreach_window): Add a longer "variable argument list". Let
9772 callback function return 0 to indicate that cycling over windows
9773 should stop.
9774 (foreach_window_1): Likewise.
9775 (freeze_window_start): Return int.
9776 (init_window): New function.
9777 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9778
9779 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9780 input_event with bzero.
9781 (main): Call init_window.
9782
53654733
GM
9783 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9784 a menu filter.
9785
4a8c194f
KH
97862000-07-04 Kenichi Handa <handa@etl.go.jp>
9787
9788 * composite.h (make_composition_value_copy): Extern it.
9789
9790 * composite.c (make_composition_value_copy): New function.
9791
9792 * editfns.c (Fformat): While copying text properties, make each
9793 composition property value a copy.
9794
9795 * fns.c (concat): While copying text properties, make each
9796 composition property value a copy.
9797
831a6cb0
GM
97982000-07-03 Gerd Moellmann <gerd@gnu.org>
9799
2f516940
GM
9800 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9801
178c5d9c 9802 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9803 marked already.
9804
831a6cb0
GM
9805 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9806 include those frames as candidates which have their focus
9807 redirected to the minibuffer frame.
9808
d9c4f922
SM
98092000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9810
9811 * fns.c (Fputhash): Return `value' rather than nil.
9812
3780bc22
GM
98132000-06-30 Gerd Moellmann <gerd@gnu.org>
9814
97d176db
GM
9815 * frame.c (next_frame): Don't check focus redirection in case
9816 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9817 unless their focus is redirected, which contradicts the
9818 specification of next-frame, and leads to infinite loops in
9819 certain situations when cycling through windows with next-window.
9820
dca9961d
KH
98212000-06-30 Kenichi Handa <handa@etl.go.jp>
9822
9823 * coding.c (code_convert_region): Even if the length of text is
9824 zero, try to convert it if coding->type is coding_type_ccl.
9825 (decode_coding_string, encode_coding_string): Likewise.
9826
d5483ab1
GM
98272000-06-28 Gerd Moellmann <gerd@gnu.org>
9828
af5c25e1 9829 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 9830 the display if windows_or_buffers_changed.
af5c25e1
GM
9831
9832 * dispnew.c (struct row_entry): New structure.
9833 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9834 (row_table_size, old_lines, new_lines, old_lines_size)
9835 (new_lines_size, run_pool, runs_size, runs): New variables.
9836 (add_row_entry): New function.
9837 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 9838 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
9839 holding them in local variables. Use a larger hash table whose
9840 size depends on glyph matrix sizes. Don't use bzero to clear the
9841 hash table; instead, clear used slots only.
9842
9843 * fns.c (next_almost_prime): Make it externally visible.
9844
9845 * lisp.h (next_almost_prime): Add prototype.
9846
d5483ab1
GM
9847 * s/isc4-0.h (sigunblock): Define.
9848
9849 * s/sco5.h (sigunblock): Define.
9850
93e40f40
DL
98512000-06-27 Dave Love <fx@gnu.org>
9852
9853 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9854 (moved to osf5-0.h).
9855 [!NOT_C_CODE]: Protect string.h stuff.
9856
9857 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9858 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9859
3c4b7685
GM
98602000-06-27 Gerd Moellmann <gerd@gnu.org>
9861
97d176db 9862 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
9863 below the last line from the needed window height.
9864
32cad0aa
SM
98652000-06-26 Stefan Monnier <monnier@cs.yale.edu>
9866
9867 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
9868 (Fwidget_get): Use it.
9869 (syms_of_fns): Defsubr it.
9870
2c69ced2
GM
98712000-06-26 Gerd Moellmann <gerd@gnu.org>
9872
178c5d9c 9873 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
9874 display info for XIM.
9875 (xim_open_dpy): Likewise.
9876 (xim_close_dpy): Don't free the display info's XIM.
9877
9878 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
9879
9880 * config.in (USE_XIM): New define.
9881
3fc720e4
GM
9882 * keymap.c (get_keyelt): For menu-items containing a `:filter
9883 FILTER', apply FILTER to the menu-item's definition to get the
9884 real definition to use.
9885
9886 * lisp.h (QCfilter): External declaration.
9887
2c69ced2
GM
9888 * xfns.c (Fimage_size): New function.
9889 (syms_of_xfns): Defsubr it.
9890
f978b2a2
AS
98912000-06-26 Andreas Schwab <schwab@suse.de>
9892
9893 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
9894 Fstring_as_unibyte.
9895
94cc7892
DL
98962000-06-25 Dave Love <fx@gnu.org>
9897
52283633 9898 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
9899
9900 * Makefile.in (blockinput.h): Depend on atimer.h.
9901 (atimer.h): Depend on systime.h.
9902
52283633 9903 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 9904
52283633 9905 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
9906
9907 * lisp.h (swap_in_global_binding): Declare.
9908
b8c24556
KR
99092000-06-24 Ken Raeburn <raeburn@gnu.org>
9910
9911 * process.c (Fopen_network_stream): Turn off atimers for duration
9912 of call to connect. (Patch from Gerd.)
9913
8cf8560b
DL
99142000-06-23 Dave Love <fx@gnu.org>
9915
511c7541
DL
9916 * ralloc.c: Maybe include unistd.h
9917
8cf8560b
DL
9918 * emacs.c (setgrp): Undefine before defining.
9919 (malloc_warning, set_time_zone_rule, index): Prototype.
9920
9921 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9922 HAVE_STRUCT_TIMEZONE.
9923
9924 * s/osf1.h: Move string.h hack here from alpha.h and make it
9925 conditional.
9926 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9927 _XOPEN_SOURCE.
9928 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9929 (SOCKLEN_TYPE): Don't define.
9930
9931 * m/alpha.h: Remove string.h hack.
9932
9933 * s/osf5-0.h: New file.
9934
9935 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9936 include time.h, done by systime.h.
9937 [__FreeBSD__]: Remove redundant includes.
9938
3fc720e4 9939 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9940 (delete_temp_file): Return Qnil to avoid warning.
9941
9942 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9943
9944 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9945 HAVE_X_WINDOWS.
9946
9947 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9948
9949 * composite.h (compose_text): Declare.
9950
9951 * xterm.c: Don't include sys/types.h unconditionally. Don't
9952 protect its inclusion with !USG (following xmenu.c).
9953
ea055732
GM
99542000-06-23 Gerd Moellmann <gerd@gnu.org>
9955
9956 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9957 in x_create_frame.
9958
74b01b80
EZ
99592000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9960
9961 * coding.c (decode_eol_post_ccl): Special handling for undecided
9962 and inconsistent EOL types.
9963
64f3a166
GM
99642000-06-22 Gerd Moellmann <gerd@gnu.org>
9965
16cf31f7
GM
9966 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9967 trough color and main window's background color.
9968
52283633 9969 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9970
9971 * xterm.h (Xt_app_con): External declaration.
9972
9973 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9974
486a103d
GM
9975 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9976
64f3a166
GM
9977 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9978 (handle_invisible_prop): Record the start of invisible text in
9979 it->add_overlay_start.
9980 (struct overlay_entry): Add member `overlay'.
9981 (handle_overlay_change): Simplify.
9982 (next_overlay_string): After having processed overlay strings at the
9983 end of the buffer, record that fact in
9984 it->overlay_strings_at_end_processed_p.
9985 (compare_overlay_entries): If before- and after-strings come
9986 from the same overlay, let before-strings come first.
9987 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9988 (load_overlay_strings): Take it->add_overlay_start into account
9989 when adding overlay strings.
9990
9991 * dispextern.h (struct it): Add member add_overlay_start.
9992
bb746ea6
DL
99932000-06-22 Dave Love <fx@gnu.org>
9994
9995 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9996
9997 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9998
a8f573f3
KH
99992000-06-22 Kenichi Handa <handa@etl.go.jp>
10000
10001 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10002 is greater than 0.
10003
9f2bbc92
DL
100042000-06-21 Dave Love <fx@gnu.org>
10005
178c5d9c 10006 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10007
3ee5041c
SM
100082000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10009
10010 * syntax.c (back_comment): Simplify string-parity counting (with
10011 the added benefit of handling multiple string-styles as long as
10012 they are not intertwined).
10013 Jump to the slow code as soon as a comment starter is found in
10014 a "string_lossage" position. Fixes the case: " /* " /* " */.
10015
4c343001
DL
100162000-06-21 Dave Love <fx@gnu.org>
10017
10018 * Makefile.in: Use GETLOADAVG_LIBS.
10019
10020 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10021 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10022
e6365855
SM
100232000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10024
10025 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10026 (Fforward_comment, scan_lists):
10027 Check the comstyle of single-char comment-starters.
10028 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10029 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10030 Check the comstyle of single-char comment-starters.
10031 Clarify control-flow around the Scomment case.
e6365855 10032
5700d2cc
DL
100332000-06-20 Dave Love <fx@gnu.org>
10034
d355bd8a
SM
10035 * fns.c (make_hash_table, maybe_resize_hash_table):
10036 Cast arg of next_almost_prime.
5700d2cc 10037
178c5d9c 10038 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10039
10040 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10041 and unistd.h.
10042
4a27bdfb
GM
100432000-06-20 Gerd Moellmann <gerd@gnu.org>
10044
a61d762c 10045 * keyboard.c (adjust_point_for_property): Check if display
52283633 10046 property should be treated as intangible by looking at its value.
a61d762c 10047
178c5d9c 10048 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10049 (display_prop_intangible_p): New functions.
10050
10051 * dispextern.h (display_prop_intangible_p): Add prototype.
10052
10053 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10054
4a27bdfb
GM
10055 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10056 argument to sigprocmask.
10057
10058 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10059 argument to sigprocmask.
10060
10061 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10062 sigprocmask_set, and pass a pointer to it to sigprocmask.
10063
10064 * sysdep.c (sigprocmask_set): New variable.
10065
10066 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10067 report_file_error.
10068
427ec082
SS
100692000-06-20 Sam Steingold <sds@gnu.org>
10070
10071 * xrdb.c: Don't declare xmalloc, xrealloc.
10072
8972fe79 100732000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10074
10075 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10076 (re_comp): Cast gettext return value to avoid complaints when
10077 !HAVE_LIBINTL.
10078
074b6efe
DL
100792000-06-20 Dave Love <fx@gnu.org>
10080
52283633 10081 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10082
5700d2cc 10083 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10084
d355bd8a 10085 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10086
10087 * m/alpha.h: Don't declare xmalloc, xrealloc.
10088
0af4f205
DL
10089 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10090
10091 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10092
10093 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10094
10095 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10096 HAVE_GETWD.
10097
074b6efe
DL
10098 * keyboard.h (poll_for_input_1): Declare.
10099
10100 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10101
10102 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10103
10104 * doprnt.c: Don't declare xmalloc, xrealloc.
10105
10106 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10107 (getenv, ctime, getwd): Removed.
10108 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10109
10110 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10111 x_set_tool_bar_lines.
10112
10113 * config.in: Add HAVE_GETWD. Move some definitions above
10114 machine/system includes.
10115
68a5e97b
KH
101162000-06-20 Kenichi Handa <handa@etl.go.jp>
10117
95417e1e
KH
10118 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10119
68a5e97b
KH
10120 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10121 contain information about ENCODING.
10122
10123 * fontset.c (FONTSET_ASCII): Use the first element of char table
10124 for an ASCII font, not defalt slot.
10125 (fontset_ref_via_base): If FONTSET doesn't contain information for
10126 C, try the default fontset.
10127 (make_fontset): Don't copy the default fontset.
10128 (fontset_font_pattern): Likewise.
10129 (accumulate_font_info): If ELT is nil, use the corresponding
10130 element in the default fontset.
10131
3b4fa1b2
DL
101322000-06-19 Dave Love <fx@gnu.org>
10133
943e731c
DL
10134 * syntax.c (Fparse_partial_sexp): Doc fix.
10135
10136 * regex.h: Test PROTOTYPES as well as __STDC__.
10137
3b4fa1b2
DL
10138 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10139 errno, strerror. Put text after #endif in comment.
10140
52283633 10141 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10142
10143 * xterm.c (x_frame_of_widget): Likewise.
10144
cdf0357b
GM
101452000-06-19 Gerd Moellmann <gerd@gnu.org>
10146
10147 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10148 to Vfundamental_mode_abbrev_table.
10149
10150 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10151 bogus objects are marked. This slows down GC by ~80 percent, but
10152 it might be worth trying when debugging GC-related problems.
10153 This feature requires conservative stack marking to be enabled.
10154
10155 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10156 returns XLookupChars, reset `modifiers' to zero.
10157
998e9f8c
DL
101582000-06-19 Dave Love <fx@gnu.org>
10159
10160 * mktime.c: Unprotoized.
10161
18e21ce8 101622000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10163
10164 * data.c (set_internal): If variable is frame-local,
10165 store the new value immediately into the frame parameter alist.
10166
140c4ac6
KR
101672000-06-19 Ken Raeburn <raeburn@gnu.org>
10168
14358466
KR
10169 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10170 in the custom handler pointer.
10171
140c4ac6
KR
10172 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10173 value, or checks for CHAR_META can fail when Lisp_Object is a
10174 union type.
10175 * keymap.c (get_keyelt): Likewise.
10176
10d7bf84
KH
101772000-06-19 Kenichi Handa <handa@etl.go.jp>
10178
10179 * ccl.h (struct ccl_program): New member eol_type.
10180 (struct ccl_spec): New member cr_carryover.
10181
10182 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10183 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10184
10185 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10186 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10187 (decode_eol_post_ccl): New function.
10188 (decode_coding): Don't detect EOL format here for CCL based coding
10189 systems.
10190 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10191 decode_eol_post_ccl after running the CCL program.
10192 (code_convert_region): Don't detect EOL format here for CCL based
10193 coding systems.
10194 (decode_coding_string): Likewise.
10195
52e386c2
KR
101962000-06-18 Ken Raeburn <raeburn@gnu.org>
10197
10198 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10199 when treating it as an integer.
10200
10201 * coding.h (encode_coding_string): Declare.
10202
10203 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10204 it as an integer.
10205
10206 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10207 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10208 to be passed to get_local_map.
10209
10210 * sound.c (Fplay_sound): Don't call make_number on
10211 Frun_hook_with_args count argument.
10212
10213 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10214 for lisp objects in X event structure data field, when lisp
10215 objects are represented with unions.
10216 (x_scroll_bar_to_input_event): Ditto.
10217
b357b9d4
KR
102182000-06-16 Ken Raeburn <raeburn@gnu.org>
10219
10220 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10221 termination of string. Fix sense of test whether
10222 Vline_number_display_limit is an integer.
b357b9d4 10223
a871441d
GM
102242000-06-16 Gerd Moellmann <gerd@gnu.org>
10225
a9021acd
GM
10226 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10227 only if HAVE_X_WINDOWS.
10228
6344985d
GM
10229 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10230 of titles.
10231
427ec082 10232 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10233 out of bounds.
10234
228b083e
EZ
102352000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10236
10237 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10238 of its headers.
10239
c25b53a2
KH
102402000-06-15 Kenichi Handa <handa@etl.go.jp>
10241
10242 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10243 start of the while loop.
10244
a6981b11
GM
102452000-06-15 Gerd Moellmann <gerd@gnu.org>
10246
e9924e52
GM
10247 * atimer.c (alarm_signal_handler): Add forward declaration.
10248
a6981b11
GM
10249 * data.c (set_internal): Remove debug code.
10250
25fa6deb
GM
102512000-06-14 Gerd Moellmann <gerd@gnu.org>
10252
dce6b995
GM
10253 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10254
9f817ea4
GM
10255 * unexec.c (toplevel) [COFF]: Include coff.h.
10256
10257 * s/lynxos.h: New file.
10258
10259 * keymap.c (Fsingle_key_description): Enclose function key and
10260 event symbol names in angle brackets.
10261
8a4e3c0c
GM
10262 * xdisp.c (setup_echo_area_for_printing): Call
10263 message_log_maybe_newline if message_buf_print is not set.
10264
10265 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10266 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10267 function does something useful even when message_buf_print is
10268 already set.
10269
52283633
SM
10270 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10271 New variables.
25fa6deb
GM
10272 (ensure_echo_area_buffers): Initialize echo buffer's
10273 truncate lines setting to nil.
10274 (with_echo_area_buffer): Don't set the echo buffer's truncate
10275 lines setting here.
8a4e3c0c 10276 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10277 of message_truncate_lines.
10278 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10279 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10280 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10281
10282 * keyboard.c (read_char): Bind message-truncate-lines to t
10283 while displaying a help-echo.
10284
10285 * lisp.h (Qmessage_truncate_lines): External declaration.
10286
163dcff3
GM
102872000-06-13 Gerd Moellmann <gerd@gnu.org>
10288
1681ead6
GM
10289 * xdisp.c (Vline_number_display_limit): Renamed from
10290 line_number_display_limit.
10291 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10292 Extend documentation string. Initialize
10293 Vline_number_display_limit to nil meaning no limit.
10294 (decode_mode_spec): Use Vline_number_display_limit with its new
10295 meaning.
10296
163dcff3
GM
10297 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10298
18e21ce8 102992000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10300
10301 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10302
163dcff3
GM
10303 * xfns.c (x_set_frame_parameters): Comment fix.
10304
10305 * frame.c (store_frame_param): Call swap_in_global_binding if the
10306 variable's current binding was chosen based on this frame.
10307
10308 * data.c (swap_in_global_binding): New function.
10309
a704139d
EZ
103102000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10311
10312 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10313 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10314
9b6610db
EZ
103152000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10316
10317 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10318
c68833d2
JR
103192000-06-12 Jason Rumney <jasonr@gnu.org>
10320
10321 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10322
10323 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10324
10325 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10326
10327 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10328
ed1056b3
GM
103292000-06-12 Gerd Moellmann <gerd@gnu.org>
10330
10331 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10332 (syms_of_xfaces): Defsubr Sdump_colors.
10333 (x_free_colors): Don't treat b&w specially on default visual.
10334 (x_free_dpy_colors): New function.
10335 (free_face_colors): Don't check visual class; it's done
10336 in x_free_colors.
10337
10338 * xterm.c (x_frame_of_widget): New function.
10339 (x_alloc_nearest_color_for_widget): Use it.
10340 (x_copy_dpy_color): New function.
10341 (x_destroy_window): Free various colors.
10342
5050a2ef
KH
103432000-06-12 Kenichi Handa <handa@etl.go.jp>
10344
10345 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10346
10347 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10348
10349 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10350
10351 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10352
10353 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10354
fb1b041d
DL
103552000-06-11 Dave Love <fx@gnu.org>
10356
10357 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10358
ff96b5f4
EZ
103592000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10360
10361 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10362
db8eeecd
GM
103632000-06-11 Gerd Moellmann <gerd@gnu.org>
10364
ed1056b3 10365 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10366 to `XEvent *'.
10367
49b71c5f
KH
103682000-06-10 Kenichi Handa <handa@etl.go.jp>
10369
c479bd55
KH
10370 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10371 (regex_compile): Fix the code for handling the case of single byte
10372 char and multibyte char being mixed in a range within [...].
10373
ff6a65c2
KH
10374 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10375 and dst_multibyte members of coding.
10376
49b71c5f
KH
10377 * charset.c (update_charset_table): Update the table
10378 bytes_by_char_head.
10379 (init_charset_once): Initialize elements of bytes_by_char_head to
10380 1 except for leading codes for private charases.
10381
10382 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10383 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10384
9e80b57d
KR
103852000-06-09 Ken Raeburn <raeburn@gnu.org>
10386
10387 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10388 access the data it doesn't point to.
10389
f83fe4b4
GM
103902000-06-08 Gerd Moellmann <gerd@gnu.org>
10391
10392 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10393 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10394 event queue. This is necessary because Emacs otherwise won't
10395 perform a switch-frame to a new frame until some other event, for
10396 example a keystroke event, forces it to do so. This has various
10397 effects, one visible being that the cursor of a frame created with
10398 C-x 5 2 or switched to with a window manager key binding like
10399 A-TAB stays hollow because selected_window isn't on the newly
10400 focused frame until the switch-frame is performed.
10401
10402 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10403 generating a switch-frame event if necessary.
10404
10405 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10406
10407 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10408 it's an integer.
10409
0890801b
KH
104102000-06-08 Kenichi Handa <handa@etl.go.jp>
10411
52283633 10412 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10413
173cbca8
GM
104142000-06-07 Gerd Moellmann <gerd@gnu.org>
10415
3091c2a6
GM
10416 * window.c (displayed_window_lines): Take empty lines at
10417 the bottom of a window into account.
427ec082 10418
f38952fe
GM
10419 * window.c (displayed_window_lines): New function.
10420 (Fmove_to_window_line): Use displayed_window_lines to determine
10421 the number of lines to move, instead of using the window's height.
10422
10423 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10424 to stop reading, even if the form read sets point to a different
10425 value when evaluated.
10426
427ec082 10427 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10428 put the cursor.
10429
6ba6c818
KH
104302000-06-07 Kenichi Handa <handa@etl.go.jp>
10431
10432 * fileio.c (e_write): Free composition data if stored in
10433 coding->cmp_data.
10434
5f1aea9a
GM
104352000-06-06 Gerd Moellmann <gerd@gnu.org>
10436
666852af
GM
10437 * xdisp.c (display_line): Set row's and iterator's
10438 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10439 Set cursor even if row ends in the middle of a character.
10440 (dump_glyph_row): Print values of new flags.
10441 (redisplay_window) <cursor movement in unchanged window>: When
10442 point has been moved forward, and PT is at the end of the cursor
10443 row, don't place the cursor in the next row if the cursor row ends
10444 in the middle of a character or at ZV.
10445
10446 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10447 (struct glyph_row): Add starts_in_middle_of_char_p and
10448 ends_in_middle_of_char_p.
10449 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10450 ends_in_middle_of_char_p flag.
10451 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10452
d13f3e2e
GM
10453 * term.c (append_glyph): Revert change of 2000-06-06.
10454
10455 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10456 padding glyph not fitting on line as whole character not
10457 fitting on line.
10458
5f1aea9a
GM
10459 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10460 this isn't true for images with `:ascent 100'.
10461
10cda9b0
KH
104622000-06-06 Kenichi Handa <handa@etl.go.jp>
10463
ed00559d
KH
10464 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10465 as modified if it is originally unmodified.
10466
10cda9b0
KH
10467 * term.c (encode_terminal_code): Change the way to check if
10468 terminal coding does any conversion.
10469 (append_glyph): Set glyph->pixel_width correctly.
10470
10471 * xdisp.c (display_line): While checking line continuation, pay
10472 attention to a padding glyph.
10473
1969fae2
GM
104742000-06-05 Gerd Moellmann <gerd@gnu.org>
10475
10476 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10477
162ccef4
DL
104782000-06-05 Dave Love <fx@gnu.org>
10479
f19f32dd
DL
10480 * xdisp.c: Include fontset.h.
10481
10482 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10483
10484 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10485
10486 * dispnew.c: Conditionally include term.h.
10487
10488 * coding.h: Declare code_convert_string_norecord.
10489
10490 * frame.h (struct frame): Use volatile unconditionally.
10491
10492 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10493
10494 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10495
10496 * systime.h: Protect against multiple inclusion.
10497 (timezone) [USG5_4]: Define as time_t.
10498
10499 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10500 (Foptimize_char_table, make_temp_name): Declare.
10501
10502 * Makefile.in (xdisp.o): Depend on fontset.h.
10503
10504 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10505
10506 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10507 (Foptimize_char_table, make_temp_name): Declare.
10508
427ec082 10509 * s/irix4-0.h:
162ccef4
DL
10510 * s/irix5-0.h:
10511 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10512
2082fe81
DL
105132000-06-02 Dave Love <fx@gnu.org>
10514
10515 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10516
dcf671d2
GM
105172000-06-02 Gerd Moellmann <gerd@gnu.org>
10518
10519 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10520 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10521 be freed.
10522
10523 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10524 glyph, use the ASCII NUL character to determine the face.
10525
d42122a3
DL
105262000-06-02 Dave Love <fx@gnu.org>
10527
10528 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10529 (VFORK_RETURN_TYPE): Remove.
427ec082 10530
d42122a3
DL
10531 * config.in: Add NO_MATHERR.
10532
dd432f16
DL
105332000-06-01 Dave Love <fx@gnu.org>
10534
90aa4ea8
DL
10535 * cmds.c (internal_self_insert): Don't check
10536 Vbefore_change_function, Vafter_change_function.
10537
10538 * insdel.c (signal_before_change, signal_after_change): Likewise.
10539
10540 * buffer.c (Vbefore_change_function, Vafter_change_function):
10541 Variables and their initializations deleted.
10542
2330c9d4
DL
10543 * callint.c (Fcall_interactively): Doc fix.
10544
dd432f16
DL
10545 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10546
bf9e8804
DL
105472000-05-31 Dave Love <fx@gnu.org>
10548
10549 * textprop.c: Revert last change -- duplicated.
10550
3694b4ab
GM
105512000-05-31 Gerd Moellmann <gerd@gnu.org>
10552
10553 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10554 in #if 0.
10555
10556 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10557
f14156cd
JR
105582000-05-31 Jason Rumney <jasonr@gnu.org>
10559
8119aab8
JR
10560 * search.c (Fre_search_forward, Fre_search_backward)
10561 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10562
f14156cd
JR
10563 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10564
4aab9be3
JR
105652000-05-30 Jason Rumney <jasonr@gnu.org>
10566
10567 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10568 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10569
52283633 10570 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10571
10572 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10573 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10574 expand a nil default_filename.
10575
10576 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10577 pointer to glyph_to_pixel_coords, not a frame.
10578
10579 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10580 coding.h to dependencies.
10581
10582 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10583
10584 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10585 window pointer to be consistent with w32term.c and xterm.c.
10586
10587 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10588 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10589 (Qline_spacing, Qcenter): New variables.
10590 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10591 (x_set_line_spacing): New function.
52283633 10592 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10593 (x_specified_cursor_type): New function.
10594 (x_set_cursor_type): Use it.
10595 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10596 and icon strings.
10597 (validate_x_resource_name, x_get_resource_string): Measure lengths
10598 of external strings in bytes.
10599 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10600 GetTextExtentPoint32 with NULL title.
10601 (Fx_create_frame): Initialize Qline_spacing.
10602 (w32_load_system_font): Initialize font->double_byte_p.
10603 (x_to_w32_charset): Use Vw32_charset_info_alist.
10604 (Image, busy cursor, tooltip functions): Merged changes from
10605 xfns.c. Not yet functional on Windows.
10606
10607 * w32gui.h (W32FontStruct): Add double_byte_p member.
10608
10609 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10610 (emacs_button_translation): Use it.
10611 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10612 in `mask' to be set.
10613
10614 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10615 menu strings.
10616
10617 * w32term.c: Format and doc changes to bring closer to xterm.c.
10618 (w32_char_font_type): New enum.
10619 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10620 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10621 (w32_encode_char): New function.
10622 (x_encode_char): Removed.
10623 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10624 x_encode_char and w32_font_is_double_byte.
10625 (x_produce_image_glyph): Use image_ascent.
10626 (x_produce_glyphs): Use new version of w32_per_char_metric and
10627 handle NULL return value. Allow extra line spacing.
10628 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10629 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10630 w32_font_type member of glyph instead.
10631 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10632 (fast_find_position): Make sure not to consider rows not visible
10633 in the window.
10634 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10635 w32_menu_display_help with input blocked, as it can abort.
10636 (x_display_and_set_cursor): Choose cursor depending
10637 on buffer-local value of cursor_type.
10638 (x_draw_bar_cursor): Add parameter WIDTH.
10639
10640 * w32term.h (CP_DEFAULT): Define.
10641 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10642
10fc3187
GM
106432000-05-30 Gerd Moellmann <gerd@gnu.org>
10644
10645 * search.c (Fre_search_forward, Fre_search_backward)
10646 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10647
d0555360
KH
106482000-05-30 Kenichi Handa <handa@etl.go.jp>
10649
10650 * coding.c (detect_coding_iso2022): Fix code for checking
10651 CODING_CATEGORY_MASK_ISO_8_2.
10652
f1ad044f
SM
106532000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10654
10655 * regex.c (PREFETCH_NOLIMIT): New function.
10656 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10657
84ec3b4b
GM
106582000-05-29 Gerd Moellmann <gerd@gnu.org>
10659
66254a13
GM
10660 * syntax.c (find_defun_start): Move test for
10661 open_paren_in_column_0_is_defun_start outside of the loop.
10662
49e70dec
GM
10663 * xdisp.c (redisplay_window): Really switch buffers when
10664 displaying mode lines, and temporarily set selected_frame to the
10665 frame of the window that's redisplayed.
10666
84ec3b4b
GM
10667 * xfaces.c (free_realized_faces): Block/unblock input.
10668 (free_realized_multibyte_face): Ditto.
10669
869a3a14
DL
106702000-05-29 Dave Love <fx@gnu.org>
10671
10672 * textprop.c (Qkeymap): New variable.
10673 (syms_of_textprop): Intern it.
10674
10675 * keymap.c: Include intervals.h.
10676 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10677
10678 * Makefile.in (keymap.o): Depend on intervals.h.
10679
10680 * keyboard.c (menu_bar_items, tool_bar_items)
10681 (Fexecute_extended_command): Deal with `keymap' property.
10682 (read_key_sequence): Track map from `keymap' property as well as
10683 `local_map'.
10684
10685 * intervals.c (get_local_map): Extra arg to allow looking for
10686 `keymap' too.
10687
10688 * intervals.h (map_property): New enum.
10689 (get_local_map): Extra arg using it.
10690 (Qkeymap): Declare.
10691
84ec3b4b 10692 * lisp.h (get_local_map): Don't declare here.
869a3a14 10693
89d0c844
KH
106942000-05-29 Kenichi Handa <handa@etl.go.jp>
10695
10696 * Makefile.in (callproc.o): Depend on composite.h.
10697
10698 * callproc.c: Include composite.h.
10699 (Fcall_process): Handle composition correctly.
10700
10701 * coding.h (coding_allocate_composition_data): Extern it.
10702 (coding_restore_composition): Likewise.
10703
10704 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
10705 yet allocated, finish decoding with result
10706 CODING_FINISH_INSUFFICIENT_CMP.
10707 (coding_allocate_composition_data): Make it non-static.
10708 (coding_restore_composition): Likewise.
10709
797a084a
EZ
107102000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
10711
10712 * charset.c (syms_of_charset): Revert last change.
10713
cf872af5
EZ
107142000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10715
10716 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
10717 charsets as unibyte, with 1-column screen width. Sent by Kenichi
10718 Handa.
cf872af5 10719
5b1ae051
EZ
107202000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10721
10722 * charset.c (syms_of_charset): Set width of character sets
10723 eight-bit-control and eight-bit-graphic to 1 column.
10724
34ec9ebe
GM
107252000-05-26 Gerd Moellmann <gerd@gnu.org>
10726
10727 * config.in (HAVE_SPEED_T): New define.
10728
10729 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10730 `extern speed_t'.
10731
dd854dc2
DL
107322000-05-26 Dave Love <fx@gnu.org>
10733
10734 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10735
10736 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10737 (Fsubr_arity): New function.
10738 (syms_of_data): Install them.
10739
ba9f8f95
KH
107402000-05-26 Kenichi Handa <handa@etl.go.jp>
10741
0f3e0672
KH
10742 * charset.c (init_charset_once): Set the table bytes_by_char_head
10743 correctly.
10744
cebefb44
KH
10745 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10746 the default fontset to what Emacs uses by default.
0f3e0672
KH
10747 (check_registry_encoding): This function deleted.
10748 (Fset_fontset_font): Remove the adhoc condition for the default
10749 fontset. Allow cons in FONTNAME.
cebefb44 10750
0f3e0672
KH
10751 * fns.c (map_char_table): Ignore char-table entries for
10752 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 10753
7a18af49
KR
107542000-05-25 Ken Raeburn <raeburn@gnu.org>
10755
10756 * emacs.c (main): Initialize keyboard syms before initializing
10757 window code, so face names are available.
10758
d2af47df
SM
107592000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10760
10761 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10762 of an anchor at the beginning of a shy-group.
10763
fc6a6a4e
GM
107642000-05-25 Gerd Moellmann <gerd@gnu.org>
10765
10766 * xdisp.c (handle_invisible_prop): Don't try to skip over
10767 invisible text if end of text is already reached.
10768
005f0d35
DL
107692000-05-25 Dave Love <fx@gnu.org>
10770
02513cdd
DL
10771 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10772
005f0d35
DL
10773 * coding.c (encode_eol): Add null statement after label.
10774
89f6ca4e
EZ
107752000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10776
10777 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10778 2000-05-20.
10779
a4e1759e
KH
107802000-05-25 Kenichi Handa <handa@etl.go.jp>
10781
10782 * ccl.c (ccl_driver): Fix previous change.
10783
eacfd7fe
KH
107842000-05-25 Kenichi Handa <handa@etl.go.jp>
10785
46ab33a9
KH
10786 * coding.c (run_pre_post_conversion_on_str): Set point to the
10787 beginning of buffer before calling coding->post_read_conversion.
10788 (decode_coding_string): Give correct args to
10789 run_pre_post_conversion_on_str.
10790 (encode_coding_string): Likewise.
10791
eacfd7fe
KH
10792 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10793 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10794 eight-bit-graphic correctly.
10795
f8569325
DL
107962000-05-24 Kenichi HANDA <handa@etl.go.jp>
10797
10798 * fileio.c (Finsert_file_contents): Even if a file is not found,
10799 execute codes for setting up coding system. Call
10800 after-insert-file-functions unconditionally.
10801
04545643
GM
108022000-05-24 Gerd Moellmann <gerd@gnu.org>
10803
10804 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10805 BSD_PGRPS are not defined.
10806
747d90ea
KH
108072000-05-24 Kenichi Handa <handa@etl.go.jp>
10808
10809 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10810 DESCRIPTION.
10811 (syms_of_charset): Avoid building same strings.
10812
716e3b88
GM
108132000-05-23 Gerd Moellmann <gerd@gnu.org>
10814
10815 * lread.c (Fload): Add a comment about the meaning of
10816 Vuser_init_file being t.
10817
10818 * puresize.h (BASE_PURESIZE): Increase to 675000.
10819
10820 * s/gnu-linux.h (setpgrp): Don't define it here because this
10821 prevents compilation on GNU/Linux systems with glib 2.2.
10822
10823 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10824 as setpgid.
427ec082 10825
9aeb39fa
EZ
108262000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10827
10828 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10829 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10830 version.
10831 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10832
29ced61b
KH
108332000-05-23 Kenichi Handa <handa@etl.go.jp>
10834
52283633 10835 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 10836
3d80f24d
KH
10837 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10838
52283633 10839 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 10840
29ced61b
KH
10841 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10842
d7e00792
KH
108432000-05-22 Kenichi Handa <handa@etl.go.jp>
10844
c9d80d38
KH
10845 * keyboard.c (read_char): Allow character codes 128..255 to be
10846 handled by input-method-function.
10847
d7e00792
KH
10848 * insdel.c (adjust_markers_for_replace): Fix previous change.
10849 (adjust_after_replace): If PREV_TEXT is nil, call
10850 adjust_markers_for_insert, not adjust_markers_for_replace.
10851
087121cc 108522000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 10853
087121cc
GM
10854 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10855 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10856 [HAVE_GRANDPT]: Define.
10857 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10858
10859 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10860 like SYSV_PTYS.
10861
10862 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10863
10864 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
10865
c9671f81
KH
108662000-05-20 Kenichi Handa <handa@etl.go.jp>
10867
10868 The following changes are to handle 8-bit characters in a
10869 multibyte buffer/string without facing with byte combining
10870 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
10871 eight-bit-graphic (for 0xA0..0xFF) are introduced.
10872
10873 * Makefile.in (fns.o): Depend on charset.h.
10874
10875 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
10876 convert it to unibyte.
10877 (make_string): Use parse_str_as_multibyte, not chars_in_text.
10878
10879 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
10880 apparent char boundary.
10881 (Fset_buffer_multibyte): Convert 8-bit characters in the range
10882 0x80..0x9F to/from multibyte form.
10883
10884 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
10885 to unibyte.
10886
10887 * callproc.c (Fcall_process): Always encode an argument string if
10888 it is multibyte. Setup src_multibyte and dst_multibyte members of
10889 process_coding properly.
ce75fd23 10890
c9671f81
KH
10891 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
10892 SPLIT_NON_ASCII_CHAR.
10893
10894 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
10895 as is.
10896 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
10897
52283633 10898 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 10899 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 10900 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
10901 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
10902 and eight-bit-graphic.
10903 (char_to_string): Likewise. Signal an error for too large
10904 character code.
10905 (char_printable_p): Return 0 for 8-bit characters.
10906 (update_charset_table): Update iso_charset_table only when a final
10907 character is non-negative.
10908 (find_charset_in_text): Renamed from find_charset_in_str.
10909 Arguments and return value changed. Callers changed.
10910 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10911 be -1 if CHARSET is used only internally.
10912 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10913 eight-bit-graphic.
10914 (Fcharset_after): Simplified.
10915 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10916 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10917 (multibyte_chars_in_text): Simplified by assuming there's no
10918 invalid multibyte sequence.
52283633
SM
10919 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10920 (str_as_unibyte): New functions.
10921 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10922 (init_charset_once): Initialization for
10923 LEADING_CODE_8_BIT_CONTROL.
10924 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10925 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10926 eight-bit-control and eight-bit-graphic.
10927
52283633
SM
10928 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10929 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10930 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10931 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10932 (CHARSET_REVERSE_CHARSET): Likewise.
10933 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10934 eight-bit-graphic.
10935 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10936 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10937 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10938 encounter an invalid multibyte sequence.
10939 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10940 sequence is always valid.
10941 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10942 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10943 (CHAR_STRING): For 8-bit characters, call char_to_string.
10944 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10945 multibyte sequence is always valid.
10946 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10947 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10948 (str_as_unibyte): Extern them.
c9671f81 10949 (BCOPY_SHORT): Fix a bug.
52283633 10950 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10951 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10952 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10953 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10954
bd4bde7f 10955 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10956 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10957 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10958 (EMIT_BYTES): New macros.
10959 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10960 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10961 macros deleted.
10962 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10963 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10964 check the validity of multibyte sequence.
10965 (decode_coding_emacs_mule): New function.
10966 (encode_coding_emacs_mule): New macro.
10967 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10968 the source.
10969 (DECODE_ISO_CHARACTER): Just return a character code.
10970 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10971 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10972 EMIT_CHAR to produced decoded characters. Exit the loop only by
10973 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10974 block here.
10975 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10976 only position codes for an invalid character.
10977 (encode_designation_at_bol): Return new destination pointer. 5th
10978 arg DSTP is changed to DST.
10979 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10980 from the source by ONE_MORE_CHAR. Don't handle the case of last
10981 block here.
10982 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10983 macros deleted.
52283633
SM
10984 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10985 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10986 TWO_MORE_BYTES to fetch a byte from the source.
10987 (encode_eol): Pay attention to coding->src_multibyte.
10988 (detect_coding, detect_eol): Preserve members src_multibyte and
10989 dst_multibyte.
10990 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10991 (encoding_buffer_size): Set magnification to 3 for all coding
10992 systems that require encoding.
10993 (ccl_coding_driver): For decoding, be sure that the result is
10994 valid multibyte sequence.
10995 (decode_coding): Initialize coding->errors and coding->result.
10996 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10997 and raw-text, always call decode_eol. Handle the case of last
10998 block here. If not coding->dst_multibyte, convert the resulting
10999 sequence to unibyte.
11000 (encode_coding): Initialize coding->errors and coding->result.
11001 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11002 and raw-text, always call encode_eol. Handle the case of last
11003 block here.
11004 (shrink_decoding_region, shrink_encoding_region): Detect cases
11005 that we can't skip data more rigidly.
11006 (code_convert_region): Setup src_multibyte and dst_multibyte
11007 members of coding. For decoding, if the buffer is multibyte,
11008 convert the source sequence to unibyte in advance. For encoding,
11009 if the buffer is multibyte, convert the resulting sequence to
11010 multibyte afterward.
11011 (run_pre_post_conversion_on_str): New function.
11012 (code_convert_string): Deleted and divided into the following two.
11013 (decode_coding_string, encode_coding_string): New functions.
11014 (code_convert_string1, code_convert_string_norecord): Call one of
11015 above.
11016 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11017 MAKE_NON_ASCII_CHAR.
52283633
SM
11018 (Fset_terminal_coding_system_internal)
11019 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11020 and dst_multibyte members.
11021 (init_coding_once): Initialize iso_code_class with new enum
11022 ISO_control_0 and ISO_control_1.
11023
11024 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11025 devided into ISO_control_0 and ISO_control_1.
11026 (struct coding_system): New members src_multibyte, dst_multibyte,
11027 errors, and result. Delete member fake_multibyte.
11028 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11029 nonzero.
11030 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11031 nonzero.
11032
11033 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11034 (Faset): Likewise.
11035
11036 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11037 multibyte form.
11038 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11039 combining occurs.
11040 (Ftranspose_region): Delete codes for handling byte combining.
11041
11042 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11043 dst_multibyte members of coding. On handling REPLACE on unibyte
11044 buffer, convert the result of decode_coding to unibyte. On
11045 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11046 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11047 multibyteness of the source (buffer or string).
11048
11049 * fns.c (concat): Handle 8-bit characters correctly.
11050 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11051 unibyte in the result.
11052 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11053 valid multibyte form in the result.
11054 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11055 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11056 return -1, signal an error.
11057 (base64_encode_1): New arg MULTIBYTE. Get each character by
11058 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11059 character is found, return -1.
11060 (Fbase64_decode_region): Delete codes for handling byte-combining.
11061 Treat each decoded byte as a unibyte character.
11062 (Fbase64_decode_string): Return unibyte string.
11063 (Fcompare_strings, concat, string_byte_to_char): Use
11064 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11065 FETCH_STRING_CHAR_ADVANCE.
11066 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11067 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11068
11069 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11070 SPLIT_NON_ASCII_CHAR.
11071 (fontset_ref_via_base, fontset_set): Likewise
11072
11073 * insdel.c (adjust_markers_for_record_delete): Deleted.
11074 (adjust_markers_for_insert): Argument changed. Caller changed.
11075 (adjust_markers_for_replace): Likewise.
52283633
SM
11076 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11077 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11078 (copy_text): Delete unused local varialbe c_save. For converting
11079 to multibyte, be sure to make all 8-bit characters in valid
11080 multibyte form.
11081 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11082 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11083 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11084 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11085 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11086 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11087 handling byte combining.
11088 (adjust_before_replace): Deleted.
427ec082 11089
c9671f81
KH
11090 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11091 SPLIT_NON_ASCII_CHAR.
11092 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11093 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11094 (Fkey_description): Likewise.
11095
11096 * lread.c (read1): On reading multibyte string, be sure to make
11097 all 8-bit chararacters in valid multibyte form.
11098 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11099
11100 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11101 unconditionally.
11102
11103 * process.c (Fstart_process): GCPRO current_dir before calling
11104 Ffind_operation_coding_system. Encode arguments here.
11105 (create_process): Don't encode arguments here. Setup
11106 src_multibyte and dst_multibyte members of struct coding.
11107 (read_process_output): Setup src_multibyte and dst_multibyte
11108 members of struct coding. If the output is to multibyte buffer,
11109 always decode the output of the process. Adjust the
52283633 11110 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11111 (send_process): Setup coding->src_multibyte according to the
11112 multibyteness of the source.
11113
52283633 11114 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11115 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11116 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11117
52283633 11118 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11119
11120 * w16select.c (Fw16_set_clipboard_data): Setup members
11121 src_multibyte and dst_multibyte of coding. Adjusted for the
11122 change for find_charset_in_str.
11123 (Fw16_get_clipboard_data): Likewise.
11124
11125 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11126 dst_multibyte of coding.
11127 (x_to_w32_font): Likewise.
11128
11129 * w32select.c (Fw32_set_clipboard_data): Setup members
11130 src_multibyte and dst_multibyte of coding. Adjusted for the
11131 change for find_charset_in_str.
11132 (Fw32_get_clipboard_data): Likewise.
11133
11134 * xdisp.c (get_next_display_element): Handle 8-bit characters
11135 correctly.
52283633
SM
11136 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11137 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11138
11139 * xselect.c (selection_data_to_lisp_data): Setup members
11140 src_multibyte and dst_multibyte of coding. Adjusted for the
11141 change for find_charset_in_str.
11142 (lisp_data_to_selection_data): Likewise.
11143
5f64c9e0
GM
111442000-05-19 Gerd Moellmann <gerd@gnu.org>
11145
52283633 11146 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11147
5f64c9e0
GM
11148 * dispextern.h (Vimage_types): Add extern declaration.
11149
11150 * xdisp.c (Vimage_types): Moved here from xfns.c.
11151 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11152
11153 * xfns.c (Vimages_types): Moved to xdisp.c.
11154 (syms_of_xfns): Move `image-types' to xdisp.c.
11155
11156 * w32fns.c (Vimage_types): Removed.
11157 (syms_of_w32fns): Remove `image-types'.
11158
813086ea
KH
111592000-05-18 Kenichi Handa <handa@etl.go.jp>
11160
11161 * fns.c (map_char_table): Pay attention to character number of
11162 charset. Check the validity of charset at the first level. For
11163 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11164 the default value.
11165
11166 * fontset.c: Include "buffer.h".
11167 (fs_load_font): If the face has fontset, record the face ID in
11168 that fontset.
11169 (Finternal_char_font): New function.
11170 (accumulate_font_info): New function.
11171 (Ffontset_info): Rewritten for the new fontset implementation.
11172 (syms_of_fontset): Register Vdefault_fontset in the first element
11173 of Vfontset_table. Include Vdefault_fontset in
11174 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11175 function.
11176
bdaebbf0
DL
111772000-05-16 Dave Love <fx@gnu.org>
11178
11179 * m/iris5d.h: Deleted -- unused.
11180
cb613bb8
GM
111812000-05-16 Gerd Moellmann <gerd@gnu.org>
11182
b15f3b77
GM
11183 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11184 `invalid' instead of `illegal'.
11185
11186 * indent.c (Fmove_to_column): When ending within a tab, insert
11187 spaces first so that markers at the end of the tab get adjusted.
11188
835c1b36
GM
11189 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11190 buffer list that wasn't selected in that frame.
11191
cb613bb8
GM
11192 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11193 is needed on mescaline, use a 2 char prefix, and call
11194 make_temp_name with second arg non-zero.
11195
11196 * fileio.c (make_temp_name): New function, extracted from
11197 Fmake_temp_name.
11198 (Fmake_temp_name): Use it.
11199
f685bea9
EZ
112002000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11201
52283633 11202 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11203
a1b8d58b
GM
112042000-05-15 Gerd Moellmann <gerd@gnu.org>
11205
11206 * Makefile.in (lisp): Add env.elc.
11207
11208 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11209
a265079f
GM
112102000-05-12 Gerd Moellmann <gerd@gnu.org>
11211
11212 * search.c (Freplace_match): Handle case of `\N' in the
11213 replacement when there's no group N.
11214
da4496b6
GM
112152000-05-11 Gerd Moellmann <gerd@gnu.org>
11216
0ace421a
GM
11217 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11218 of the message to message_dolog.
11219
1172eb8d
GM
11220 * keyboard.c (read_char): Don't clear current message for help
11221 events; let the code handling help events handle this. Change
11222 code detecting help events that should be ignored.
11223
da4496b6
GM
11224 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11225 we're interating over a string.
11226
0623e40f
DL
112272000-05-09 Dave Love <fx@gnu.org>
11228
11229 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11230 that offset before writing. Move gcpro region past call of
11231 Ffile_regular_p.
11232
bae2503b
DL
112332000-05-04 Dave Love <fx@gnu.org>
11234
11235 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11236
ec82fb2f
GM
112372000-05-04 Gerd Moellmann <gerd@gnu.org>
11238
11239 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11240 of inserted characters when BUF equals the current buffer, and PT
11241 is in front of or equal to FROM.
11242
cbf18892
GM
112432000-05-03 Gerd Moellmann <gerd@gnu.org>
11244
4ff40dd0
GM
11245 * xdisp.c (handle_single_display_prop): If display property value
11246 is invalid, or something not supported on the frame, restore
11247 iterator's position to what it was initially. Make sure to return
11248 0 for invalid and unsupported property values.
11249
cbf18892
GM
11250 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11251 that x_per_char_metric returns null.
11252
1b0672c3
GM
112532000-05-02 Gerd Moellmann <gerd@gnu.org>
11254
576da55d
GM
11255 * xterm.h (struct face): Add forward declaration.
11256 (struct image): Ditto.
11257 (image_ascent): Add prototype.
11258
11259 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11260 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11261 image_ascent instead of using IMAGE_ASCENT.
11262
11263 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11264 (IMAGE_ASCENT): Removed.
11265
11266 * xfns.c (Qcenter): New variable.
11267 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11268 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11269 (image_ascent): New function.
11270 (lookup_image): Recognize `:ascent center'.
11271 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11272 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11273 (xbm_load): Don't set image's ascent here.
11274 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11275 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11276 check ascent values here.
11277 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11278 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11279 (syms_of_xfns): Initialize Qcenter.
11280
1b0672c3
GM
11281 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11282 to the limits, increase the limits.
11283
0d7811ed
KH
112842000-05-01 Kenichi Handa <handa@etl.go.jp>
11285
11286 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11287 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11288
a943a5ca
GM
112892000-04-28 Gerd Moellmann <gerd@gnu.org>
11290
11291 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11292 taller than the window.
11293
5dba1e29
KH
112942000-04-28 Kenichi Handa <handa@etl.go.jp>
11295
11296 * xfaces.c (realize_x_face): Fix the argument of the second
11297 xassert. BASE_FACE may not be a face for ASCII.
11298
353964e3
GM
112992000-04-27 Gerd Moellmann <gerd@gnu.org>
11300
c76e04a8
GM
11301 * print.c (print_object): Treat print-length < 0 as nil.
11302
11303 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11304
11305 * s/freebsd.h (TERMCAP_OBJ): Removed.
11306 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11307
11308 * lread.c (read1): Don't treat period followed by certain
11309 characters as symbol start.
11310
11311 * xfns.c (slurp_file): New function.
11312 (xbm_image_p): Handle case of in-memory XBM files.
11313 (xbm_scan): Rewritten to work on memory buffers instead of files.
11314 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11315 Work on memory buffers instead of files. If DATA is null test
11316 if buffer looks like an in-memory XBM file.
11317 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11318 memory buffers instead of files.
11319 (xbm_file_p): New function.
11320 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11321
353964e3
GM
11322 * lread.c (end_of_file_error): New function.
11323 (read1): Call it instead of signaling `end-of-file' directly.
11324
427ec082 11325 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11326 with Fprinc instead of Fprin1.
11327
24d744ac
KR
113282000-04-26 Ken Raeburn <raeburn@gnu.org>
11329
11330 * window.c (freeze_window_start): Check that minibuffer scroll
11331 window isn't nil before extracting the window structure pointer
11332 from it.
11333
11334 * undo.c (record_delete): If we hit the end of the undo list, stop
11335 picking elements apart.
11336
7464346d
GM
113372000-04-26 Gerd Moellmann <gerd@gnu.org>
11338
11339 * xdisp.c (display_line): If lines are continued, restore
11340 iterator's ascent/descent information to the values before the
11341 first glyph not fitting on the line.
11342
612839b6
GM
113432000-04-25 Gerd Moellmann <gerd@gnu.org>
11344
11345 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11346 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11347
11348 * dispnew.c (increment_matrix_positions): Renamed from
11349 increment_glyph_matrix_buffer_positions.
11350 (increment_row_positions): Renamed from
11351 increment_glyph_row_buffer_positions.
11352
11353 * dispextern.h: Change names of renamed functions from dispnew.c
11354 in prototypes.
11355
cc181e95
GM
113562000-04-24 Gerd Moellmann <gerd@gnu.org>
11357
abfcc168
GM
11358 * fileio.c (Fdo_auto_save): Create directories for auto-save
11359 list file if necessary.
11360
cc181e95
GM
11361 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11362 from buffer or frame.
11363 (automatic_hscrolling_p): New variable.
11364 (hscroll_windows): Scroll windows horizontally only if automatic
11365 hscrolling is allowed.
11366 (syms_of_xdisp): New variable `automatic-hscrolling'.
11367
11368 * frame.h (struct frame): Add member extra_line_spacing.
11369
11370 * xfns.c (x_set_line_spacing): New function.
11371 (Fx_create_frame): Set line spacing from resources.
11372 (Qline_spacing): New variable.
11373 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11374
cc181e95
GM
11375 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11376
11377 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11378 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11379 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11380 extra_line_spacing from default value.
11381 (init_buffer_once): Initialize default value of extra_line_spacing.
11382
11383 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11384 and extra3.
11385
11386 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11387 prompt_width. Add extra line spacing.
11388
11389 * term.c (produce_glyphs): Remove reference to struct it's
11390 prompt_width.
11391
11392 * dispextern.h (struct it): Remove member prompt_width, add
11393 extra_line_spacing.
11394
58827478
GM
113952000-04-22 Gerd Moellmann <gerd@gnu.org>
11396
11397 * dispnew.c (update_frame_line): When writing a whole line, make
11398 sure cursor is in the right row afterwards, otherwise a use of
11399 capability `ch' in cmgoto might leave the cursor in the row below.
11400
25a87f42
GM
114012000-04-21 Gerd Moellmann <gerd@gnu.org>
11402
11403 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11404
11405 * keyboard.c (timer_check): Fix typo in comment.
11406
54edf5c2
KH
114072000-04-21 Kenichi Handa <handa@etl.go.jp>
11408
11409 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11410 name change: ch -> character.
11411
3a64eef5
GM
114122000-04-20 Gerd Moellmann <gerd@gnu.org>
11413
11414 * keyboard.c (echo_message_buffer): New variable.
11415 (echo_now): Set echo_message_buffer to the echo area buffer used
11416 to display the echo.
11417 (cancel_echoing): Reset echo_message_buffer to nil.
11418 (read_char): Code rewritten that handles canceling an echo or
11419 echoing a dash, respectively.
11420
11421 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11422 directory doesn't exist.
11423
6142fdcb
DL
114242000-04-19 Dave Love <fx@gnu.org>
11425
11426 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11427 (concat): Don't allow numeric args.
11428 (Fconcat): Doc change.
6142fdcb 11429
ac6b5352
SM
114302000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11431
11432 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11433 instead define end_match(1|2) more carefully.
11434 Use GET_CHAR_BEFORE_2 for `begline'.
11435
cb9215e4
GM
114362000-04-19 Gerd Moellmann <gerd@gnu.org>
11437
5e3dac3f
GM
11438 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11439 on 64-bit systems where NULL is defined as `0'.
11440
11441 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11442 the `variable argument list' to make it work on Alpha.
11443
cb9215e4
GM
11444 * m/alpha.h (_LP64) [!_LP64]: Define.
11445 (ORDINARY_LINK): Define for NetBSD.
11446
11447 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11448
f532dca0
DL
114492000-04-19 Dave Love <fx@gnu.org>
11450
c750667e
DL
11451 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11452 change.
11453
11454 * Makefile.in (LIBS): Don't use.
11455 (GETLOADAVG_OBJ): Define again.
11456 (otherobj): Add GETLOADAVG_OBJ.
11457
f532dca0
DL
11458 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11459
1c7e22fd
GM
114602000-04-18 Gerd Moellmann <gerd@gnu.org>
11461
f6d3257b
GM
11462 * lread.c (read_filtered_event): Cancel and start busy cursor.
11463
427ec082 11464 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11465 that the per-character metrics may be null.
11466
e10f64e7
GM
114672000-04-17 Gerd Moellmann <gerd@gnu.org>
11468
0daee095
GM
11469 * buffer.c (clone_per_buffer_values): New function.
11470 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11471 clone_per_buffer_values if CLONE is not nil.
11472
e10f64e7
GM
11473 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11474
38687d43
DL
114752000-04-16 Dave Love <fx@gnu.org>
11476
11477 * Makefile.in: Remove obsolete localcpp stuff.
11478 (GETLOADAVG_OBJ): Don't define.
11479 (obj): Move LIBOBJS...
11480 (otherobj): ... to here.
11481 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11482 whitespace-only lines after the continuation (Irix).
11483
c21c7262
GM
114842000-04-14 Gerd Moellmann <gerd@gnu.org>
11485
11486 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11487
11488 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11489
314767c0
DL
114902000-04-14 Dave Love <fx@gnu.org>
11491
11492 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11493 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11494 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11495 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11496 NLIST_STRUCT.
11497
11498 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11499 autoconfiscated HAVE_GETLOADAVG.
11500
11501 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11502 BROKEN_MKTIME.
11503
a2522dca
GM
115042000-04-14 Gerd Moellmann <gerd@gnu.org>
11505
11506 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11507 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11508
33744b5d
DL
115092000-04-14 Dave Love <fx@gnu.org>
11510
c21c7262 11511 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11512 (INTERVAL_SRC): Convert to make variable.
11513 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11514 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11515 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11516 add LIBOBJS.
11517 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11518 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11519 (shortlisp): Add facemenu, float-sup, frame.
11520 (SOME_MACHINE_LISP): Remove them from here.
11521 (LIBES): Change unused LDLIBS to autoconf LIBS.
11522
11523 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11524
9d3d5916
KH
115252000-04-14 Kenichi Handa <handa@etl.go.jp>
11526
11527 * composite.c (update_compositions): If FROM and TO are not in a
11528 valid range, do nothing.
11529
198e3c7a
GM
115302000-04-13 Gerd Moellmann <gerd@gnu.org>
11531
52283633 11532 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11533
52283633 11534 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11535
11536 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11537 as TERMCAP_OBJ.
11538
055a28c9
EZ
115392000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11540
11541 * fileio.c (a_write): Remove redundant semi-colons.
11542 (e_write): Return -1 if failed to write all the data.
11543 This fixes the changes made at 1999-12-15.
11544
f5c75033
DL
115452000-04-12 Dave Love <fx@gnu.org>
11546
11547 * fns.c (mapcar1): Test for null vals to support mapc.
11548 (Fmapc): New function.
11549
0c3cfc51
EZ
115502000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11551
11552 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11553 (IT_frame_up_to_date): Support the buffer local value of
11554 cursor-type, if defined.
11555
33465a31
DL
115562000-04-10 Dave Love <fx@gnu.org>
11557
11558 * editfns.c (preceding-char, following-char): Doc fix.
11559
6ed56568
KR
115602000-04-10 Ken Raeburn <raeburn@gnu.org>
11561
11562 * Makefile.in (temacs): Revert 2000-03-12 change.
11563
7cf80d4e
JR
115642000-04-10 Jason Rumney <jasonr@gnu.org>
11565
11566 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11567
34f3f342
GM
115682000-04-10 Gerd Moellmann <gerd@gnu.org>
11569
1a1b1895
GM
11570 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11571 area buffer, if it's not set up yet.
11572
34f3f342
GM
11573 * indent.c (compute_motion): Set immediate_quit.
11574
be0dbdab
GM
115752000-04-09 Gerd Moellmann <gerd@gnu.org>
11576
52283633 11577 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11578 (realize_tty_face): Suppress boldness if colors are the inverse of
11579 the default colors, and tty_suppress_bold_inverse_default_colors_p
11580 is set.
11581 (Ftty_suppress_bold_inverse_default_colors): New function.
11582 (syms_of_xfaces): Defsubr it.
11583
be0dbdab
GM
11584 * buffer.c (Frestore_buffer_modified_p): New function.
11585 (syms_of_buffer): Defsubr it.
11586
e8413c3b
KR
115872000-04-08 Ken Raeburn <raeburn@gnu.org>
11588
87f67317
KR
11589 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11590 charset id (int) argument, not a charset (Lisp_Object).
11591
e8413c3b
KR
11592 * coding.h (code_convert_string): Declare.
11593 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11594 object, as the fourth argument to code_convert_string.
11595
52283633 11596 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11597 (Fset_fontset_font): Use EQ to compare lisp objects.
11598
7c752c80
KR
115992000-04-05 Ken Raeburn <raeburn@gnu.org>
11600
c0333abc
KR
11601 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11602 a pointer that looks like a lisp object.
11603 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11604 zero, instead see whether it's an integer object, since they can't
11605 have intervals.
11606 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11607
52283633
SM
11608 * dispnew.c (allocate_matrices_for_frame_redisplay)
11609 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11610 to convert between (unsigned) int values and lisp integers.
11611 * keyboard.c (read_key_sequence): Likewise.
11612 * lread.c (substitute_object_recurse): Likewise.
11613 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11614 * minibuf.c (do_completion, Fminibuffer_complete_word)
11615 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11616 * term.c (produce_special_glyphs): Likewise.
11617
11618 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11619 * print.c (print_preprocess, print_object): Likewise.
11620
11621 * search.c (compile_pattern): Use NILP when checking for nil.
11622
74e49b38
KR
11623 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11624 __OPTIMIZE__]: Provide a GNU C macro version that handles
11625 lisp-object unions.
11626 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11627 field, to better cope with ENABLE_CHECKING and calls that modify a
11628 Lisp_Object using its old value.
11629
685e5ed2
GM
116302000-04-04 Gerd Moellmann <gerd@gnu.org>
11631
c407c570
GM
11632 * window.c (compare_window_configurations): Signal an error
11633 if parameters C1 or C2 aren't window configurations.
11634
685e5ed2
GM
11635 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11636 AFTER_POTENTIAL_GC calls around calls to functions that can
11637 signal an error and thus invoke the debugger.
11638
587a49ab
GM
116392000-04-03 Gerd Moellmann <gerd@gnu.org>
11640
62f20204
GM
11641 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11642 an error if decoding fails.
11643
587a49ab
GM
11644 * keyboard.c (lispy_mouse_names): Variable removed.
11645 (Vlispy_mouse_stem): New variable.
11646 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11647 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11648 for any mouse button number. Increase size of mouse_syms and
11649 button_down_location as needed. Call modify_event_symbol with
11650 different arguments.
11651 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11652 Call modify_event_symbol with different arguments.
11653 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11654 for any button number. Call modify_event_symbol with different
11655 arguments.
11656 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11657 Accept a string for NAME_ALIST_OR_STEM.
11658
11659 * lisp.h (larger_vector): Add prototype.
11660
11661 * fns.c (larger_vector): Make externally visible.
11662
11663 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11664
2d1675e4
SM
116652000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11666
11667 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11668 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11669 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11670 we are between str1 and str2.
11671 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11672 (PATFETCH): Use `TRANSLATE'.
11673 (PATFETCH_RAW): Fetch multibyte char if applicable.
11674 (PATUNFETCH): Remove.
11675 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11676 When writing a char, write it directly into the pattern buffer rather
11677 than going needlessly through a temp char-array.
11678 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11679 multibyte magic and remove the useless `#ifdef emacs'.
11680 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11681 buffer.
11682
11683 * regex.h (struct re_pattern_buffer): Make field `multibyte'
11684 conditional on `emacs'.
11685
11686 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
11687
cc2d8c6b
KR
116882000-04-01 Ken Raeburn <raeburn@gnu.org>
11689
11690 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
11691 non-union-type versions of XMARK and friends here, because XMARK
11692 and friends won't work on an integer field if NO_UNION_TYPE is not
11693 defined.
52283633 11694 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 11695
52283633 11696 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
11697 (syms_of_composite): Delete local var NARGS, pass an int as first
11698 argument to Fmake_hash_table.
11699
2387b382
KR
11700 * editfns.c (text_property_stickiness): Use NILP to test
11701 Lisp_Object boolean value.
11702 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
11703 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
11704 problems reading from and changing the same lisp value in an
11705 XSETSTRING call.
11706
27660e89
GM
117072000-04-01 Gerd Moellmann <gerd@gnu.org>
11708
11709 * term.c (TN_no_color_video): New variable.
11710 (term_init): Intitialize TN_no_color_video.
11711 (enum no_color_bit): New enumeration.
11712 (MAY_USE_WITH_COLORS_P): New macro.
11713 (turn_on_face): Use it to determine if attributes may be used
11714 combined with colors.
11715
3578db3c
KR
117162000-04-01 Ken Raeburn <raeburn@gnu.org>
11717
11718 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 11719 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
11720 (enlarge_window): Variable sizep now points to Lisp_Object. Use
11721 proper accessor macros.
11722 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
11723 (grow_mini_window): Fix typo getting int value of root->height.
11724
6fc556fd
KR
11725 * xdisp.c (compute_string_pos): Fix order of arguments to
11726 string_pos_nchars_ahead.
11727 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
11728 count arg to variable-arg routines like Frun_hook_with_args and
11729 Fformat.
587a49ab
GM
11730 (back_to_previous_visible_line_start)
11731 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
11732 fixed-arg routines like Fget_char_property and Fmake_string.
11733 (reconsider_clip_changes): Use XINT when comparing integer lisp
11734 objects, or passing them as int arguments.
587a49ab
GM
11735 (mark_window_display_accurate, insert_left_trunc_glyphs)
11736 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11737 storing or passing integer values as lisp objects.
11738 (set_cursor_from_row, highlight_trailing_whitespace): Use
11739 INTEGERP, not implicit test against zero, for glyph object.
11740 (try_window_id): Don't use make_number when we want an int value.
11741
11742 * xfaces.c (xlfd_symbolic_value): Make last argument a
11743 Lisp_Object, to be consistent with callers.
11744 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11745 (lface_hash): Apply XFASTINT to lisp values before folding in.
11746
11747 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11748 fill in window width and height. Pass an int, not a lisp object,
11749 as first arg to Finsert.
11750
6e7b2457
GM
117512000-04-01 Gerd Moellmann <gerd@gnu.org>
11752
610d841e
GM
11753 * xfaces.c (realize_basic_faces): Block input while realizing
11754 the faces.
11755
6e7b2457
GM
11756 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11757
11758 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11759
aa110c0c
GM
117602000-03-31 Gerd Moellmann <gerd@gnu.org>
11761
11762 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 11763 or ASCII, handle case that per-char metric is null.
aa110c0c 11764
8801a864
KR
117652000-03-30 Ken Raeburn <raeburn@gnu.org>
11766
c6129d7e
KR
11767 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11768
52283633
SM
11769 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11770 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
11771 pointer, using eassert.
11772 * frame.h (XFRAME): Likewise.
11773
52283633
SM
11774 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11775 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11776 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 11777 * data.c (set_internal): Likewise.
52283633
SM
11778 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11779 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
11780 * fileio.c (auto_save_1): Likewise.
11781 * insdel.c (check_markers): Likewise.
11782 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11783 * undo.c (record_insert): Likewise.
11784 * vmsproc.c (child_sig): Likewise.
11785 * window.c (unshow_buffer, window_loop): Likewise.
11786 * xterm.c (x_erase_phys_cursor): Likewise.
11787
8e7af858
GM
117882000-03-30 Gerd Moellmann <gerd@gnu.org>
11789
11790 * xfns.c (free_image_cache): Free the cache structure itself
11791 last, after all its members have been freed.
11792
11793 * lisp.h (xstrdup): Add prototype.
11794
11795 * alloc.c (xstrdup): Moved here from xfaces.c.
11796 (allocating_for_lisp): Variable removed.
52283633 11797 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11798
11799 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11800 of Fsymbol_value.
11801 (xstrdup): Moved to alloc.c.
11802
e0b8c689
KR
118032000-03-29 Ken Raeburn <raeburn@gnu.org>
11804
b96f9fb7
KR
11805 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11806
11807 * emacs.c (main): Fix sense of no-loadup test.
11808
e0b8c689
KR
11809 * config.in (ENABLE_CHECKING): Undef.
11810
11811 * lisp.h (struct interval): Replace "parent" field with a union of
11812 interval pointer and Lisp_Object; add new bitfield to use as
11813 discriminant. Change other flag fields to bitfields.
11814 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11815 is defined and the supplied test fails, print a message and abort.
11816 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11817
11818 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11819 pointers; abort if the value looks like a lisp object.
52283633
SM
11820 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11821 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11822 Modify for new interval parent definition.
11823
52283633
SM
11824 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11825 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
11826 addressable lisp object in the interval structure.
11827 (die): New function.
11828 (suppress_checking): New variable.
11829
11830 * intervals.c (interval_start_pos): Just return 0 if there's no
11831 parent object.
11832
f83c5440
GM
118332000-03-29 Gerd Moellmann <gerd@gnu.org>
11834
11835 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11836 and earlier Emacs versions.
11837
11838 * keyboard.c (Ftop_level): Cancel busy-cursor.
11839
11840 * eval.c (call_debugger): Cancel busy-cursor.
11841
fdce64ff
KH
118422000-03-29 Kenichi Handa <handa@etl.go.jp>
11843
11844 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 11845 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 11846
f6a3f532
SM
118472000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11848
11849 * regex.c (analyse_first): New function obtained by ripping out most
11850 of re_compile_fastmap and generalizing it a little bit so that it
11851 can also just return whether a given (sub)pattern can match the empty
11852 string or not.
11853 (regex_compile): Use `analyse_first' to decide whether the loop-check
11854 needs to be done or not for *, +, *? and +? (the loop check is costly
11855 for non-greedy repetition).
11856 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11857
e9b309ac
DL
118582000-03-28 Dave Love <fx@gnu.org>
11859
52283633 11860 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 11861
e9b309ac
DL
11862 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11863
ed0767d8
SM
118642000-03-27 Stefan Monnier <monnier@cs.yale.edu>
11865
11866 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
11867 an expression.
11868 (enum re_opcode_t): Update description of succeed_n.
11869 (PATFETCH): Always define.
11870 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
11871 operators, char classes, shy-groups and intervals).
11872 Optimize special cases of intervals so as to only use succeed_n and
11873 jump_n when really needed.
11874 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
11875 that we don't have to handle the special cases any more.
11876 Simplify on_failure_jump handling as well.
11877
e11e7e46
JR
118782000-03-28 Jason Rumney <jasonr@gnu.org>
11879
11880 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
11881
88faab89
GM
118822000-03-27 Gerd Moellmann <gerd@gnu.org>
11883
182ff242
GM
11884 * s/freebsd.h (GC_SETJMP_WORKS): Define.
11885
11886 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 11887
182ff242
GM
11888 * alloc.c (mark_maybe_object): New function.
11889 (mark_memory): Use it.
11890 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
11891 (setjmp_tested_p, longjmp_done): New variables.
11892 (test_setjmp): New function.
11893 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
11894 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
11895
c1005d06
GM
11896 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
11897 to DEC_TEXT_POS and INC_TEXT_POS.
11898
11899 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
11900 with parameter MULTIBYTE_P.
11901
52283633 11902 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 11903
7439e5b9 11904 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
11905 buffers because it looks for multibyte character byte sequences
11906 which don't exist in unibyte text.
7439e5b9 11907
d9c545da
GM
11908 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11909
11fd416e 11910 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11911 [DEBUG_X_COLORS]: New functions.
11912 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11913
11914 * xfns.c (x_set_cursor_color): Get color reference counts right.
11915
11916 * xterm.c (x_copy_color): New function.
11917 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11918
11919 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11920 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11921 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11922 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11923 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11924 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11925 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11926 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11927 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11928 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11929
11fd416e
GM
11930 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11931 names for handling per-buffer variables.
d9c545da
GM
11932
11933 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11934 instead of MAX_BUFFER_LOCAL_VARS.
11935 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11936
11937 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11938
88faab89
GM
11939 * xfns.c (x_specified_cursor_type): New function.
11940 (x_set_cursor_type): Use it.
11941
11942 * buffer.h (struct buffer): Add cursor_type.
11943
d80f42b7
SM
119442000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11945
11946 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11947 (print_partial_compiled_pattern, re_compile_fastmap):
11948 Handle new opcode.
d80f42b7
SM
11949 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11950 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11951 executing it as well as when popping it off the stack to find infinite
11952 loops in non-greedy repetition operators.
11953
89e80928
GM
119542000-03-26 Gerd Moellmann <gerd@gnu.org>
11955
3d4ff2dd
GM
11956 * doc.c (Qfunction_documentation): New variable.
11957 (syms_of_doc): Initialize Qfunction_documentation.
11958 (Fdocumentation): If FUNCTION is a symbol with non-nil
11959 `function-documentation' property, return a documentation derived
11960 from that.
11961
bd96bd79
GM
11962 * buffer.c (syms_of_buffer): Add default-cursor-type.
11963 (init_buffer_once): Don't let cursor_type have a local value
11964 in every buffer.
11965
19d1bc27
GM
11966 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11967 on buffer-local value of cursor_type.
11968 (x_draw_bar_cursor): Add parameter WIDTH.
11969
11970 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11971 (init_buffer_once): Set default cursor_type value to t.
11972 Mark cursor_type as local everywhere.
11973 (syms_of_buffer): New per-buffer variable cursor-type.
11974
89e80928
GM
11975 * buffer.h (struct buffer): Remove member local_var_flags,
11976 add local_flags.
11977 (MAX_BUFFER_LOCAL_VARS): New macro.
11978 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11979 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11980 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11981 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11982
52283633 11983 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11984
11985 * category.c (Fset_category_table): Use new macros for per-buffer
11986 variables.
11987
11988 * buffer.c (buffer_permanent_local_flags): Make a char array.
11989 (max_buffer_local_idx): New variable.
11990 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11991 for new handling of per-buffer variables.
11992 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11993 (init_buffer_once): Initialize per-buffer vars differently.
11994 Set max_buffer_local_idx.
11995
11996 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11997 variables.
11998
52283633 11999 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12000
12001 * data.c (do_symval_forwarding, store_symval_forwarding)
12002 (find_symbol_value, set_internal, default_value, Fset_default)
12003 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12004 per-buffer variables.
12005
12006 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12007
9a0dd3dc
GM
120082000-03-24 Gerd Moellmann <gerd@gnu.org>
12009
b68c375f
GM
12010 * xterm.c (x_term_init): Unblock input around call1 of
12011 Qvendor_specific_keysyms.
12012
9a0dd3dc
GM
12013 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12014 (find_defun_start): Consider an open parenthesis in column 0
12015 a defun start only if open_paren_in_column_0_is_defun_start is set.
12016 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12017
7973e637
SM
120182000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12019
12020 * eval.c (Fautoload): Add entry in load-history (if after dump).
12021 * lread.c (load-history): Update docstring.
12022
39210e90
GM
120232000-03-24 Gerd Moellmann <gerd@gnu.org>
12024
12025 * indent.c (Fvertical_motion): Always use the current buffer.
12026 Temporarily change the window's buffer, if necessary.
12027
72db3ab5
GM
120282000-03-23 Gerd Moellmann <gerd@gnu.org>
12029
12030 * xterm.c (fast_find_position): Make sure not to consider rows
12031 not visible in the window.
12032
990b2375
SM
120332000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12034
12035 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12036 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12037
ff4df011
JR
120382000-03-22 Jason Rumney <jasonr@gnu.org>
12039
12040 * w32menu.c (single_submenu): Set help string to NULL if none.
12041 (w32_menu_show): Set help string correctly.
12042 (add-menu-item): Set help string in MIIM_DATA for menu item.
12043 Load SetMenuItemInfoA explicitly.
12044 (w32_menu_display_help): New function.
427ec082 12045
ff4df011
JR
12046 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12047 (QCdata): Moved to xdisp.c.
12048
12049 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12050 (Vw32_charset_to_codepage_alist): Removed.
12051 (Vw32_charset_info_alist): New variable.
52283633
SM
12052 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12053 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12054 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12055 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12056 with TODO comment.
12057 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12058 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12059 Define Vw32_charset_info_alist and w32_charset symbols.
12060
120612000-03-22 Jason Rumney <jasonr@gnu.org>
12062
12063 * makefile.nt (w32bdf.obj): Update dependencies.
12064
12065 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12066
12067 * w32fns.c: Include fontset.h after dispextern.h.
12068 (Fx_create_frame): Do not create fontset.
12069 (w32_load_system_font): Doc fix.
12070 (Fx_close_connection): Free full_name if it is not shared.
12071
12072 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12073 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12074 Callers updated.
ff4df011
JR
12075 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12076 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12077 (w32_font_is_double_byte): New function, needs body.
12078 (x_append_glyph): Set glyph->glyph_not_available_p.
12079 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12080 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12081 character, convert it to a unibyte character.
12082 (struct glyph_string): Delete member `charset'.
12083 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12084 calculating it is found.
12085 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12086 the case that per char metric is not available correctly.
12087 (x_fill_glyph_string): Handle the case that the specific glyph is
12088 not available correctly.
12089 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12090 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12091 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12092 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12093 fontset. Don't call FS_LOAD_FONT.
12094
439d5cb4
KR
120952000-03-22 Ken Raeburn <raeburn@gnu.org>
12096
12097 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12098 (INT_LISPLIKE): New macro.
12099 (NULL_INTERVAL_P): Use it.
52283633
SM
12100 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12101 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12102 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12103
12104 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12105 explicit references to "parent" field of struct interval and
12106 associated unclean type conversions.
52283633
SM
12107 * intervals.c (create_root_interval, root_interval, rotate_right)
12108 (rotate_left, balance_possible_root_interval, split_interval_right)
12109 (split_interval_left, interval_start_pos, find_interval)
12110 (next_interval, previous_interval, update_interval)
12111 (adjust_intervals_for_insertion, delete_node, delete_interval)
12112 (adjust_intervals_for_deletion, merge_interval_right)
12113 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12114 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12115 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12116 Likewise.
12117 * syntax.c (update_syntax_table): Likewise.
12118
12119 * intervals.c (reproduce_tree_obj): New function, like
12120 reproduce_tree but takes a Lisp_Object for the parent. Declare
12121 with prototype.
12122 (graft_intervals_into_buffer): Use it when appropriate.
12123 (reproduce_tree): Declare with prototype.
12124 (balance_possible_root_interval): Check that the parent is a lisp
12125 object before trying to examine its type.
12126
ee1c5b21
GM
121272000-03-22 Gerd Moellmann <gerd@gnu.org>
12128
12129 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12130 as strings only if both are known to be strings.
12131
12132 * s/openbsd.h (LIBS_TERMCAP): Undef.
12133
1fb352e0
SM
121342000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12135
12136 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12137 definitions for non-Emacs compilation.
12138 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12139 outside of `#ifdef emacs'.
12140 (print_partial_compiled_pattern): Update.
12141 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12142 (re_compile_fastmap): Merge handling of charset and charset_not (for
12143 emacs and non-emacs compilation as well).
12144 Similarly for (not)categoryspec and (not)syntaxspec.
12145 Don't use the fastmap when reaching `anychar' since the added
12146 complexity is not justified.
12147 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12148 and (not)syntaxspec. Merge (not)categoryspec.
12149
fdaa1f77
KH
121502000-03-22 Kenichi Handa <handa@etl.go.jp>
12151
52283633
SM
12152 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12153 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12154 --without-x.
fdaa1f77 12155
d152fb46
DL
121562000-03-21 Dave Love <fx@gnu.org>
12157
12158 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12159 doc string.
12160
d2cafc8c
GM
121612000-03-21 Gerd Moellmann <gerd@gnu.org>
12162
12163 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12164 (lface_fully_specified_p): Don't check contents of
12165 LFACE_FONT_INDEX because that attribute is optional.
12166 (realize_x_face): Remove now unwarranted xassert.
12167
9111d4b5
KH
121682000-03-21 Kenichi HANDA <handa@etl.go.jp>
12169
12170 The following changes are to make font selection based on
12171 characters, not charset. In addition, they recover fontset
12172 facilities while utilizing the new font selection mechanism.
12173
6c4bfdc0
KH
12174 * Makefile.in (fontset.o): Depend on dispextern.h.
12175
12176 * alloc.c (mark_face_cache): Don't mark face->registry.
12177
9111d4b5
KH
12178 * dispextern.h (struct glyph): New member glyph_not_available_p.
12179 Use 22 bits for face_id.
12180 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12181 (struct face): Delete member registry, new member ascii_face.
12182 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12183 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12184 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12185 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12186
12187 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12188 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12189 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12190 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12191 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12192 (fs_free_face_fontset, fontset_font_pattern)
12193 (face_suitable_for_char_p, face_for_char)
12194 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12195 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12196 (FS_LOAD_FACE_FONT): New macro.
12197
12198 * fontset.c: All codes rewritten or adjusted for the change of
12199 fontset implementation. Now fontset is represented by char table.
52283633
SM
12200 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12201 Variables removed.
9111d4b5 12202 (my_strcasecmp): Function removed.
52283633 12203 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12204 (AREF, ASIZE): New macros.
52283633
SM
12205 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12206 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12207 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12208 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12209 (fontset_id_valid_p, font_family_registry, fontset_name)
12210 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12211 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12212 New functions.
12213 (fs_load_font): New arg FACE. Caller changed.
12214 (fs_query_fontset): Argument changed. Caller changed.
12215 (Fquery_fontset): call fs_query_fontset.
12216 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12217 Functions removed.
52283633
SM
12218 (clear_fontset_elements, check_registry_encoding)
12219 (check_fontset_name): New functions.
9111d4b5
KH
12220 (syms_of_fontset): Set char-table-extra-slots property of fontset
12221 to 3. Staticpro and initialize Vfontset_table and
12222 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12223
12224 * frame.h (struct frame): Member `fontset_data' removed.
12225 (FRAME_FONTSET_DATA): Macro removed.
12226
12227 * frame.c (make_frame): Don't allocate f->fontset_data.
12228 (Fdelete_frame): Don't free f->fontset_data.
12229
6c4bfdc0
KH
12230 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12231
9111d4b5
KH
12232 * xdisp.c (charset_at_position): Function removed.
12233 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12234 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12235 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12236 Likewise.
12237 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12238 FACE_FOR_CHARSET.
52283633
SM
12239 (get_next_display_element, append_space)
12240 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12241
12242 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12243 Variables removed.
12244 (clear_font_table, frame_update_line_height, load_face_font):
12245 Adjusted for the change of fontset implementation.
12246 (load_face_fontset_font): Function removed.
12247 (pixel_point_size): New function.
12248 (font_list): Argument type changed. Caller changed.
12249 (LFACE_FONT): New macro.
12250 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12251 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12252 Lisp_Object. Determine the font name by actually loading a font
12253 by the specified pattern. Set LFACE_FONT (lface) to the specified
12254 pattern. Even if a font is not found, don't try alternatives.
12255 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12256 (set_font_frame_param): If `font' is specified in lface, use it.
12257 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12258 (lface_same_font_attributes_p): Likewise.
12259 (make_realized_face): Arguent changed. Caller changed. Set
12260 face->ascii_face to face itself.
12261 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12262 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12263 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12264 (free_realized_multibyte_face): New function.
12265 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12266 changed. Caller changed.
12267 (try_font_list): Argument type changed.
12268 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12269 (choose_face_font): Argument changed. Handle fontset properly.
12270 (choose_face_fontset_font): Function removed.
12271 (realize_default_face, realize_named_face): Don't remove the
12272 former face here.
12273 (realize_face): Argument changed. Caller changed. Remove face
52283633 12274 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12275 (realize_x_face): Argument changed. Caller changed. For a
12276 multibyte character, share fontset with base_face. For a single
52283633 12277 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12278 (realize_tty_face): Argument changed. Caller changed.
12279 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12280 (face_at_buffer_position): Don't check multibyte_p for returning
12281 DEFAULT_FACE_ID.
12282 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12283 FACE_SUITABLE_FOR_CHARSET_P.
12284 (syms_of_xfaces): Remove code for Qx_charset_registry and
12285 Vface_default_registry.
12286
6c4bfdc0
KH
12287 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12288 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12289 (x_per_char_metric): Don't try FONT->default_char. Even if
12290 pcm->width is zero, glyph bits may exist.
12291 (x_encode_char): Always initialize char2b->byte1.
12292 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12293 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12294 (x_append_glyph): Set glyph->glyph_not_available_p.
12295 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12296 it->charset. Handle the case that per char metric is not
12297 available. If it->multibyte_p is zero and it->c is a multibyte
12298 character, convert it to a unibyte character.
12299 (struct glyph_string): Delete member `charset'.
12300 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12301 the case that per char metric is not available correctly.
12302 (x_fill_glyph_string): Handle the case that the specific glyph is
12303 not available correctly.
12304 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12305 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12306 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12307 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12308 fontset. Don't call FS_LOAD_FONT.
12309
12310 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12311 (x_create_tip_frame): Likewise.
12312 (Fx_close_connection): Free full_name of font_info.
12313
12314 * fns.c (optimize_sub_char_table): New function.
12315 (Foptimize_char_table): New function.
12316 (syms_of_fns): Defsubr Soptimize_char_table.
12317
b33dd3b0
GM
123182000-03-20 Gerd Moellmann <gerd@gnu.org>
12319
12320 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12321 only if buffer is displayed in some window.
12322
12323 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12324 (try_window_reusing_current_matrix): Don't call scroll run
12325 function if run's current and desired position are the same;
12326 this prevents cursor flickering.
12327
4e8a9132
SM
123282000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12329
12330 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12331
12332 * regex.c (RE_STRING_CHAR): New macro.
12333 (GET_CHAR_AFER_2): Remove.
12334 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12335 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12336 (print_partial_compiled_pattern, re_compile_fastmap)
12337 (re_match_2_internal): Remove on_failure_jump_exclusive.
12338 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12339 optimization only need to work for * (ie. can use of_keep_string_jump).
12340 Remove the special case for .*\n since it is now covered by the general
12341 optimization.
12342 (re_search_2): Don't bother with `room'.
12343 (skip_one_char): New function.
12344 (skip_noops): Simplify since `memory' is not needed any more.
12345 (mutually_exclusive_p): Restructure slightly to use `switch' and
12346 add handling for "all" remaining cases.
12347 (re_match_2_internal): Change on_failure_jump_smart to use
12348 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12349 rather than on_failure_jump_exclusive.
12350
2136fdd4
GM
123512000-03-19 Gerd Moellmann <gerd@gnu.org>
12352
12353 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12354 number of bits per RGB because it's everywhere used as the depth
12355 of the visual.
12356
12357 * term.c (calculate_costs): Remove code dealing with X frames.
12358
18e21ce8 123592000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12360
12361 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12362
d7b511c4
GM
123632000-03-18 Gerd Moellmann <gerd@gnu.org>
12364
12365 * lread.c (read_integer): Unread the last char not consumed.
12366
16b5d424
GM
123672000-03-17 Gerd Moellmann <gerd@gnu.org>
12368
12369 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12370 which are in the process of being deleted.
16b5d424 12371
1fa28578
GM
123722000-03-16 Gerd Moellmann <gerd@gnu.org>
12373
83488cce
GM
12374 * Makefile.in (mostlyclean): Add `*.core'.
12375 (clean): Add `bootstrap-emacs'.
12376
1fa28578
GM
12377 * lread.c (read_integer): New function.
12378 (read1): Support read syntax #o, #x, #b, #r.
12379
99633e97
SM
123802000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12381
1fa28578
GM
12382 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12383 make sure POINTER_TO_OFFSET gives the same value before and after
12384 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12385 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12386 (debug): Now only active if > 0 rather than if != 0.
12387 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12388 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12389 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12390 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12391 (store_op1, store_op2, insert_op1, insert_op2)
12392 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12393 (group_in_compile_stack): Move to after its arg's types are
12394 declared and add a prototype.
99633e97 12395 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12396 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12397 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12398 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12399 indentation of the greedy-op and shy-group code.
99633e97
SM
12400 (at_(beg|end)line_loc_p): Fix argument's types.
12401 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12402 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12403 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12404 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12405 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12406 QUIT unconditionally.
99633e97 12407
699238d9
GM
124082000-03-15 Gerd Moellmann <gerd@gnu.org>
12409
12410 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12411 a sole completion.
12412
12413 * process.c (send_process): Add a hint that the function
12414 can call Lisp code to its comment.
12415
12416 * lread.c (load_dangerous_libraries): New variable.
12417 (Vbytecomp_version_regexp): New variable.
12418 (safe_to_load_p): New function.
12419 (Fload): Handle files not compiled with Emacs specially.
12420 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12421
34e23e5a
GM
124222000-03-14 Gerd Moellmann <gerd@gnu.org>
12423
9c763cca
GM
12424 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12425
12426 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12427 support functions only if HAVE_X11R6_XIM is defined.
12428 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12429
12430 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12431
12432 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12433 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12434 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12435
12436 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12437 (HAVE_X11R6_XIM): Define.
12438
12439 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12440
34e23e5a
GM
12441 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12442 If set, call XSynchronize.
12443
66f0296e
SM
124442000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12445
34e23e5a
GM
12446 * regex.c: Declare a new type `re_char' used throughout the code
12447 for the string char type. It's `const unsigned char' to match the
12448 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12449 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12450 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12451 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12452 code duplication.
66f0296e
SM
12453
12454 * charset.h (GET_CHAR_AFTER_2): Remove.
12455 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12456
854a025c
KR
124572000-03-12 Ken Raeburn <raeburn@gnu.org>
12458
12459 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12460 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12461 of them try to use backquotes.
12462
b9d2c7e2
DL
124632000-03-12 Dave Love <fx@gnu.org>
12464
12465 * unexelf.c: Restore changes of 1999-10-19.
12466 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12467 fix its type and alignment; copy it from current process.
12468
5e5dff44
GM
124692000-03-12 Gerd Moellmann <gerd@gnu.org>
12470
9b2f3c38
GM
12471 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12472 has been found. Fix bug not computing timer's predecessor.
12473
427ec082 12474 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12475 file name.
12476
e1cff360
GM
12477 * window.c (Fsave_window_excursion): Doc fix.
12478
52283633 12479 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12480
e411ce4b
EZ
124812000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12482
12483 * msdos.c (vga_installed): New function, code moved from
12484 dos_set_window_size.
12485 (Qbar, Qcursor_type, outside_cursor): New variables.
12486 (syms_of_msdos): Intern and staticpro them.
12487 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12488 shape used outside Emacs when called for the first time.
12489 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12490 cursor shape used outside Emacs.
12491 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12492 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12493 type has changed.
12494 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12495 parameters specify the cursor. Make qreverse a global
12496 variable (renamed to Qreverse).
12497
80460654
GM
124982000-03-09 Gerd Moellmann <gerd@gnu.org>
12499
12500 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12501
95cd4c40
SM
125022000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12503
12504 This is a big redesign of failure-stack and register handling, prompted
12505 by bugs revealed when trying to add shy-groups. Overall, what happened
12506 is that loops are now structured a little differently, groups can be
12507 shy and the code is a little simpler.
12508
12509 * regex.h: Update the copyright.
12510 (RE_SHY_GROUPS): New value.
12511 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12512 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12513
80460654
GM
12514 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12515 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12516 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12517 for (start|stop)_memory since they now only take one argument (the
12518 second has becomes unnecessary).
52283633 12519 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12520 (print_compiled_pattern): Use %ld to printf long ints and flush to
12521 make debugging a little easier.
95cd4c40
SM
12522 (union fail_stack_elt): Make the integer unsigned.
12523 (struct fail_stack_type): Add a `frame' element.
12524 (INIT_FAIL_STACK): Init `frame' as well.
12525 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12526 (DEBUG_PUSH, DEBUG_POP): Remove.
12527 (NUM_REG_ITEMS): Remove.
12528 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12529 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12530 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12531 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12532 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12533 New macros.
80460654
GM
12534 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12535 address pushed is not the destination of the jump but the source
12536 of it instead.
95cd4c40
SM
12537 (NUM_FAILURE_ITEMS): Remove.
12538 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12539 registers before the actual failure point). Don't hardcode any
12540 meaning for str==NULL anymore.
95cd4c40 12541 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12542 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12543 Remove.
95cd4c40
SM
12544 (REG_UNSET_VALUE): Use NULL (why not?).
12545 (compile_range): Remove declaration since it doesn't exist.
12546 (struct compile_stack_elt_t): Remove inner_group_offset.
12547 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12548 (regex_grow_registers): Remove dead code.
12549 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12550 (regex_compile): Add shy-groups Change loops to use
12551 on_failure_jump_smart&jump instead of
12552 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12553 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12554 variable to me). Use `jump' instead of `jump_past_alt' and don't
12555 bother with push_dummy_failure in alternatives since it is now
12556 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12557 emacs' for (re)allocating the stack.
12558 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12559 from loop when bufp->can_be_null rather than jumping to `done'.
12560 Avoid jumping backwards so as to ensure termination. Use
12561 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12562 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12563 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12564 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12565 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12566 (lowest_active_reg, highest_active_reg)
12567 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12568 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12569 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12570 variables. Push register (in `start_memory') on the stack rather
12571 than storing it in old_reg(start|end). Remove the cycle detection
12572 from `stop_memory', replaced by the use of on_failure_jump_loop
12573 for greedy loops. Add code for the new on_failure_jump_<foo>.
12574 Remove ad-hoc code in `on_failure_jump' to push more registers in
12575 the case of a loop. Take out code from `maybe_pop_jump' into
12576 separate functions and adapt it to the semantics of
12577 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12578 and push_dummy_failure. Remove dummy_failure handling and
12579 handling of `failures to jump to on_failure_jump' (this last one
12580 was already dead code, it seems).
12581 (group_match_null_string_p, alt_match_null_string_p)
12582 (common_op_match_null_string_p): Remove.
95cd4c40 12583
7397acc4
DL
125842000-03-08 Dave Love <fx@gnu.org>
12585
12586 * config.in: Don't depend on __STDC__ for volatile.
12587 Add POINTER_TYPE, PTR, PROTOTYPES.
12588
12589 * hftctl.c, strftime.c: Use PROTOTYPES.
12590 * eval.c (find_handler_clause): Likewise.
12591
12592 * mem-limits.h: Use POINTER_TYPE.
12593
12594 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12595 (memory_warnings): Declare using POINTER_TYPE.
12596
5e91ff9e
GM
125972000-03-08 Gerd Moellmann <gerd@gnu.org>
12598
feab4fba
GM
12599 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12600
52283633 12601 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12602
5e91ff9e
GM
12603 * xfns.c: Remove obsolete code in #if 0.
12604 (Fx_focus_frame): New function.
12605
a735b7e1
KH
126062000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12607
12608 * coding.c (coding_category_name): Add coding-category-utf-8,
12609 coding-category-utf-16-be, coding-category-utf-16-le.
12610 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12611 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12612 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12613 (detect_coding_utf_8): New function.
12614 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12615 UTF_16_LOW_SURROGATE_P): New macros.
12616 (detect_coding_utf_16): New function
12617 (detect_coding_mask): When priorities are specified, skip any
12618 categories that have `nil' coding-system. Fix bug of returning
12619 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12620 returns a mask not set in PRIORITIES.
12621 (detect_eol_type_in_2_octet_form): New function.
12622 (detect_eol): selects detect_eol_type_XXX to call according to
12623 cooding->category_idx.
12624 (detect_coding_system): Remove `nil' coding-system in the result.
12625 (Fupdate_coding_systems_internal): Update all coding-categories.
12626
52283633
SM
12627 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12628 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12629 New macros.
12630 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12631 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12632 (CODING_CATEGORY_IDX_UTF_16_LE)
12633 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12634 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12635 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12636 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12637
9994cc69
GM
126382000-03-07 Gerd Moellmann <gerd@gnu.org>
12639
e9b4e5ff
GM
12640 * doc.c (Fdocumentation_property): If value is not a string,
12641 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12642
f7daf1e1
GM
12643 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12644 close the display with XtCloseDisplay. This caused a bus error
12645 on OpenWindows.
12646
9994cc69
GM
12647 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12648 complete but not unique.
12649
4336c705
GM
126502000-03-06 Gerd Moellmann <gerd@gnu.org>
12651
18bb0684
GM
12652 * process.c (send_process): Remove local variable `procname' that
12653 might become invalid when a GC happens. Instead, access the
12654 process name slot directly.
12655
4336c705
GM
12656 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12657 orig_height if set.
12658
12659 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12660 orig_height if set.
12661
515d0d0e
EZ
126622000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12663
12664 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12665 glyph matrices have been freed.
12666
100b3cbb
GM
126672000-03-05 Gerd Moellmann <gerd@gnu.org>
12668
50df5e5a 12669 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 12670 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
12671
12672 * xfns.c (QCdata): Moved to xdisp.c.
12673
12674 * xdisp.c (QCdata): Moved here from xfns.c.
12675 (syms_of_xdisp): Initialize QCdata.
12676
12677 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12678
12679 * window.c (coordinates_in_window): Use
12680 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12681 FRAME_INTERNAL_BORDER_WIDTH.
12682
100b3cbb 12683 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 12684 it is obviously invalid.
100b3cbb
GM
12685
12686 * xterm.c (x_term_init): Create a colormap if not using the
12687 default visual.
12688
12689 * xterm.h (select_visual): Change prototype.
12690
12691 * xfns.c (select_visual): Rewritten. Recognize user-specified
12692 visual classes.
12693 (visual_classes): New variable.
12694
64d739c4
GM
126952000-03-04 Gerd Moellmann <gerd@gnu.org>
12696
12697 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
12698 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
12699 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 12700 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
12701 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
12702 XtNcolormap resources.
12703 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
12704 (Fx_create_frame): Initialize color members of x_output structure.
12705 (xpm_load): Pass colormap to XPM lib.
12706
12707 * xfaces.c (x_free_colors): Access colormap of frame using
12708 FRAME_X_COLORMAP. Be paranoid about freeing black and white
12709 when default colormap is used.
12710
12711 * xterm.c (x_term_init): Set Colormap member of x_display_info
12712 structure. Copy colormap if resource `privateColormap' is
12713 specified (PseudoColor only).
12714 (x_setup_relief_color): Access colormap of frame using
12715 FRAME_X_COLORMAP.
12716
12717 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
12718 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
12719
c3cee013
JR
127202000-03-04 Jason Rumney <jasonr@gnu.org>
12721
12722 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
12723 other non-platform-specific equivalents.
64d739c4 12724 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
12725 specific functions and macros as their w32 equivalents where
12726 non-platform-specifics are not available.
12727 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
12728 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
12729 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12730 (frame_update_line_height): Use macros to access f->output_data.
12731 (defined_color): Remove FIXME comments; fixed.
12732 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12733 into #ifdef blocks. Add WINDOWSNT blocks.
12734 (Fx_list_fonts): Use macros for accessing font data.
12735 (set_lface_from_font_name): Different default fonts for X and
12736 WINDOWSNT.
12737 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12738 scalable for backward compatibility.
64d739c4 12739 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12740 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12741
64d739c4 12742 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12743 syms_of_w32faces.
12744
12745 * makefile.nt (w32faces.obj): Remove.
12746 (xfaces.obj): Add.
12747
807cc41c
JR
127482000-03-03 Jason Rumney <jasonr@gnu.org>
12749
12750 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12751 correct parameters.
12752
0007072a
KR
127532000-03-03 Ken Raeburn <raeburn@gnu.org>
12754
12755 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12756 standard ELF definitions here if the system header does not.
12757
71a6ba55
GM
127582000-03-03 Gerd Moellmann <gerd@gnu.org>
12759
12760 * xterm.c (PER_CHAR_METRIC): Removed.
12761 (x_per_char_metric_1, x_default_char): New functions.
12762 (x_per_char_metric): If font's default char is invalid, return
12763 metrics of a suitably chosen usable default char.
12764 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
12765 char, replace occurrences of unprintable chars with a suitably
12766 chosen usable default char.
71a6ba55 12767
900fa1f1
GM
127682000-03-02 Gerd Moellmann <gerd@gnu.org>
12769
42f55fe0
GM
12770 * xterm.c (note_mouse_highlight): Return quickly if frame's
12771 glyph matrices have been freed.
12772
12773 * dispnew.c (free_glyphs): Block input while freeing matrices.
12774
900fa1f1
GM
12775 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12776
52283633
SM
12777 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12778 Use x_free_colors.
900fa1f1
GM
12779
12780 * dispextern.h (x_free_colors): Add prototype.
12781
12782 * xfaces.c (x_free_colors): New function.
12783 (unload_color, free_face_colors): Use it.
12784
2f950292
EZ
127852000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12786
12787 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12788
12789 * window.c [MSDOS]: Include msdos.h.
12790
54d04320
DL
127912000-03-02 Dave Love <fx@gnu.org>
12792
12793 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12794
12795 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12796 set C_OPTIMIZE_SWITCH for gcc.
12797
0ba93ac4
KH
127982000-03-02 Kenichi Handa <handa@etl.go.jp>
12799
12800 * coding.c (coding_save_composition): Be sure to allocate
12801 composition data area in coding even if there's no composition in
12802 the current run.
12803
a2bc11d4
JR
128042000-03-01 Jason Rumney <jasonr@gnu.org>
12805
12806 * w32term.c: Equivalent changes to those made to xterm.c on
12807 2000-02-25 and 2000-02-24.
12808
12809 * w32fns.c: Equivalent changes to those made to xfns.c on
12810 2000-02-25 and 2000-02-21.
12811
12812 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12813 correct line-end convention is followed.
12814
12815 * w32menu.c [HAVE_BOXES]: Remove #undef.
12816 (single_keymap_panes): Remove code for simulating checkmarks.
12817 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12818 Remove code for drawing simulated checkmarks.
12819 (w32_menu_show): make unibyte help string correctly.
12820 (add_menu_item): draw standard Windows checkmarks. Draw radio
12821 buttons as radio buttons if possible.
12822
72d19d75
GM
128232000-03-01 Gerd Moellmann <gerd@gnu.org>
12824
2df636f4
GM
12825 * sysdep.c (start_of_text): Don't define this function for NetBSD
12826 with ELF.
12827
427ec082 12828 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
12829 Don't define.
12830 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12831 (LINKER): Don't undef if __NetBSD__ is defined.
12832
12833 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12834
12835 * fileio.c [__NetBSD__]: Define `unix'.
12836
72d19d75
GM
12837 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12838
ed4d0512
GM
128392000-02-29 Gerd Moellmann <gerd@gnu.org>
12840
50b1039f
GM
12841 * atimer.c (start_atimer): Don't abort when timers are stopped.
12842 (append_atimer_lists): New function.
12843 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12844 arbitrary lists of stopped and running atimers.
12845
ed4d0512
GM
12846 * atimer.c (cancel_atimer): Handle canceling an atimer when
12847 some timers are stopped.
12848
12849 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12850 after canceling it.
12851
12852 * fns.c (maybe_resize_hash_table): Handle case of new size
12853 coming out as being the same as old size.
12854
387023ee
JR
128552000-02-27 Jason Rumney <jasonr@gnu.org>
12856
12857 * makefile.nt: Add atimer.h to dependencies.
12858 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12859 * w32console.c: Only disable window system features for dispextern.h
12860 (initialize_w32_display): Build a display info for the console.
12861 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12862 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12863 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
12864 as 2 button mice.
12865 * w32gui.h (struct W32FontStruct): Revert last change after change
12866 to xdisp.c.
12867 * w32menu.c (single_submenu): Set up help string.
12868 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
12869 (w32_dialog_show): Set up help string.
12870 * w32term.c (w32_display_info_for_display): Remove unused function.
12871 (w32_draw_bitmap): Use pre-built bitmaps.
12872 (w32_initialize_display_info): New function to initialize parts of
12873 display info that are common to both GUI and console frames.
12874 (w32_term_init): Use w32_initialize_display_info. Do not set
12875 Vw32_num_mouse_buttons here, as it is not called for console
12876 frames. Build bitmaps for indicating truncated lines etc.
12877 (x_delete_display): Destroy pre-built bitmaps.
12878 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
12879 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
12880
4516715a
DL
128812000-02-27 Dave Love <fx@gnu.org>
12882
12883 * lisp.h: Add a bunch of prototypes.
12884
171ca836
KH
128852000-02-26 Kenichi Handa <handa@etl.go.jp>
12886
12887 * keyboard.c (read_char): Set `usec' correctly.
12888
4013921d
KH
128892000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12890
12891 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
12892 `lambda', set reg[RRR] to the map index.
12893 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
12894 reg[RRR] to 0. Otherwise, set it to -1.
12895
9244a058
GM
128962000-02-25 Gerd Moellmann <gerd@gnu.org>
12897
2df636f4 12898 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 12899
18e21ce8 129002000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 12901
f43d79c1
GM
12902 * fileio.c (Ffile_symlink_p): If result starts with a `/'
12903 and contains a `:', prepend `/:'.
12904
12905 * window.c (select_window_1): If selected_window is nil,
12906 don't "swap out" the buffer's point.
12907 (Fset_window_configuration): Set selected_window to nil
12908 before calling Fselect_window.
12909 (unshow_buffer): Don't set point in buffer from window's point
12910 if another more recently selected window also shows the buffer.
12911
bed0c171
GM
129122000-02-25 Gerd Moellmann <gerd@gnu.org>
12913
449c3c52
GM
12914 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12915
f5b58615
GM
12916 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12917 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12918 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12919 New variables.
f5b58615
GM
12920 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12921 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12922 (hide_busy_cursor): New functions.
12923 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12924
12925 * minibuf.c (read_minibuf): Cancel busy-cursor.
12926
12927 * keyboard.c (command_loop_1): Call start_busy_cursor before
12928 Fcommand_execute and cancel_busy_cursor after it.
12929 (timer_check): Remove busy-cursor code.
12930 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12931 cursor timer.
12932
12933 * process.c (wait_reading_process_input): Remove busy-cursor code.
12934
12935 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12936 Fx_hide_busy_cursor.
12937
12938 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12939 Remove prototyoes.
12940 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12941
12942 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12943
12944 * xterm.c (XTread_socket): Remove busy-cursor code.
12945
4eb8436f
GM
12946 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12947 (build_frame_matrix_from_leaf_window): Put code handling
12948 glyph row's not being a slice of a frame row in #if 0.
12949 (sync_window_with_frame_matrix_rows): New function.
12950 (frame_row_to_window): New function.
12951 (mirror_line_dance): Handle copies between windows.
12952
3cb65b0e
GM
12953 * lread.c (Fload): Use `xfree' instead of `free'.
12954 (init_obarray): Use `xmalloc' instead of `malloc'.
12955
bed0c171
GM
12956 * window.c (Fset_window_buffer): Set WINDOW to the window
12957 after decoding.
2add4349
GM
12958 (coordinates_in_window): Take frame's internal border width
12959 into account.
bed0c171 12960
42088c12
GM
129612000-02-24 Gerd Moellmann <gerd@gnu.org>
12962
12963 * xterm.c (x_display_and_set_cursor): Display cursor of
12964 non-selected windows depending on the setting of
12965 cursor_in_non_selected_windows.
12966
12967 * xdisp.c (cursor_in_non_selected_windows): New variable.
12968 (syms_of_xdisp): DEFVAR_BOOL it.
12969
d1e103b2
GM
129702000-02-23 Gerd Moellmann <gerd@gnu.org>
12971
723e779c
GM
12972 * data.c (Fstring_to_number): If number is greater than what
12973 fits into an integer, return a float.
12974
d1e103b2
GM
12975 * eval.c (specbind): Remove references to
12976 keyword_symbols_constant_flag.
12977
12978 * data.c (keyword_symbols_constant_flag): Removed.
12979 (Fmakunbound, set_internal, syms_of_data): Remove references to
12980 keyword_symbols_constant_flag.
12981
12982 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12983
214f877f
KH
129842000-02-23 Kenichi Handa <handa@etl.go.jp>
12985
12986 * syntax.c (multibyte_syntax_as_symbol): New variable.
12987 (syms_of_syntax): Declare it as a Lisp variable.
12988 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12989 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12990 nonzero, treat all multibyte characters as symbol.
52283633 12991 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12992
130adcb7
EZ
129932000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12994
3cb65b0e 12995 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12996 a deleted frame.
130adcb7 12997
17cbbf95
GM
129982000-02-21 Gerd Moellmann <gerd@gnu.org>
12999
13000 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13001
13002 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13003 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13004
beb0bc36
DL
130052000-02-21 Dave Love <fx@gnu.org>
13006
13007 * frame.c (Vmouse_position_function): New variable.
13008 (Fmouse_position): Use it.
13009 (syms_of_frame): Install it.
13010
13011 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13012
1d92afcd
GM
130132000-02-20 Gerd Moellmann <gerd@gnu.org>
13014
13015 * fileio.c (Finsert_file_contents): Unbind the binding of
13016 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13017
13018 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13019 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13020 (specbind, unbind_to): Handle most common case of non-constant
13021 symbol with trivial value specially.
13022
13023 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13024
18e21ce8 130252000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13026
13027 * data.c (Fmake_variable_buffer_local): Doc fix.
13028 Init found_for_buffer to 0.
13029 (Fmake_variable_frame_local): If the variable has already
13030 been buffer-local, set the check_frame field.
13031
1d4311c3
EZ
130322000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13033
13034 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13035 produced for CODING_MODE_LAST_BLOCK requires.
13036
2dc95ddd
DL
130372000-02-18 Dave Love <fx@gnu.org>
13038
13039 * keyboard.c (echo_keystrokes): Remove declaration.
13040 (Vecho_keystrokes) New variable.
13041 (read_char, record_menu_key, read_key_sequence): Use it to allow
13042 use of float value.
13043 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13044
13045 * lread.c: Undef feature selection macros before defining.
13046
f0930f35
GM
130472000-02-18 Gerd Moellmann <gerd@gnu.org>
13048
13049 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13050 for symbols other than the symbol in question.
13051
e3d4de90
DL
130522000-02-17 Dave Love <fx@gnu.org>
13053
13054 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13055
0b378936
GM
130562000-02-17 Gerd Moellmann <gerd@gnu.org>
13057
d621caf7
GM
13058 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13059
0b378936
GM
13060 * alloc.c (enum mem_type): Compile unconditionally.
13061
3b451f74
EZ
130622000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13063
13064 * xfaces.c (tty_defined_color): Don't return faulire indication
13065 for unspecified-fg and unspecified-bg pseudo-colors.
13066
10689a01
GM
130672000-02-17 Gerd Moellmann <gerd@gnu.org>
13068
1216f5e4
GM
13069 * alloc.c (mark_object): Don't mark symbol names in pure space.
13070 (gc_sweep): Don't unmark symbol names in pure space.
13071
13072 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13073 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13074 [GC_MARK_STACK]: New defines.
427ec082 13075 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13076 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13077
13078 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13079
13080 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13081 allocate_buffer instead of xmalloc.
13082
13083 * alloc.c (toplevel): Include setjmp.h.
13084 (PURE_POINTER_P): New define.
13085 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13086 (Vdead) [GC_MARK_STACK]: New variable.
13087 (lisp_malloc): Add parameter TYPE, call mem_insert if
13088 GC_MARK_STACK is defined.
13089 (allocate_buffer): New function.
427ec082 13090 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13091 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13092 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13093 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13094 (MEM_NIL) [GC_MARK_STACK]: New define.
13095 (struct mem_node) [GC_MARK_STACK]: New structure.
13096 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13097 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13098 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13099 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13100 (mark_stack) [GC_MARK_STACK]: New functions.
13101 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13102 (clear_marks): Removed.
13103 (gc_sweep): Set free conses' car, free floats' type, free
13104 symbols' function to Vdead. Use lisp_free to free buffers.
13105 (init_alloc_once): Initialize Vdead.
13106 (survives_gc_p): Return non-zero for pure objects.
13107
13108 * alloc.c: Add comments throughout the file.
13109
2503c8b1
GM
13110 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13111 that unblocks alarms.
13112
8389e1e2
GM
13113 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13114 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13115 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13116
10689a01 13117 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13118
bfc17d18
KH
131192000-02-17 Kenichi Handa <handa@etl.go.jp>
13120
4a09dee0
KH
13121 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13122 avoid infinite error signaling. Allocate sufficient memory for
13123 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13124
2b927d02
SM
131252000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13126
13127 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13128 depends on the previous behavior.
13129
b49cb764
GM
131302000-02-16 Gerd Moellmann <gerd@gnu.org>
13131
13132 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13133
99e95407
GM
131342000-02-15 Gerd Moellmann <gerd@gnu.org>
13135
13136 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13137
13138 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13139 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13140 write(2).
13141
6ffd3cf7
RS
131422000-02-15 Richard M. Stallman <rms@gnu.org>
13143
13144 * data.c (set_internal): Don't make variable buffer-local
13145 if within a let-binding for the same buffer.
13146 (let_shadows_buffer_binding_p): New function.
13147
13148 * eval.c (specbind): For buffer-local value,
13149 record the current buffer also.
13150 (unbind_to): Cope with that change.
13151
cad53475
GM
131522000-02-15 Gerd Moellmann <gerd@gnu.org>
13153
13154 * window.c (Fsave_window_excursion): Doc fix.
13155
1aa963c8
SM
131562000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13157
13158 * syntax.c (back_comment): Make sure we only consider comment-starters
13159 of the relevant style and return -1 in case of a failure to find the
13160 beginning of the comment.
13161 (Fforward_comment): If back_comment fails, go back to the position just
13162 after the comment-end.
13163 (scan_lists): Add comment describing a very minor bug.
13164
b9b84fd3
SM
131652000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13166
13167 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13168 `completion-regexp-list' in the docstring.
13169
3a28db80
DL
131702000-02-14 Dave Love <fx@gnu.org>
13171
13172 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13173
fb4a568d
SM
131742000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13175
13176 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13177 to Emacs' syntax. Also fix the comment about set/not-set meanings
13178 since Emacs syntax is not the value 0 any more.
13179 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13180 since it's now part of RE_SYNTAX_EMACS.
13181
1063ebb5
DL
131822000-02-12 Dave Love <fx@gnu.org>
13183
52283633 13184 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13185
fb07a302
GM
131862000-02-12 Gerd Moellmann <gerd@gnu.org>
13187
13188 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13189
aaf2320c
DL
131902000-02-12 Dave Love <fx@gnu.org>
13191
13192 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13193
13194 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13195 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13196 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13197
13198 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13199
13200 * s/nextstep.h: Don't define HAVE_ALLOCA.
13201
13202 * config.in: Add vfork bits.
13203
eedf8bde
GM
132042000-02-12 Gerd Moellmann <gerd@gnu.org>
13205
13206 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13207 unwind function to undo the effect of stopping atimers.
13208
52283633 13209 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13210
13211 * atimer.c (stopped_atimers): New variable.
13212 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13213 New functions.
13214
13215 * atimer.h (stop_other_atimers, run_all_atimers)
13216 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13217
eedf8bde
GM
13218 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13219
8476c2f8
KR
132202000-02-11 Ken Raeburn <raeburn@gnu.org>
13221
13222 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13223 library may depend on jpeg.
13224 (atimer.o): Depends on atimer.c.
13225
0e85e4a3
KH
132262000-02-11 Kenichi Handa <handa@etl.go.jp>
13227
13228 * insdel.c (del_range_1): Call update_compositions.
13229 (del_range_both): Call update_compositions just once..
13230
97fa0cc8
DL
132312000-02-10 Dave Love <fx@gnu.org>
13232
13233 * xfns.c (create_frame_xic): Fix initialization of automatic
13234 aggregates for pcc.
13235
25566a3c
KH
132362000-02-09 Kenichi Handa <handa@etl.go.jp>
13237
13238 * ccl.c (CCL_MAKE_CHAR): New macro.
13239 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13240 registers by CCL_MAKE_CHAR before calling translate_char.
13241 <CCL_TranslateCharacterConstTbl> Likewise.
13242
69da54ba
DL
132432000-02-08 Dave Love <fx@gnu.org>
13244
13245 * lread.c (__EXTENSIONS__): Define.
13246
f7136ee8
GM
132472000-02-08 Gerd Moellmann <gerd@gnu.org>
13248
13249 * puresize.h (BASE_PURESIZE): Increase to 650000.
13250
7768790b
EZ
132512000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13252
13253 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13254 the help message.
13255
38fd211b
EZ
132562000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13257
13258 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13259 md, mh, mb, mr, and me to the fake termcap entry.
13260
66e4690f
KR
132612000-02-06 Ken Raeburn <raeburn@gnu.org>
13262
13263 * sound.c (sound_cleanup): Don't call device close routine if the
13264 function pointer is null.
13265
a75dfea0
AI
132662000-02-06 Andrew Innes <andrewi@gnu.org>
13267
13268 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13269 around image definitions and prototypes.
13270 (gamma_correct) [WINDOWSNT]: New prototype.
13271
13272 * w32term.c (x_make_frame_visible): Replace call to
13273 input_poll_signal with poll_for_input.
13274
13275 * window.c [WINDOWSNT]: Include w32term.h.
13276
13277 * xdisp.c [WINDOWSNT]: Include w32term.h.
13278
13279 * makefile.nt: Add dependencies on w32gui.h.
13280 (OBJ1): Include atimer.obj.
13281 ($(BLD)\atimer.obj): New dependency rule.
13282
13283 * w32.c (sigmask): New function (does nothing).
13284 (sigunblock): Ditto.
13285
13286 * frame.c [WINDOWSNT]: Include w32term.h.
13287
13288 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13289
13290 * lread.c (syms_of_lread): Fix literal newlines.
13291
13292 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13293 the string constant limit (2048 bytes) in MSVC.
13294 (main): Ditto.
13295
59ddecde
GM
132962000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13297
52283633 13298 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13299 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13300 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13301 dispatch the event.
13302
07590973
DL
133032000-02-04 Dave Love <fx@gnu.org>
13304
13305 * fileio.c: Remove some unused vars.
13306 (_GNU_SOURCE): Define (for euidaccess).
13307
13308 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13309
13310 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13311 gcpro1, gcpro2.
13312 (read_minibuf): Deal with allow_props correctly.
13313
649351f9
EZ
133142000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13315
13316 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13317
66e4690f 133182000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13319
13320 * search.c (compile_pattern): If a cache entry has a nil regexp,
13321 fill in that entry instead of clobbering a previously cached
13322 string regexp.
13323
66e4690f 133242000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13325
13326 * puresize.h (BASE_PURESIZE): Increase to 610000.
13327
d240a249
GM
133282000-02-02 Gerd Moellmann <gerd@gnu.org>
13329
13330 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13331 can GC.
13332
ca91fb26
KH
133332000-02-02 Kenichi Handa <handa@etl.go.jp>
13334
25660570
KH
13335 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13336 instead of incrementing ic directly.
13337 <CCL_WriteExprConst> Likewise.
13338 <ccl_set_expr>: Set ic to jump_address.
13339
ca91fb26
KH
13340 * fileio.c (e_write): Fix the handling of
13341 CODING_FINISH_INSUFFICIENT_SRC.
13342
2ede9689
DL
133432000-02-01 Dave Love <fx@gnu.org>
13344
13345 * editfns.c (Fpropertize): Doc fix.
13346
13347 * process.c (Fstart_process): Doc fix.
13348
13349 * eval.c: Fix various doc strings not to duplicate information
13350 from help-manyarg-func-alist.
13351
52283633 13352 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13353
13354 * doc.c (Vhelp_manyarg_func_alist): New variable.
13355 (Fdocumentation): Use it.
13356 (syms_of_doc): Define it.
13357
b6680a0e
GM
133582000-01-31 Gerd Moellmann <gerd@gnu.org>
13359
2cb750ba
GM
13360 * xterm.c (xim_open_dpy): Remove unused local variable.
13361
52283633 13362 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13363
13364 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13365 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13366
b6680a0e
GM
13367 * fns.c (sweep_weak_table): New function.
13368 (sweep_weak_hash_tables): Use it. Keep on marking until there
13369 is no more change.
13370
994c5afe
GM
133712000-01-30 Gerd Moellmann <gerd@gnu.org>
13372
13373 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13374 that XTread_socket does not crash by trying to call XNoOp on a
13375 closed display.
427ec082 13376
f00276e3
JR
133772000-01-30 Jason Rumney <jasonr@gnu.org>
13378
13379 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13380 Change selected_frame to SELECTED_FRAME ().
13381 (w32_console_mouse_position): Remove #ifndef MULE from around
13382 `insist' parameter.
13383
13384 * makefile.nt: Remove dosfns.obj.
13385
13386 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13387
13388 * w32fns.c (w32_defined_color): Check for valid frame before
13389 applying gamma correction. Eliminate dependency on frame elsewhere.
13390 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13391 (w32_to_x_font): Use resx and resy not height_in and width_in.
13392 (x_to_w32_font): Doc fix.
13393 (xlfd_strip_height): New function to strip and return font height.
13394 (w32_font_match): Compare height separately from rest of xlfd
13395 spec, using xlfd_strip_height.
13396
13397 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13398 width_in. Use w32_defined_color in place of defined_color.
13399
13400 * w32faces.c: Merge more of DOS and X specifics in preparation for
13401 merge with xfaces.c.
13402 (defined_color): Remove FIXME comment.
13403 (tty_color_name): Provide w32-specific function.
13404 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13405
13406 * w32console.c (turn_on_face, turn_off_face): Removed.
13407 (w32_face_attributes): New function.
13408 (Global_variables): Reduce scope where possible.
13409 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13410 fill attribute.
13411 (hl_mode): Don't modify text attributes.
13412 (write_glyphs): Don't do anything if len <= 0. Use
13413 w32_face_attributes to get attributes for drawing. Write
13414 terminating codes using char_attr_normal.
13415 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13416 (update_begin, update_end): Likewise.
13417 (vga_stdcolor_name): New function.
13418 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13419 (Fset_screen_color): Remove char_attr_reverse.
13420
b08e8bb2
GM
134212000-01-29 Gerd Moellmann <gerd@gnu.org>
13422
13423 * xfns.c (xic_set_preeditarea): Take window parameter and
13424 window-relative pixel-positions.
13425
13426 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13427 is its frame's selected window.
13428 (xim_instantiate_callback): Likewise.
13429
13430 * xfns.c (x_create_im): Removed.
13431 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13432 (supported_xim_styles): Renamed from supported_styles.
13433 (best_xim_style): Renamed from best_style.
13434 (create_frame_xic): Renamed from xic_create_frame.
13435 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13436
b08e8bb2
GM
134372000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13438
13439 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13440 our frames, call XFilterEvent with 2nd parameter `None'.
13441 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13442 returning XBufferOverflow.
52283633 13443 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13444 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13445 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13446 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13447 (xim_initialize, xim_close)
13448 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13449 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13450 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13451 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13452
13453 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13454 and `xim_styles'.
13455 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13456 `xic_style' and `xic_xfs'.
13457 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13458 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13459 (FRAME_XIM): Removed.
13460
13461 * xfns.c (supported_styles): New variable.
13462 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13463 (xic_create_xfontset, best_style, xic_create_frame)
13464 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13465 (xic_set_xfontset): New functions.
13466
142e109c
DL
134672000-01-28 Dave Love <fx@gnu.org>
13468
13469 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13470
13471 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13472
b02786f9
GM
134732000-01-28 Gerd Moellmann <gerd@gnu.org>
13474
d060bc9f
GM
13475 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13476 for *scratch* if it already existed.
13477
b02786f9
GM
13478 * emacs.c (USAGE): New macro.
13479 (main): Use it to display usage information.
13480
2c52d7e4
EZ
134812000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13482
13483 Support for the menu-help feature:
13484
52283633 13485 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13486
13487 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13488 part of the line to the termscript file.
13489 (IT_clear_to_end): Clear the entire line, not just its beginning.
13490 (menu_help_message, prev_menu_help_message): New variables.
13491 (IT_menu_make_room): Make room for the help_text member.
13492 (IT_menu_display): New argument disp_help; all callers changed.
13493 If disp_help is non-zero, store the help text of the active menu
13494 item in menu_help_message.
13495 (XMenuAddPane): Initialize the help_text member to NULL.
13496 (XMenuAddSelection): New argument help_text. Store it in the
13497 XMenu structure.
13498 (XMenuActivate): New argument help_callback. If the value of
13499 menu_help_message has changed since the last time, display the
13500 menu help message text while waiting for the mouse to move. Clear
13501 the echo area before exiting.
13502 (XMenuDestroy): Free the help_text member.
13503
ffe0bcd1
GM
135042000-01-27 Gerd Moellmann <gerd@gnu.org>
13505
13506 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13507 XMenuAddSelection. Pass help callback to XMenuActivate.
13508 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13509
50dbd23f
EZ
135102000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13511
13512 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13513 and EMACS_SET_USECS.
13514
f5941bf8
GM
135152000-01-26 Dave Love <fx@gnu.org>
13516
6c67ddee
DL
13517 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13518
f5941bf8
GM
13519 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13520 an error may be signalled.
13521
9e49c990
GM
135222000-01-26 Gerd Moellmann <gerd@gnu.org>
13523
fc3cb460
GM
13524 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13525 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13526
9e49c990
GM
13527 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13528
d0c037d8
GM
135292000-01-25 Gerd Moellmann <gerd@gnu.org>
13530
13531 * charset.c (Fstring): If there is a multibyte char among
13532 the args, always return a multibyte string.
13533
e12489f9
GM
135342000-01-25 Gerd Moellmann <gerd@gnu.org>
13535
13536 * sysdep.c (sys_select): Turn atimers off and on instead of
13537 recording and restoring old alarm handler
13538
13539 * process.c (toplevel): Include atimer.h.
13540 (create_process_1): Rewritten.
13541 (create_process): Use atimers instead of alarm.
13542 (wait_reading_process_input) [hpux]: Turn atimers off instead
13543 of turning off SIGALRM.
13544 (wait_reading_process_input): Turn off atimers instead off
13545 calling stop_polling.
13546
13547 * emacs.c (main): Call init_atimer.
13548
13549 * keyboard.c (toplevel): Include systime.h and atimer.h.
13550 (polling_for_input): Removed because unused.
13551 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13552 (poll_timer): New variable.
13553 (poll_for_input, poll_for_input_1): New functions.
13554 (start_polling, stop_polling): Rewritten.
13555
13556 * keyboard.h (polling_for_input): Removed.
427ec082 13557
e12489f9
GM
13558 * atimer.h, atimer.c: New files.
13559
13560 * Makefile.in (obj): Add atimer.o.
13561 (atimer.o): New target.
13562
13563 * blockinput.h (pending_atimers): Add extern declaration.
13564 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13565
13566 * lisp.h (popup_activated_flag): Add extern declaration.
13567
13568 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13569 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13570 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13571
13572 * xterm.c (toplevel): Include atimer.h.
13573 (toolkit_scroll_bar_interaction): New variable.
13574 (Fxt_process_timeouts): Removed.
13575 (x_process_timeouts): New function.
13576 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13577 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13578 (x_make_frame_visible): Call poll_for_input_1 instead of
13579 input_poll_signal. Don't call alarm.
13580 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13581
1e5279b9
DL
135822000-01-24 Dave Love <fx@gnu.org>
13583
6c67ddee 13584 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13585 Don't use -cckr -- apparently not now necessary.
13586
edf6aeb8
EZ
135872000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13588
13589 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13590 screen boundary.
13591
9badad41
JR
135922000-01-23 Jason Rumney <jasonr@gnu.org>
13593
13594 * w32fns.c (w32_defined_color): Apply gamma correction before
13595 trying to map to the palette.
13596 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13597 to w32_clear_rect.
13598
13599 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13600 here. Callers changed to always pass real device context.
13601 (w32_draw_bitmap): Likewise.
13602 (w32_get_glyph_overhangs): Likewise.
52283633 13603 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13604 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13605 pfnSetScrollInfo and SetScrollRange.
13606 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13607 back into MULE characters after decoding them.
13608 (x_get_glyph_face_and_encoding): Likewise.
13609 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13610 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13611 (x_produce_glyphs): Calculate per char metrics for a character
13612 that we know exists in default font when font_not_found_p is true.
13613
63bd786b
JR
136142000-01-22 Jason Rumney <jasonr@gnu.org>
13615
13616 * makefile.nt (intervals.obj, composite.obj): New modules.
13617 (composite.h): Added as dependency where appropriate.
13618
13619 * w32gui.h (XGCValue): New struct for emulating X GCs.
13620
13621 * w32term.h (XCharStruct): New struct for emulating X.
13622
13623 * w32console.c (turn_on_face, turn_off_face): New functions.
13624 (change_line_highlight): New prototype for new redisplay.
13625 (write_glyphs): Support multibyte text. Support faces.
13626
52283633 13627 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13628
13629 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13630 throughout. struct frame * in place of FRAME_PTR.
13631 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13632 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13633 (w32_get_arg): Renamed from x_get_arg.
13634 (Fx_file_dialog): New function.
13635 (w32_list_fonts): Check cache before asking system.
13636 (Vw32_enable_synthesized_fonts): New variable.
13637 (Vw32_enable_italics): Obsolete, removed.
13638
13639 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13640 Use SELECTED_FRAME macro.
13641
13642 * w32menu.c: Add skeleton support for help strings on menus.
13643 (add_menu_item): Native checkbox and radio support added, but not
13644 yet enabled due to bugs.
13645 (push_menu_item): Add parameters type, selection and help.
13646 Callers updated.
13647 Formatting changes to reduce unnecessary diffs with xmenu.c.
13648
13649 * w32select.c (Fw32_set_clipboard_data): Update call to
13650 find_charset_in_str.
13651
13652 * w32term.c: Complete rewrite for new redisplay based on new
13653 xterm.c with necessary sections merged back in from old w32term.c.
13654
6ffd3cf7 136552000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13656
13657 * data.c (set_internal): Further fix in same criterion.
13658
6ffd3cf7 136592000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13660
13661 * data.c (set_internal): Fix the criteria for whether
13662 to swap out the old cached binding.
13663
60af03f1
DL
136642000-01-19 Dave Love <fx@gnu.org>
13665
13666 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13667
f9be074f
KH
136682000-01-18 Kenichi Handa <handa@etl.go.jp>
13669
13670 * regex.c (re_compile_fastmap): While checking a range table for
13671 `charset', skip flag bits for a character class correctly.
13672
52b8dbf9
GM
136732000-01-17 Gerd Moellmann <gerd@gnu.org>
13674
d36100c9
GM
13675 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13676
52283633 13677 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
13678
13679 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 13680 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
13681
13682 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
13683 MENU_ITEMS_ITEM_.*.
13684 (MENU_ITEMS_ITEM_HELP): New enumerator.
13685 (push_menu_item): Add parameter HELP. Record help in menu_items.
13686 (single_menu_item, single_submenu, list_of_items): Call
13687 push_menu_item with new parameter.
13688 (single_submenu): Set help string in widget value.
13689 (menu_highlight_callback): New function.
13690 (set_frame_menubar): Call lw_create_widget with new
13691 parameter list.
13692 (xmenu_show, xdialog_show): Ditto.
13693
3139018f
GM
136942000-01-13 Gerd Moellmann <gerd@gnu.org>
13695
13696 * sound.c (Fplay_sound): Improve doc string.
13697
83c8f461
RS
136982000-01-11 Richard M. Stallman <rms@gnu.org>
13699
13700 * lisp.h (set_internal): Enter the new arg.
13701
13702 * eval.c (specbind): Record buffer-local variables specially,
13703 indicating which buffer's binding was saved.
13704 (unbind_to): Restore buffer-local variables specially
13705 in the proper buffer.
13706
13707 * data.c (set_internal): New arg BUF.
427ec082 13708
83c8f461
RS
13709 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
13710 * data.c (Fset): Pass new arg to set_internal.
13711 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 13712
1fab1775
GM
137132000-01-11 Gerd Moellmann <gerd@gnu.org>
13714
52283633 13715 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 13716
83c8f461 137172000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
13718
13719 * minibuf.c (Ftry_completion): Doc fix.
13720
7a85e4df
GM
137212000-01-11 Gerd Moellmann <gerd@gnu.org>
13722
13723 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
13724 vector, too.
13725
a970dae4
AS
137262000-01-11 Andreas Schwab <schwab@suse.de>
13727
13728 * coding.c (code_convert_region): Initialize total_skip.
13729
c65d14ee
DL
137302000-01-08 Dave Love <fx@gnu.org>
13731
13732 * eval.c (Fuser_variable_p): Check customizability too.
13733
834938d2
GM
137342000-01-07 Gerd Moellmann <gerd@gnu.org>
13735
13736 * minibuf.c (Fcompleting_read): Doc fix.
13737
e0303cd6
GM
137382000-01-05 Gerd Moellmann <gerd@gnu.org>
13739
8a26744b
GM
13740 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13741 -L /usr/local/lib.
13742
e0303cd6
GM
13743 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13744 Check that input style is supported before trying to create an
13745 IC for it.
13746 (x_window): Call x_create_im.
427ec082 13747
2e471eb5
GM
137482000-01-04 Gerd Moellmann <gerd@gnu.org>
13749
560a7bd2
GM
13750 * xfns.c (current_gif_memory_src): New variable.
13751 (gif_load): Record the address of the current memory source
13752 in current_gif_memory_src.
13753 (gif_read_from_memory): Use current_gif_memory_src.
13754
f9ee84a3
GM
13755 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13756 macros statement form.
13757
d1299cde
GM
13758 * sound.c (struct sound): Renamed from struct sound_file.
13759 (struct sound): Add members `data' and `header_size'.
13760 (enum sound_attr): Add SOUND_DATA.
13761 (current_sound, current_sound_device): Variables renamed from
13762 sound_file and sound_device.
13763 (parse_sound): Parse :data.
13764 (parse_sound): Handle sound data in strings.
13765 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 13766 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
13767 needed header size.
13768 (wav_play, au_play): Play sounds from string data.
13769
2e471eb5
GM
13770 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13771
13772 * lisp.h: Add prototype for allocate_string_data.
13773
52283633 13774 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
13775
13776 * alloc.c (mark_buffer): Remove code in #if 0.
13777 (gc_sweep): Ditto.
13778 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13779 (strings_consed): New variable.
13780 (allocate_string): Set it.
13781 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13782 (Fmemory_use_counts): Return strings_consed. Use Flist.
13783
13784 * alloc.c: General cleanup in comments etc. Remove conditional
13785 compilation for `standalone'.
13786
13787 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13788
13789 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13790 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13791 (DONT_COPY_FLAG): Removed.
13792 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13793 (struct sdata, struct sblock): New
13794 (struct string_block): Rewritten.
13795 (STRINGS_IN_STRING_BLOCK): New macro.
13796 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13797 (large_sblocks, string_blocks, string_free_list): New variables.
13798 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13799 (init_strings): Rewritten.
13800 (allocate_string, allocate_string_data, compact_small_strings)
13801 (free_large_strings, sweep_strings): New functions.
13802 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13803 (struct string_block_head, current_string_block)
13804 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13805 (STRING_PAD): Removed.
13806 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13807 (Fgarbage_collect): Don't set mark bit in large strings.
13808 (mark_object): Mark strings differently. Mark symbol names
13809 differently.
13810 (survives_gc_p): Test marked strings differently.
427ec082 13811 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13812 symbol names.
13813 (compact_strings): Removed.
13814
42608ba8
EZ
138152000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13816
13817 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13818 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13819
e0a09e1a
KH
138202000-01-04 Kenichi Handa <handa@etl.go.jp>
13821
dd9f0750 13822 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 13823 in a non-empty buffer.
dd9f0750 13824
3c0f3b15 13825 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 13826
44cd3ae5
GM
138272000-01-03 Gerd Moellmann <gerd@gnu.org>
13828
13829 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13830 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13831
13832 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13833
c182a70f
EZ
138342000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13835
13836 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13837 need to test for MSDOS frames.
13838
24480d5b
EZ
138392000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13840
13841 * dosfns.c (unspecified_colors): Remove.
13842 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13843 unspecified_bg.
13844 (msdos_stdcolor_name): Return strings for unspecified fore- and
13845 back-ground colors.
13846
13847 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 13848 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
13849 (tty_color_name): Return Lisp strings for unspecified fore- and
13850 back-ground colors.
13851 (Finternal_set_lisp_face_attribute): Remove the special treatment
13852 for Qunspecified_{f,b}g.
52283633 13853 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 13854
047f434a
GM
138552000-01-03 Gerd Moellmann <gerd@gnu.org>
13856
13857 * xdisp.c (reseat_at_next_visible_line_start): Position before
13858 newline only if ending up on a newline.
13859 (next_element_from_ellipsis): Return success. Handle case of
52283633 13860 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
13861 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13862 returns 0.
13863
d684c676
EZ
138642000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13865
13866 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
13867 (Fcolor_supported_p): Renamed from face-color-supported-p.
13868
5fe1d139
EZ
138692000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13870
13871 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
13872 list of colors renamed to tty-defined-color-alist.
13873 (tty_color_name): Pass the frame to tty-color-by-index.
13874 (realize_tty_face): tty-color-alist is now a function which
13875 accepts the frame as argument.
13876
52283633 13877 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 13878
816be8b8
EZ
138792000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13880
13881 * term.c (insert_glyphs): Pass glyph, not &glyph, to
13882 encode_terminal_code.
13883
b635321e
EZ
138842000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13885
13886 * dispnew.c (mode_line_string): Support termcap frames as well.
13887
9b784e96
GM
138882000-01-01 Gerd Moellmann <gerd@gnu.org>
13889
27189709
GM
13890 * syntax.c (Fforward_word): Undo previous change.
13891
13892 * editfns.c (Fconstrain_to_field): Don't constrain if
13893 inhibit-field-text-motion is non-nil.
13894 (Fline_beginning_position): Undo previous change.
13895 (Fline_end_position): Ditto.
13896
13897 * syntax.c (Fforward_word): Notice field boundaries only if
13898 inhibit-field-text-motion is nil.
13899
13900 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
13901
13902 * editfns.c (Vinhibit_field_text_motion): New variable.
13903 (inhibit-field-text-motion): New DEFVAR_LISP.
13904 (Fline_beginning_position, Fline_end_position): Notice field
13905 boundaries only if inhibit-field-text-motion is nil.
13906
45158a91
GM
13907 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
13908 All calls adjusted.
13909 (x_build_heuristic_mask): Likewise.
13910 (xbm_load_image_from_file): Change error output.
13911 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13912 (gif_load, gs_load, x_kill_gs_process): Ditto.
13913
9b784e96
GM
13914 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13915 color indices when accessing raster pixels.
63cec32f
GM
13916 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13917 one of :file or :data.
13918 (enum pbm_keyword_index): Add PBM_DATA.
13919 (pbm_format): Add :data.
13920 (pbm_image_p): Allow either :file or :data.
13921 (pbm_read_file): New function.
13922 (pbm_scan_number): Rewritten to read from string.
13923 (pbm_load): Support :data.
9b784e96 13924
2cb085db 13925See ChangeLog.8 for earlier changes.
6922b018
KH
13926
13927;; Local Variables:
49b3bd82 13928;; coding: iso-2022-7bit
6922b018 13929;; End:
2a34a036
GM
13930
13931 Copyright (C) 2001 Free Software Foundation, Inc.
13932 Copying and distribution of this file, with or without modification,
13933 are permitted provided the copyright notice and this notice are preserved.