Fix typos in comments.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
48400103
PJ
12001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2
3 * xdisp.c: Fix typos in comments.
4
eafa3196
GM
52001-10-31 Gerd Moellmann <gerd@gnu.org>
6
7 * window.c (grow_mini_window): Handle case that the root
8 window is already smaller than the nominal mininum height.
9
747d3f2a
SM
102001-10-30 Stefan Monnier <monnier@cs.yale.edu>
11
bf9bb76f
SM
12 * emacs.c (main): Don't call keys_of_macros any more.
13
14 * lisp.h (keys_of_macros): Remove.
15
16 * macros.c (keys_of_macros): Remove.
17
747d3f2a
SM
18 * xfaces.c (Fface_attribute_relative_p): Declare args.
19
5e905a57
JR
202001-10-30 Jason Rumney <jasonr@gnu.org>
21
22 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
23 (enum_font_cb2): Ignore fonts with vertical orientation.
24
3a426197
RS
252001-10-30 Richard M. Stallman <rms@gnu.org>
26
27 * keyboard.c (Finput_pending_p): Doc fix.
28
a742d646
GM
292001-10-30 Gerd Moellmann <gerd@gnu.org>
30
259cf6bc
GM
31 * xterm.c (x_after_update_window_line): Don't run the code
32 clearing in borders for rows whose visible height is 0.
33
3f99f948
GM
34 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
35 resized_p flag is set. If not set, use the much less flickering
36 method previously used.
37
38 * dispnew.c (change_frame_size_1): Set frame's resized_p.
39
40 * frame.h (struct frame) <resized_p>: New member.
41
b4a3be43
GM
42 * lread.c (to_multibyte): Ensure read_buffer is at least twice
43 as large as the number of bytes to convert.
747d3f2a 44
a742d646
GM
45 * lread.c (to_multibyte): New function.
46 (read1): Use it.
47
cacbb9e9
EZ
482001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
49
50 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
51
99cb6b2f
GM
522001-10-30 Gerd Moellmann <gerd@gnu.org>
53
327f42ee 54 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
55 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
56 if the row's fill_line_p is set and drawing the last glyph with
57 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 58
99cb6b2f
GM
59 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
60
8e8223e2
SM
612001-10-29 Stefan Monnier <monnier@cs.yale.edu>
62
63 * xmenu.c: Include coding.h and charset.h.
64 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
65 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
66 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
67 Explicitly set wv->help. Use `TRUE' rather than `True'.
68 (menu_help_callback): Use empty_string.
69
70 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
71 (Fx_popup_dialog): Explicitly init f.
72 (w32_menu_display_help): Use empty_string.
73
4d083a8f
RS
742001-10-29 Richard M. Stallman <rms@gnu.org>
75
b2304472
RS
76 * fns.c (Frequire): Detect recursive try to require the same
77 feature 3 or more levels deep, and get error.
78 (require_unwind): New subroutine.
79 (require_nesting_list): New variable.
80 (syms_of_fns): Init and staticpro it.
81
4d083a8f
RS
82 * print.c (print_object): Clarify indication of insertion type.
83
2fe41216
EZ
842001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
85
90480000
EZ
86 * coding.c (syms_of_coding): Document that locale-coding-system is
87 used for decoding input on X.
88
2fe41216
EZ
89 * window.c (Fscroll_left, Fscroll_right): Doc fix.
90
74e79967
PJ
912001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
92
93 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
94 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
95
60ebcfe8
GM
962001-10-29 Gerd Moellmann <gerd@gnu.org>
97
9a7bdceb
GM
98 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
99 use NO_CURSOR if cursor_in_non_selected_windows is false.
100
3f08fcd2
GM
101 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
102 the slant attribute if FRAME is t.
103
0ccfdad2
GM
104 * xfns.c (x_set_internal_border_width): Set frame garbaged
105 when X window doesn't exist yet.
106
ef253080
GM
107 * xterm.c (x_after_update_window_line): Clear internal border
108 in different circumstances.
109
60ebcfe8
GM
110 * xterm.c (XTread_socket) <KeyPress>: Don't use
111 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
112 <handa@etl.go.jp>.
113
73d25f9c
EZ
1142001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
115
116 * m/ibms390.h: New file. From Adam Thornton
117 <athornton@sinenomine.net>.
118
cac1daf0
GM
1192001-10-28 Gerd Moellmann <gerd@gnu.org>
120
053b3256
GM
121 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
122
cac1daf0
GM
123 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
124 a loop counter.
125
13b1a09c
PJ
1262001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
127
186486eb
PJ
128 * emacs.c: Use argv[0] instead of emacs when -t was specified.
129
4707d2d0
PJ
130 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
131 keyword].
132 Fix typos in comments.
133
d883731c
PJ
134 * emacs.c (bug_reporting_address): New function.
135 Use it when displaying usage message.
136
04012254
PJ
137 * minibuf.c (read_minibuf): Remove unused external declaration of
138 variable `Qread_only'.
139
13b1a09c
PJ
140 * keymap.c (access_keymap): Remove unused variable `charset'.
141
5bbf4378
MB
1422001-10-28 Miles Bader <miles@gnu.org>
143
144 * xfaces.c (merge_face_heights): Handle TO being relative as well.
145 Remove #ifdef'd-out code.
146 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
147 (syms_of_xfaces): Initialize them.
148
1ce1e4ee
JR
1492001-10-27 Jason Rumney <jasonr@gnu.org>
150
151 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
152 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
153 position using the system caret.
154
155 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
156 (w32_system_caret_height, w32_system_caret_x)
157 (w32_system_caret_y): New variables for tracking system caret.
158 (w32_initialize): Initialize them.
c2d53558 159 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 160
c2d53558
SM
161 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
162 New messages types.
1ce1e4ee
JR
163
164 * w32term.c (note_mouse_highlight): Clear old help_echo.
165
4e30ce42
PJ
1662001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
167
bb4600a4
PJ
168 * xterm.c: Fix typo in a comment.
169
7db35a48
PJ
170 * emacs.c: Fix typos in comments.
171 Remove unnecessary spaces.
172 Change doc-string comments to `new style' [w/`doc:' keyword].
173 (USAGE2): Fix typos in usage string.
174
a7248e4f
PJ
175 * xterm.c: Fix typo in a comment.
176
4e30ce42
PJ
177 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
178 emacs.c.
179
62725a92
GM
1802001-10-27 Gerd Moellmann <gerd@gnu.org>
181
798dbe1f 182 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 183 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
184 farther backward when target_y was not reached.
185
62725a92
GM
186 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
187 Display errno only if non-zero.
188 (sound_warning): New function.
189 (vox_configure): Don't treat failing to set sample rate as error.
190 (various places): Improve error messages.
191
d4e34d24
EZ
1922001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
193
944e6f60
EZ
194 * fileio.c (Faccess_file): Run the argument filename through
195 Fexpand_file_name, before using it.
196
d4e34d24
EZ
197 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
198 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
199
38d2af0c
GM
2002001-10-26 Gerd Moellmann <gerd@gnu.org>
201
da80a8d5
GM
202 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
203
38d2af0c
GM
204 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
205 Fix clearing in the case of scroll bars on the right.
c2d53558 206
56f508dd
EZ
2072001-10-26 Juanma Barranquero <lektu@terra.es>
208
209 * w32gui.h (XImage): Add a dummy typedef.
210
fbd5ceb2
GM
2112001-10-26 Gerd Moellmann <gerd@gnu.org>
212
c2d53558 213 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 214
b23236fb
EZ
2152001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
216
217 * frame.c (Fframe_parameter): Fix last change.
218
879eadc3
GM
2192001-10-25 Gerd Moellmann <gerd@gnu.org>
220
75700ff2
GM
221 * frame.c (Fframe_parameter): Fix a bug whereby some
222 ``artificial'' frame parameters, like `minibuffer' were not
223 obtained by calling Fframe_parameters.
224
dfe92a6a
GM
225 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
226 cursor differently.
227
879eadc3
GM
228 * xdisp.c (move_it_vertically_backward): Compute line height
229 differently. Add heuristic to try to be more compatible to 20.x.
230
e1010ebe
SM
2312001-10-25 Stefan Monnier <monnier@cs.yale.edu>
232
d73a471b
SM
233 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
234
d6da5a06
GM
235 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
236 boolean.
e1010ebe 237
f66bd220
MB
2382001-10-25 Miles Bader <miles@gnu.org>
239
240 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
241 BG is a pointer to a structure, not a structure.
242 (gif_format, png_format): Add missing commas.
243
d436d538
RS
2442001-10-24 Richard M. Stallman <rms@gnu.org>
245
246 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 247 (syms_of_xfaces): Defsubr it.
d436d538 248
075c507b
PJ
2492001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
250
251 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
252 variable `area'.
253
d492b584
PJ
2542001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
255
c2d53558 256 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 257
e2a57b34
MB
2582001-10-25 Miles Bader <miles@gnu.org>
259
260 * dispextern.h (struct image): Add `background',
261 `background_valid', and `background_transparent' fields.
262 (image_background, image_background_transparent): New declarations.
263 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
264 * xfns.c (image_background, image_background_transparent)
265 (four_corners_best): New functions.
c2d53558 266 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
267 (gs_format): Add `:background' entry.
268 (lookup_image): Set IMG's background color if specified.
269 (pbm_load, xbm_load_image, png_load): Set IMG's background field
270 when appropriate.
271 (x_clear_image_1): Reset `background_valid' and
272 `background_transparent_valid' fields.
273 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
274 calculating it here. Set IMG's background_transparent field.
275 (enum xpm_keyword_index): Add XPM_BACKGROUND.
276 (enum png_keyword_index): Add PNG_BACKGROUND.
277 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
278 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
279 (enum gif_keyword_index): Add GIF_BACKGROUND.
280 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 281 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
282 Pre-calculate image background color where necessary.
283 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
284 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
285 color to use for image glyph reliefs.
286
b547b6e8
GM
2872001-10-24 Gerd Moellmann <gerd@gnu.org>
288
d9e3b8c6
GM
289 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
290 in full-width rows.
c2d53558 291
b547b6e8
GM
292 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
293 Fix clearing of area not covered by scroll bar.
294
2beb36f9
PJ
2952001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
296
297 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
298 and `real_start'.
c2d53558 299 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
300 (glyph_rect): Remove unused variable `area'.
301
76cb5e06
GM
3022001-10-24 Gerd Moellmann <gerd@gnu.org>
303
bdbdebff 304 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
305
306 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
307 (row_containing_pos): Take additional argument DY.
308 Treat rows ending in middle of char differently.
62e33982
GM
309 (display_line): Handle tabs on window systems differently.
310
311 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
312 with additional argument.
313
314 * dispextern.h (row_containing_pos): Adjust prototype.
315
76cb5e06
GM
316 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
317 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
318 (try_window_id, try_window_reusing_current_matrix)
319 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
320 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
321
996fee11
PJ
3222001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
323
c9e60620
PJ
324 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
325 gnuemacs).
326 (HAVE_BOXES): Fix typo in comment.
327 (push_menu_pane): Fix typo in comment.
328
3b552d56
PJ
329 * xdisp.c: (display_prop_string_p): Remove unused local declaration
330 of `Qwhen'.
331 (single_display_prop_string_p): Remove unused local declarations
332 of `Qwhen' and `Qmargin'.
333 (string_buffer_position): Remove unused variable `around'.
334 (store_frame_title): Remove unused variable `width'.
335
15c565ac
PJ
336 * window.c: Don't define max.
337 (coordinates_in_window): Remove unused variable `uy'.
338
a8818eb9
PJ
339 * widget.c: Don't define max.
340
996fee11
PJ
341 * process.c: Don't define max.
342 (create_process): Remove unused variable `buffer'.
343
496e1a5b
GM
3442001-10-23 Gerd Moellmann <gerd@gnu.org>
345
c2d53558 346 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 347
5905ae8b
EZ
3482001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
349
350 * xfaces.c (Finternal_set_lisp_face_attribute)
351 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
352 frame is on a windowed display.
353
24db49fb
GM
3542001-10-23 Gerd Moellmann <gerd@gnu.org>
355
c2d53558
SM
356 * dispnew.c (sync_window_with_frame_matrix_rows):
357 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
358 of marginal areas.
359
c2d53558 360 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 361
f0487f05
EZ
3622001-10-23 Andreas Schwab <schwab@suse.de>
363
364 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
365 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
366
f0a48a01
GM
3672001-10-23 Gerd Moellmann <gerd@gnu.org>
368
c2d53558 369 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
370 REAL_END. Notice if cursor gets overwritten.
371 (notice_overwritten_cursor): Take X positions as parameters.
372 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
373 around call to x_draw_glyphs.
374
a50a10a0
PJ
3752001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
376
fc11dff0
PJ
377 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
378 instead of C) and usage.
a50a10a0 379
fc11dff0
PJ
380 * editfns.c (char-to-string): Fix argument names (use CHAR instead
381 of C) and usage.
a50a10a0
PJ
382
383 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
384 `left', `max_width' and `max_height'.
385
8738febd
GM
3862001-10-23 Gerd Moellmann <gerd@gnu.org>
387
388 * xdisp.c (display_line): For a tab continued to the next line,
389 set row's ends_in_middle_of_char_p.
390
653c329b
GM
3912001-10-22 Gerd Moellmann <gerd@gnu.org>
392
393 * xdisp.c (display_line): Fix computation of continuation lines
394 width for TABs.
395
f958c5ac
PJ
3962001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
397
7ba51063
PJ
398 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
399 `Qlaplace'.
400
f958c5ac
PJ
401 * fileio.c: Remove unused code.
402
eb360291
MB
4032001-10-22 Miles Bader <miles@gnu.org>
404
405 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
406 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
407 Remove `DOC_STRINGS_IN_COMMENTS' cases.
408
98515cf0
JR
4092001-10-21 Jason Rumney <jasonr@gnu.org>
410
411 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
412
93026d88
EZ
4132001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
414
415 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
416 (Finsert_string): Avoid the multi-line string literals warning.
417
c9a95b79
MB
4182001-10-22 Miles Bader <miles@gnu.org>
419
420 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
421 (Fdocumentation): Don't use it.
422 (syms_of_doc): Don't initialize it.
423
424 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
425 * print.c (Fwith_output_to_temp_buffer): Likewise.
426 * window.c (Fsave_window_excursion): Likewise.
c2d53558 427 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 428 (Fsave_restriction): Likewise.
c2d53558
SM
429 * eval.c (Frun_hooks, Frun_hook_with_args)
430 (Frun_hook_with_args_until_failure)
431 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
432 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
433 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
434 (Funwind_protect, Fcondition_case): Likewise.
435 * coding.c (Ffind_operation_coding_system): Likewise.
436 * keyboard.c (Ftrack_mouse): Likewise.
437
a3b10252
MB
4382001-10-21 Miles Bader <miles@gnu.org>
439
c2d53558 440 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
441 (Fmake_hash_table): Add usage: string to doc string.
442 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 443 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
444 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
445 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
446 (Fml_prefix_argument_loop): Likewise.
447
c6f73eec
PJ
4482001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
449
c2d53558 450 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 451
c6f73eec
PJ
452 * sysdep.c (init_sys_modes): Change doc-string comments to `new
453 style' [w/`doc:' keyword].
454
455 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
456 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
457 comments to `new style' [w/`doc:' keyword].
458
3cf3436e
JR
4592001-10-21 Jason Rumney <jasonr@gnu.org>
460
461 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
462
c169b8f1
JR
463 * w32term.c (remember_mouse_glyph): New function.
464 (w32_mouse_position): Use it.
465 (note_mouse_movement): If the mouse moved off the glyph, remember
466 its new position.
c2d53558 467
4fdd691b
JR
468 * w32term.h (struct w32_output): Correct spelling of x_compatible.
469 (w32_display_info): Add mouse_face_overlay.
470
c169b8f1
JR
471 * w32term.c (notice_overwritten_cursor): Renamed from
472 note_overwritten_text_cursor. Rewritten to take glyph widths into
473 account.
474 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
475 (fast_find_string_pos): New function.
476 (fast_find_position): Return the correct vpos. Add parameter
477 STOP. In the final row, stop before glyphs having STOP as object.
478 Don't consider glyphs that are not from a buffer.
479 (fast_find_position) [0]: Add a presumably more correct version
480 for after 21.1.
481 (expose_window_tree, expose_frame): Don't compute intersections here.
482 (expose_window): Do it here instead.
483 (expose_window_tree, expose_window, expose_line): Return 1 when
484 overwriting mouse-face.
485 (expose_window): If W is the window currently being updated, mark
486 the frame garbaged.
487 (expose_frame): If mouse-face was overwritten, redo it.
488 (x_use_underline_position_properties): New variable.
489 (syms_of_xterm): DEFVAR_BOOL it.
490 (x_draw_glyph_string): Add comment to use it in future.
491 (x_draw_glyph_string): Restore clipping after drawing box.
492 Fix a computation of the underline position.
493 (w32_get_glyph_string_clip_rect): Minor cleanup.
494 (x_fill_stretch_glyph_string): Remove an assertion.
495 (x_produce_glyphs): Don't convert multibyte characters
496 to unibyte characters in unibyte buffers.
497 (cursor_in_mouse_face_p): New function.
498 (x_draw_stretch_glyph_string): Use it to choose a different GC
499 when drawing a cursor within highlighted text. Don't draw
500 background again if it has already been drawn.
501 (x_draw_glyph_string_box): Don't draw a full-width
502 box just because the glyph row's full_width_p flag is set.
503 (x_draw_glyphs): Fix computation of rightmost x for
504 full-width rows.
505 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
506 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
507 change bottom shadow accordingly. Some cleanup.
508 (x_update_window_end): Handle overwritten mouse face
509 also for tool bar windows.
510 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
511 DRAW is DRAW_IMAGE_RAISED.
512 (clear_mouse_face): Return 1 if text with mouse face was
513 actually redrawn. Make the function static. Reset
514 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
515 optimize away highlighting if we pass over that same overlay again.
516 (note_mouse_highlight): Call mouse_face_overlay_overlaps
517 to detect a case where we have to highlight a different region
518 despite not having left the currently highlighted region.
519 Set mouse_face_overlay in the x_display_info. Avoid changing the
520 mouse pointer shape when show_mouse_face has already done it, or
521 there is no need. Handle mouse-face and help-echo in strings.
522 (glyph_rect): New function.
523 (w32_mouse_position): Use it to raise the threshold for mouse
524 movement event generation.
525 (w32_initialize_display_info): Initialize the x_display_info's
526 mouse_face_overlay.
527 (w32_set_vertical_scroll_bar): Don't clear a zero height
528 or width area.
529 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
530 a widget to zero height.
531
3cf3436e 532 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 533 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
534 equivalents in menu_items.
535 (w32_menu_show): Don't overwrite an item's name with its key
536 description in case the description is a multibyte string.
537 (single_submenu): Some cleanup.
538
539 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
540 (postprocess_image): New function.
541 (lookup_image): Call it for all image types except PostScript.
542 (x_kill_gs_process): Call postprocess_image.
543 (tiff_error_handler, tiff_warning_handler): New functions.
544 (tiff_load): Install them as handlers.
545 (x_kill_gs_process): Recognize if someone has cleared the image
546 cache under us.
547 (valid_image_p): Protect better against invalid image
548 specifications. Previous code could signal an error.
549 (Fx_hide_tip, Fshow_tip): Doc fix.
550 (Fv_max_tooltip_size): New variable.
551 (syns_of_xfns): DEFVAR_LISP it.
552 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
553 window buffer to *tip* right after creating the frame. Set frame's
554 window_width. Use a maximum tooltip size specified by
555 Vx_max_tooltip_size, if that has valid contents.
556 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
557 Make sure the tooltip is completely visible.
558 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
559 (Fx_create_frame): Adjust the frame's height for presence
560 of the tool bar before calling x_figure_window_size.
561 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
562 when the window gets smaller.
563 (x_set_foreground_color): Set frame's cursor_pixel.
564 (x_set_foreground_color, x_set_background_color): Cleaned up.
565 (x_set_font): Handle case of x_new_fontset returning the same name
566 as before, although there was a change in fontsets.
567
386ca361
MB
5682001-10-21 Miles Bader <miles@gnu.org>
569
c2d53558 570 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
571 (Flogxor): Add usage: string to doc string.
572 * charset.c (Fstring): Likewise.
573 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
574 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
575
14ff1ee0
PJ
5762001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
577
03be2694
PJ
578 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
579
580 * alloc.c: Reindent DEFUNs with doc: keywords.
581
582 * abbrev.c (Finsert_abbrev_table_description): Reindent.
583
14ff1ee0
PJ
584 * frame.c: Change doc-string comments to `new style' [w/`doc:'
585 keyword].
586
71431a0e
GM
5872001-10-20 Gerd Moellmann <gerd@gnu.org>
588
6aa97356 589 * (Version 21.1 released.)
71431a0e 590
39f624fa
PJ
5912001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
592
c2d53558 593 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
594
595 * xdisp.c (invisible_text_between_p): Put prototype inside #if
596 0 because unused.
597
598 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
599 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
600 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 601
abcce93a
MB
6022001-10-20 Miles Bader <miles@gnu.org>
603
604 The following changes remove the glyph_row `inverse_p' field,
605 which is never set anymore, due to other changes:
606
607 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
608 (reassert_line_highlight, change_line_highlight): Declarations removed.
609 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
610 (line_hash_code, row_equal_p, fake_current_matrices)
611 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
612 (update_frame_line, update_frame_line, update_frame_line):
613 Don't use `inverse_p' field.
614 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
615 change_line_highlight_hook.
616 (XTreassert_line_highlight, x_change_line_highlight):
617 Functions removed.
c2d53558 618 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
619 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
620 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
621 `inverse_p' field.
c2d53558 622 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
623 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
624 (w32_reassert_line_highlight, x_change_line_highlight):
625 Functions removed.
626 * w32console.c (reassert_line_highlight, change_line_highlight):
627 Functions removed.
628 (initialize_w32_display): Don't set reassert_line_highlight_hook
629 or change_line_highlight_hook.
630 (hl_mode): Function removed.
c2d53558
SM
631 (reset_terminal_modes, set_terminal_modes, update_begin)
632 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
633 (clear_frame, ins_del_lines): Don't call it.
634 * termhooks.h (reassert_line_highlight_hook)
635 (change_line_highlight_hook): Declarations removed.
636 * term.c (reassert_line_highlight_hook)
637 (change_line_highlight_hook): Variables removed.
638 (reassert_line_highlight, change_line_highlight): Functions removed.
639 * msdos.c (IT_reassert_line_highlight)
640 (IT_change_line_highlight): Functions removed.
641 (internal_terminal_init): Don't set reassert_line_highlight_hook
642 or change_line_highlight_hook.
643 (highlight): Variable removed.
c2d53558 644 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
645 (IT_set_terminal_modes): Don't set or use it.
646
647 The following changes remove inverse-video support for terminals
648 that use a `magic cookie' standout mode. Due to changes in the
649 way mode-lines are displayed, such support no longer works
650 anyway, and it's probable that almost no one uses such terminals
651 anymore:
652
653 * term.c (standout_requested): Variable removed.
654 (update_end, highlight_if_desired): Don't use it.
655 (chars_wasted, copybuf): Variables removed.
656 (write_standout_marker): Function removed.
c2d53558 657 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
658 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
659 Don't use `chars_wasted' or `copybuf'.
660 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
661 Set `costs_set' to true.
662 (cursor_to, clear_end_of_line): Test `costs_set' instead of
663 `chars_wasted'.
664 (clear_end_of_line): Function removed.
665 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
666 (clear_to_end): Call `clear_end_of_line' instead of
667 `clear_end_of_line_raw'.
54800acb
MB
668 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
669 (term_init): Don't set them.
670 Turn off any standout/underline modes that require magic cookies.
c2d53558 671 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
672 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
673 Remove special processing for magic-cookie standout modes.
674 (turn_off_face, turn_on_face): Remove special processing for
675 underline magic-cookie glitch.
abcce93a 676
0b5f679f
RS
6772001-10-19 Richard M. Stallman <rms@gnu.org>
678
679 * eval.c (syms_of_eval): Doc fixes.
680
5a4a5bd4
GM
6812001-10-19 Gerd Moellmann <gerd@gnu.org>
682
683 * xdisp.c (redisplay_internal): Don't clear echo area if the
684 mini-window is selected.
685
79f1f96c
MB
6862001-10-19 Miles Bader <miles@gnu.org>
687
b57c2708
MB
688 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
689 doesn't take precedence if the affected property's value is nil.
690
691 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
692
79f1f96c
MB
693 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
694 with fields and suggest using `forward-line' to avoid them.
695 * editfns.c (Fline_beginning_position, Fline_end_position):
696 Clarify documentation.
697
ef879104
SM
6982001-10-18 Stefan Monnier <monnier@cs.yale.edu>
699
700 * keymap.c (current_minor_maps): `override' only shadows its
701 correspondent in minor-mode-map-alist, not the whole tail.
702
97f4db8c
AI
7032001-10-18 Andrew Innes <andrewi@gnu.org>
704
705 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
706 optimization. The fontp->encoding array was not being initialized
707 correctly when compiled with optimizations by MSVC.
708
e6b70fd8
GM
7092001-10-18 Gerd Moellmann <gerd@gnu.org>
710
30903479 711 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 712
0e804d38
AI
7132001-10-17 Andrew Innes <andrewi@gnu.org>
714
715 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
716
717 * w32fns.c (w32_load_system_font): Cache codepage for font, in
718 font_info.charset field.
719
720 * w32term.c (w32_encode_char): Get cached codepage from font_info,
721 rather than working it out by calling w32_codepage_for_font for
722 every glyph.
723
66e5868a
AI
7242001-10-17 Andrew Innes <andrewi@gnu.org>
725
726 * w32term.c (w32_read_socket): Determine clipping rectangle for
727 the entire frame, including areas covered by scrollbars and the
728 menubar. This avoids internal arguments about whether a frame is
729 fully obscured or not.
730
15b00083
GM
7312001-10-17 Gerd Moellmann <gerd@gnu.org>
732
23e8bd86
GM
733 * xdisp.c (try_window_id): Undo last change. Give up if
734 window ends in strings.
30903479 735
9c6ba6d1 736 * xdisp.c (try_window_id): Don't display lines after the window
30903479 737 end if the rest of the window after the window end was already blank.
23e8bd86 738
30903479 739 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
740 for the release of 21.1.
741
30903479 742 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 743
945220bd
MB
7442001-10-17 Miles Bader <miles@gnu.org>
745
746 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
747 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
748 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
749 Change doc-string comments to `new style' [w/`doc:' keyword].
750 (DOC_STRINGS_IN_COMMENTS): Macro removed.
751 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
752 out make-docfile.
753
14242528
MB
7542001-10-16 Miles Bader <miles@gnu.org>
755
756 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
757
3ddf952f
GM
7582001-10-16 Gerd Moellmann <gerd@gnu.org>
759
760 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
761 *scratch*.
762
f3fbd155
KR
7632001-10-16 Ken Raeburn <raeburn@gnu.org>
764
765 Avoid the assumption that car and cdr slots of cons cells are
766 addressable lvalues; this allows for easier experimentation with
767 other lisp implementations that may not permit such accesses for
768 various reasons. Not quite complete -- buffer.c still needs some
769 work, and w32/mac files need rechecking -- so compile-time
770 enforcement is left disabled for now.
771
772 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 773 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
774 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
775 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
776 (XSETCAR, XSETCDR): New macros.
777 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
778 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
779 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
780 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
781 XSETCDR.
782 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
783 * buffer.c (record_buffer, Fbury_buffer)
784 (swap_out_buffer_local_variables, recenter_overlay_lists)
785 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
786 fields of a cons cell respectively.
787 * callint.c (quotify_args, Fcall_interactively): Likewise.
788 * ccl.c (Fregister_code_conversion_map): Likewise.
789 * coding.c (detect_coding_system): Likewise.
790 * composite.c (get_composition_id, make_composition_value_copy):
791 Likewise.
30903479
SM
792 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
793 (swap_in_symval_forwarding, set_internal, Fset_default)
794 (Fmake_variable_buffer_local, Fmake_local_variable)
795 (Fmake_variable_frame_local): Likewise.
f3fbd155 796 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 797 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 798 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
799 * minibuf.c (get_minibuffer): Likewise.
800 * search.c (Fmatch_data): Likewise.
801 * textprop.c (extend_property_ranges): Likewise.
c2d53558 802 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
803 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
804 Likewise.
805 * w32term.c (x_delete_display): Likewise.
806 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
807 Likewise.
c2d53558 808 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 809 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 810 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
811 (Fread_file_name): Use XSETCAR.
812 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
813 CHECK_NUMBER_CDR.
814 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
815 * frame.c (Fmake_terminal_frame): Use XSETCDR.
816 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
817 CHECK_NUMBER_CDR.
818 * keyboard.c (read_char): Alter list traversal to avoid taking the
819 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
820 (parse_menu_item): Use XSETCAR and XSETCDR.
821 (reach_char_x_menu_prompt): Use XSETCAR.
822 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
823 (Fcommand_execute): Use XSETCDR.
824 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
825 (openp): Change list traversal to avoid using XCAR as lvalue.
826 (read_list): Use XSETCDR.
827 * process.c (wait_reading_process_input): Change wait_for_cell
828 handling to avoid taking addresses of cons cell slots.
30903479
SM
829 * xselect.c (x_own_selection, x_handle_selection_clear)
830 (x_clear_frame_selections): Use XSETCDR.
831 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
832 (x_handle_property_notify, x_get_foreign_selection)
833 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 834
502150e5
PJ
8352001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
836
018ba359
PJ
837 * buffer.c: Put doc strings in comments.
838
30903479 839 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 840
b56ba8de
SS
8412001-10-15 Sam Steingold <sds@gnu.org>
842
843 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
844
6a0b793a
PJ
8452001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
846
30903479
SM
847 * process.c (process-inherit-coding-system-flag)
848 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
849 in comment.
850
a1f17501 851 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 852 arguments. Put doc strings in comments.
a65da641
PJ
853
854 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 855
aa601ad0
GM
8562001-10-15 Gerd Moellmann <gerd@gnu.org>
857
30903479 858 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 859
aa601ad0
GM
860 * window.c (select_window_1): Unfreeze window start. Remove a
861 doubled test for WINDOW being live.
862
288148a1
PJ
8632001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
864
dd8d1e71
PJ
865 * fns.c (Fmapconcat): Fix typo in a doc string.
866
288148a1
PJ
867 * dispnew.c (Fsleep_for): Fix typo in a doc string.
868
9f5eb4a3
GM
8692001-10-15 Gerd Moellmann <gerd@gnu.org>
870
871 * xterm.c (x_draw_glyph_string): Restore clipping after
872 drawing box.
873
dbae44c8
PJ
8742001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
875
30903479 876 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 877
0c88c937
SM
8782001-10-14 Stefan Monnier <monnier@cs.yale.edu>
879
56378db4
GM
880 * indent.c (skip_invisible): Use new retval of
881 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 882
845e4cf4
SM
883 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
884 If a parent is reached and noinherit is set, exit immediately.
885 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
886
0c88c937
SM
887 * s/ms-w32.h (EXEC_SUFFIXES):
888 * s/msdos.h (EXEC_SUFFIXES):
889 * process.h (EXEC_SUFFIXES): Remove.
890
891 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
892 (decode_suffixes): Remove.
893
894 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
895 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
896 (invisible_ellipsis_p): Remove.
0c88c937
SM
897
898 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
899 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
900 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
901 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
902 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 903
d19be8a9
PJ
9042001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
905
04d7d066
PJ
906 * lisp.h (Ftop_level): Add prototype.
907
d624284c
PJ
908 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
909 (XTread_socket): Improve style of comments to follow other
910 comments.
911
a87414f9
PJ
912 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
913 is already prototyped in included lisp.h).
914
d19be8a9
PJ
915 * frame.c (Fset_mouse_position): Improve style of comment to
916 follow other comments.
917 (Fset_mouse_pixel_position): Improve style of comment to follow
918 other comments.
919 (Fmake_frame_visible): Doc fix and typo in comment.
920 (Fmake_frame_invisible): Doc fix and typo in comment.
921 (Ficonify_frame): Fix typo in comment.
922
c061c855
GM
9232001-10-14 Gerd Moellmann <gerd@gnu.org>
924
37f6b5b6 925 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 926 * term.c, alloc.c: Put doc strings in comments.
c061c855 927
e641b454
GM
9282001-10-13 Gerd Moellmann <gerd@gnu.org>
929
930 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
931 Provide definitions for doc strings in comments.
932
933 * fns.c: Put doc strings in comments.
934
51724e26
EZ
9352001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
936
937 * dired.c (file_name_completion): Ignore a candidate directory if
938 it matches an element in completion-ignored-extensions that ends
939 in a slash.
940 (syms_of_dired) <completion-ignored-extensions>: Mention the above
941 feature in the doc string.
942 (Ffile_name_completion): Ditto.
943
be5fc59b
SM
9442001-10-12 Stefan Monnier <monnier@cs.yale.edu>
945
5a1373f3
SM
946 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
947
948 * xfns.c (syms_of_xfns): Update calls to Fprovide.
949
950 * lisp.h (Fprovide): Update prototype.
951 (Ffeaturep, invisible_p): Remove.
952
bbc4a3d3 953 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
954 (DOLIST, LOOP_PROPVAL): New macros.
955 (invisible_p, invisible_ellipsis_p): Use them.
956 (invisible_noellipsis_p): New function.
957 (syms_of_xdisp): Use empty_string.
958
959 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
960
961 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
962 (syms_of_lread) <Vafter_load_alist>: Update docstring.
963
964 * print.c (Fwith_output_to_temp_buffer): Align with
965 internal_with_output_to_temp_buffer.
966 (print_preprocess): Use traverse_intervals_noorder.
967 (print_object): Update call to traverse_intervals.
968
969 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
970 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
971
972 * intervals.c (traverse_intervals_noorder): New function.
973 (search_for_interval, count_intervals): Use it.
974 (traverse_intervals): Use less stack space and drop `depth' arg.
975
976 * fns.c (Ffeaturep): Add new `subfeature' arg.
977 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
978 (Qsubfeatures): New var.
979 (syms_of_fns): Initialize it.
980
026f408d
SM
981 * keymap.c (Fkey_description): Use empty_string.
982 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
983 (syms_of_keymap): Setup inheritance between maps.
984 Don't export Sdescribe_bindings_internal any more.
985
be5fc59b
SM
986 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
987
3365175e
GM
9882001-10-12 Gerd Moellmann <gerd@gnu.org>
989
990 * xterm.c (notice_overwritten_cursor): Renamed from
991 note_overwritten_text_cursor. Rewritten to take glyph widths into
992 account.
993
2ab7765c
EZ
9942001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
995
996 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
997 multi-line strings without a trailing "\n\".
998
311346bb
PJ
9992001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1000
1001 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1002 defined.
1003
2168e04d
SM
10042001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1005
026f408d
SM
1006 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1007
c0ec53ad
SM
1008 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1009 * w32proc.c (sys_spawnve):
1010 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1011 * w32.c (check_windows_init_file):
1012 * sound.c (Fplay_sound):
026f408d 1013 * emacs.c (init_cmdargs):
c0ec53ad
SM
1014 * process.c (Fstart_process): Update calls to openp.
1015
1016 * callproc.c (Vexec_suffixes): New var.
1017 (Fcall_process): Update call to openp.
1018 (decode_suffixes): New function.
1019 (syms_of_callproc): Init exec-suffixes.
1020
1021 * lread.c (Vload_suffixes, default_suffixes): New vars.
1022 (openp): Take a lisp list of suffixes.
1023 Check for file-name-handlers even if the file was absolute already.
1024 (syms_of_lread): Declare load-suffixes.
1025 (Fload): Fix up call to openp.
1026 Don't bother checking for file-name-handler at the very beginning.
1027
f6333468
SM
1028 * keymap.h (Fcopy_keymap): Don't export.
1029
1030 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1031 (Vload_suffixes, Vexec_suffixes): Declare.
1032 (openp): Update prototype.
f6333468
SM
1033
1034 * emacs.c (empty_string): New var.
1035 (syms_of_emacs): Initialize it.
1036
1037 * search.c (wordify): Use it.
1038
1039 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1040 selected window if it's not displayed there. Handle the case
1041 when the window is dedicated.
1042 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1043
1044 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1045
2168e04d
SM
1046 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1047 Remove left_ok and right_ok.
1048 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1049 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1050 new meaning of b_property.
1051
1052 * syntax.c (update_syntax_table): Simplify.
1053 (Fforward_comment): Don't skip quoted chars when going backward.
1054
13d95cc0
GM
10552001-10-11 Gerd Moellmann <gerd@gnu.org>
1056
beb0990f
GM
1057 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1058 in case I is of some unsigned type, in which case
1059 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1060 comparison becomes bogus.
1061
cb938d46
GM
1062 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1063 (Fuser_full_name): Fix bug treating a float as a fixnum.
1064
1065 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1066
1067 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1068
13d95cc0
GM
1069 * lisp.h (circular_list_error): Add prototype.
1070
1071 * data.c (Qcircular_list): New variable.
1072 (circular_list_error): New function.
1073 (syms_of_data): Initialize it Qcircular_list.
1074
e35f6ff7
SM
10752001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1076
1077 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1078 casefiddle.c, buffer.c: Include keymap.h.
1079
619632ac
GM
10802001-10-10 Gerd Moellmann <gerd@gnu.org>
1081
1082 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1083 options. From Dave Love <d.love@dl.ac.uk>.
1084
5e5388f6
GM
10852001-10-09 Gerd Moellmann <gerd@gnu.org>
1086
1087 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1088 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1089
14a3dff7
GM
1090 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1091 unsigned char.
1092 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1093
76ba8daf
AI
10942001-10-08 Andrew Innes <andrewi@gnu.org>
1095
1096 * lisp.h [max]: Undef min and max before redefining them.
1097
1098 * w32gui.h: Do not undef min and max.
1099
1100 * w32heap.h: Do not undef min and max.
1101
1102 * s/ms-w32.h: Do not undef min and max.
1103
166253cb
SM
11042001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1105
1106 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1107
0c4d9527
SS
11082001-10-08 Sam Steingold <sds@gnu.org>
1109
1110 * keymap.c (current-active-maps): Quote newlines (compilation error).
1111
14bfa771
EZ
11122001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1113
1114 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1115 bindings.elc, since otherwise doc strings in bindings.el get wrong
1116 offsets in etc/DOC.
1117
bdb7aa47
SM
11182001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1119
9985827f
SM
1120 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1121
1122 * keyboard.h (map_prompt): Remove.
1123
1124 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1125 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1126
bdb7aa47
SM
1127 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1128
1129 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1130
1131 * keyboard.c (map_prompt): Remove.
1132 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1133 Use Fkeymap_prompt.
1134
1135 * keymap.h: New file. Extracted from lisp.h.
1136
9985827f
SM
1137 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1138 (accessible_keymaps_1): New function.
1139 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1140 (Fwhere_is_internal): Use Fcurrent_active_maps.
1141 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1142 Insert in current buffer rather than standard-output.
1143 Don't call `help-mode'. Export to elisp.
1144 (describe_buffer_bindings): New wrapper.
1145 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1146 and Sdescribe_buffer_bindings.
1147
402c9a51
GM
11482001-10-08 Gerd Moellmann <gerd@gnu.org>
1149
9985827f 1150 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1151 Remove code setting signal handler.
1152
9985827f 1153 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1154 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1155
3fe81fdf
PJ
11562001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1157
1158 * keyboard.c: Don't define min/max.
1159
55fa7820
GM
11602001-10-08 Gerd Moellmann <gerd@gnu.org>
1161
9985827f 1162 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1163 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1164 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1165 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1166 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1167 Don't define min/max.
1168
1169 * lisp.h (min, max): New macros.
1170
55fa7820
GM
1171 * puresize.h (BASE_PURESIZE): Increase to 725000.
1172
1aad31e4
PJ
11732001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1174
9180dc8c
PJ
1175 * xfaces.c (free_frame_menubar): Add prototype.
1176
01f67d2c
PJ
1177 * lisp.h (init_window): Add prototype.
1178
1179 * editfns.c: Include ctype.h.
1180
1181 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1182 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1183 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1184 variable `sb'.
1185
5f351ff1
PJ
1186 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1187 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1188 `popup_activated_flag' and `title'.
1189
479dfe87
PJ
1190 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1191
dff49fc8
PJ
1192 * emacs.c (main): Remove extra `;'.
1193
248ac615
PJ
1194 * atimer.h (struct atimer): Fix typos in a comment.
1195
1196 * atimer.c: Fix typo.
1197
af232c7d
PJ
1198 * Makefile.in: Fix typo.
1199
1200 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1201
d876f455
MB
12022001-10-07 Miles Bader <miles@gnu.org>
1203
1204 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1205
0037e2f2
KR
12062001-10-07 Ken Raeburn <raeburn@gnu.org>
1207
b056f36d
KR
1208 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1209 Lisp_Object.
1210
0037e2f2
KR
1211 * lisp.h (Ffield_end): Declare.
1212
1a4372ef
GM
12132001-10-07 Gerd Moellmann <gerd@gnu.org>
1214
a4a74e8c
GM
1215 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1216
1217 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1218
1219 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1220
1221 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1222
1a4372ef
GM
1223 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1224 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1225
1226 * alloc.c (inhibit_garbage_collection): Simplify.
1227 (Fmemory_use_counts): Ditto.
1228
9985827f 1229 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1230 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1231 most-negative-fixnum.
1232
9985827f 1233 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1234 (FIXNUM_OVERFLOW_P): New macros.
1235
4650e362
MB
12362001-10-06 Miles Bader <miles@gnu.org>
1237
1238 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1239 scroll_bar_bottom_shadow_pixel fields.
1240 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1241 for the shadows, and tell the toolkit about them if we succeed.
1242 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1243 Free scroll-bar shadow colors.
1244 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1245 Free scroll-bar shadow colors when the background color changes.
1246 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1247 Initialize scroll-bar shadow-color fields.
1248
ace64e0a
GM
12492001-10-05 Gerd Moellmann <gerd@gnu.org>
1250
1251 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1252
ec66bdc7
MB
12532001-10-05 Miles Bader <miles@gnu.org>
1254
9985827f
SM
1255 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1256 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1257 New functions (were in simple.el).
9985827f 1258 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1259 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1260 (syms_of_minibuf): Initialize them.
1261
a0fb4492
GM
12622001-10-05 Gerd Moellmann <gerd@gnu.org>
1263
1264 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1265 (tiff_load): Install them as error and warning handler.
1266
0bcf87c1
AI
12672001-10-04 Andrew Innes <andrewi@gnu.org>
1268
1269 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1270 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1271 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1272 (x_to_w32_charset): Handle private format for unknown charsets.
1273 Handle wildcards in charset spec, by ignoring them.
1274 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1275 "*-" prefix from charset.
1276 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1277 handle the truncated font spec form constructed by font_list_1, so
1278 that we correctly identify the charset fields. Don't remove "*-"
1279 prefix from charset.
1280 (w32_list_synthesized_fonts): Fix argument to alloca.
1281
c89e4bc5
GM
12822001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1283
1284 * window.h (MINI_WINDOW_P): Use NILP.
1285
1286 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1287
1288 * termhooks.h (struct input_event): Use proper type for `kind'.
1289
12902001-10-04 Gerd Moellmann <gerd@gnu.org>
1291
1292 This handles unknown keysyms better than before. For example,
1293 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1294 Emacs formerly completely ignored F5. With the change, it derives
1295 a key symbol from the name of the X keysym, `ccaron' in this case.
1296 Reported by Martin Buchholz.
1297
1298 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1299 unknown keysyms.
1300
1301 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1302 that EVENT->code isn't a function key, use the keysym's name.
1303
13042001-10-04 Gerd Moellmann <gerd@gnu.org>
1305
1306 FOREACH is a macro that should make it easier to loop over Lisp
1307 lists with checks for cycles and proper lists.
1308
1309 * lisp.h (LIST_END_P, FOREACH): New macros.
1310
13112001-10-04 Gerd Moellmann <gerd@gnu.org>
1312
1313 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1314 called for a lost connection. Prevent dumping core in this case.
1315 Instead print the X error, and exit. On user request.
1316
1317 * xterm.c (error_msg): New variable.
1318 (x_fatal_error_signal): New function.
1319 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1320 as fatal_error_signal_hook around the call to XtCloseDisplay.
1321
1322 * emacs.c (fatal_error_signal_hook): New variable.
1323 (fatal_error_signal): Call that function.
1324
13252001-10-04 Gerd Moellmann <gerd@gnu.org>
1326
1327 With this, Emacs prints how much pure storage it will
1328 approximately need in case pure storage overflows while dumping.
1329
1330 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1331 New variables.
1332 (init_alloc_once): Initialize new variables.
1333 (PURE_POINTER_P): Use new variables.
1334 (pure_alloc): If pure storage overflows, allocate from the heap.
1335 (check_pure_size): New function.
1336 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1337
1338 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1339 (check_pure_size): Add prototype.
1340
1341 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1342
13432001-10-04 Gerd Moellmann <gerd@gnu.org>
1344
1345 This adds a post-gc-hook that's run with GC inhibited.
1346 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1347
1348 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1349 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1350 (Fgarbage_collect): Run post-gc-hook.
1351
13522001-10-04 Gerd Moellmann <gerd@gnu.org>
1353
1354 This adds `defvaralias' and `indirect-variable'. Changes not
1355 directly related to this feature are there to gain the same
1356 performance again as before variable aliases.
1357
1358 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1359 code to get and set symbol values, to take defvaralias into account.
1360
1361 (Note: the new `constant' bit-flag in symbols would make it
1362 possible to define arbitrary read-only variables, e.g. with
1363 `defconst'.)
1364
1365 Documentation is in lispref/variables.texi. Added to NEWS.
1366
1367 * lisp.h (enum symbol_interned): New enumeration.
1368 (struct Lisp_Symbol): Remove member `obarray', add
1369 `indirect_variable', `constant', and `interned'.
1370 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1371 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1372 (indirect_variable): Add prototype.
1373
1374 * print.c (print_preprocess, print_object): Test internedness of
1375 symbols differently.
1376
1377 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1378 bit-fields.
1379 (init_obarray): Likewise for t and nil.
1380
1381 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1382 (Fdefvaralias): New function.
1383 (specbind): Simplify the test if symbol is a constant.
1384 (syms_of_eval): Defsubr Fdefvaralias.
1385
1386 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1387 (Qcyclic_variable_indirection): New variable.
1388 (Fkeywordp): Check for internedness differently.
1389 (Fmakunbound): Simplify the test if symbol is a constant.
1390 (indirect_variable, Findirect_variable): New functions.
1391 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1392 aliased symbol.
1393 (let_shadows_buffer_binding_p): Check for variable aliases.
1394 (set_internal): Simplify the test if SYMBOL is a constant.
1395 If SYMBOL has a buffer-local value and is an alias, use the aliased
1396 symbol instead.
1397 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1398 Sindirect_variable.
1399
1400 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1401 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1402 set directly.
1403
1404 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1405
1406 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1407 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1408 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1409
ab952a4f
GM
14102001-10-04 Gerd Moellmann <gerd@gnu.org>
1411
1412 * Branch for 21.1.
b56ba8de 1413
ba88ff28
MB
14142001-10-03 Miles Bader <miles@gnu.org>
1415
1416 * callproc.c (syms_of_callproc): Explicitly state in the
1417 documentation for `process-environment' that earlier entries take
1418 precedence over later ones.
1419
ae1a9581
MB
14202001-10-02 Miles Bader <miles@gnu.org>
1421
1422 * textprop.c (Fnext_char_property_change)
1423 (Fprevious_char_property_change): Remove reference to non-existant
1424 argument OBJECT from doc-string.
1425
257e3f57
GM
14262001-10-01 Gerd Moellmann <gerd@gnu.org>
1427
1428 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1429 (try_window_id): Skip back over lines ending in a newline from a
1430 string.
1431
1432 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1433 New bit flag
1434
c1f29759
RS
14352001-10-01 Richard M. Stallman <rms@gnu.org>
1436
1437 * search.c (Freplace_match): Doc fix.
1438
c30dce3d
AI
14392001-09-28 Andrew Innes <andrewi@gnu.org>
1440
1441 * w32menu.c (set_frame_menubar): Take into account that
1442 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1443 <raeburn@gnu.org>.
1444
03be5931
EZ
14452001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1446
1447 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1448
75bec752
PJ
14492001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1450
1451 * s/gnu-linux.h: Fix a typo in comment.
1452
83100e0a
AS
14532001-09-28 Andreas Schwab <schwab@suse.de>
1454
1455 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1456 nocombreloc, in case -z combreloc is the default.
1457
a74b48cf
GM
14582001-09-28 Gerd Moellmann <gerd@gnu.org>
1459
1460 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1461 really going on here.
1462
09c4719e
SM
14632001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1464
1465 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1466
f7d5d963
EZ
14672001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1468
1469 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1470 utf-8, menu-bar, and latin-N.
1471 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1472 unconditionally now.
1473 (lisp): Add latin-N, since they are preloaded.
1474
9240e746
GM
14752001-09-27 Gerd Moellmann <gerd@gnu.org>
1476
14531065
GM
1477 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1478 to the left. Some cleanup.
1479
9240e746
GM
1480 * xdisp.c (display_mode_element): One more case where a string's
1481 multibyteness should be used for display.
1482
edd1e654
GM
14832001-09-26 Gerd Moellmann <gerd@gnu.org>
1484
b02439c8
GM
1485 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1486 reading at EOF.
1487
032906b1 1488 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1489 of the only temporarily set echoing flag for deciding when
032906b1
GM
1490 the cancel echoing.
1491
1492 * keyboard.c (echo_kboard): Make externally visible.
1493
1494 * lisp.h (echo_kboard): Declare extern.
1495
cb617e7c 1496 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1497 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1498 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1499 this round of redisplay if make_cursor_line_fully_visible fails.
1500 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1501 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1502
1503 * dispextern.h (required_matrix_width, required_matrix_height):
1504 Add prototypes.
1505
09c4719e
SM
1506 * dispnew.c (required_matrix_width, required_matrix_height):
1507 New functions.
cb617e7c 1508 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1509 (allocate_matrices_for_frame_redisplay: Use them.
1510 Remove parameters CH_DIM.
cb617e7c 1511
edd1e654
GM
1512 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1513 and selected_window to the frame of the window whose mode-lines
1514 are displayed, and to the window itself.
1515 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1516 here.
edd1e654 1517
924b604c
GM
15182001-09-25 Gerd Moellmann <gerd@gnu.org>
1519
daba7643
GM
1520 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1521 the image cache under us.
1522
b7a22712 1523 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1524 with a string value, use that string's multibyteness for displaying.
b7a22712 1525
ad648212
GM
1526 * keyboard.c (read_char): Don't clear a message for a switch-frame
1527 event. From Stefan Monnier <monnier@cs.yale.edu>.
1528
9f8531e5
GM
1529 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1530 version for after 21.1.
1531
1532 * xdisp.c (row_containing_pos): Make externally visible.
1533
1534 * dispextern.h (row_containing_pos): Add prototype.
1535
924b604c
GM
1536 * process.c (send_process): Disable composition if from_byte < 0.
1537 From Kenichi Handa <handa@etl.go.jp>.
1538
6f3f0db4
GM
15392001-09-24 Gerd Moellmann <gerd@gnu.org>
1540
c69c0ebc
GM
1541 * xterm.c (refreshicon): Function removed.
1542
d1182bc4
GM
1543 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1544
1545 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1546
1547 * xterm.c (toplevel): Remove includes in #if 0.
1548
6f3f0db4
GM
1549 * process.c (sigchld_handler) [LINUX]: Don't return from
1550 the signal handler at the end of the loop.
1551
59957f85
GM
15522001-09-21 Gerd Moellmann <gerd@gnu.org>
1553
09c4719e
SM
1554 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1555 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1556
a0528984
EZ
15572001-09-21 Markus Rost <rost@math.ohio-state.edu>
1558
1559 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1560
db92b288
GM
15612001-09-20 Gerd Moellmann <gerd@gnu.org>
1562
3fed8ad5
GM
1563 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1564 since this function can be called during GC.
1565
db92b288
GM
1566 * callproc.c (Fcall_process): Handle errors from pipe(2).
1567 (child_setup): Delete code in #ifdef vipc.
1568
7121b85a
GM
15692001-09-19 Gerd Moellmann <gerd@gnu.org>
1570
72f62cb5
GM
1571 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1572 (display_mode_element): Display the string from decode_mode_spec
1573 depending on its multibyteness.
1574
a2697022
GM
1575 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1576
7121b85a
GM
1577 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1578
bfc97351
GM
15792001-09-18 Gerd Moellmann <gerd@gnu.org>
1580
c9063433
GM
1581 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1582 recursive_edit_unwind.
1583 (recursive_edit_unwind): Set kboard state according to
1584 SINGLE-KBOARD.
1585
3fbdba3e
GM
1586 * buffer.c (modify_overlay): Don't do nothing if START == END;
1587 This can still be a modification, for example when an overlay has
1588 a before-string or after-string.
1589 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1590 an overlay with before-string or after-string.
1591
1270031d
GM
1592 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1593 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1594
bfc97351
GM
1595 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1596 first_unchanged_at_end_row is in front of
1597 last_unchanged_at_beg_row. This code should be removed after the
1598 release of 21.1.
1599
d8a973aa
GM
16002001-09-17 Gerd Moellmann <gerd@gnu.org>
1601
e18c8b8d
GM
1602 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1603 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1604
d8a973aa
GM
1605 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1606 versions >= 2.95.
1607
ed7d6ba4
EZ
16082001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1609
1610 * dired.c (Ffile_attributes): Doc fix.
1611
551629f9
GM
16122001-09-14 Gerd Moellmann <gerd@gnu.org>
1613
1614 * fileio.c (Ffile_symlink_p): Fix last change.
1615
1616 * filelock.c (current_lock_owner): Fix last change.
1617
4c8c7926
GM
16182001-09-13 Gerd Moellmann <gerd@gnu.org>
1619
620c4704
GM
1620 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1621 take that to mean that the buffer is too small.
1622
81c3310d
GM
1623 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1624 that to mean that the buffer is too small.
1625
06fd3792
GM
1626 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1627 current buffer's multibyteness when discarding the iterator's
1628 stack.
1629
4c8c7926
GM
1630 * xfns.c (Fx_window_property): Handle case that property gets
1631 deleted between the two calls to XGetWindowProperty.
1632
9a72e4c1
GM
16332001-09-11 Gerd Moellmann <gerd@gnu.org>
1634
bd819d14 1635 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 1636
a41edd99
GM
1637 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
1638 in addition to read-only.
1639
1640 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
1641 to t in addition to read-only.
1642
1643 * lisp.h (Qinhibit_modification_hooks): Declare.
1644
1645 * insdel.c (Qinhibit_modification_hooks): New variable.
1646 (syms_of_insdel): Initialize and staticpro it.
1647
d4881c6a
GM
1648 * textprop.c (verify_interval_modification): Don't run
1649 modification-hooks if inhibit_modification_hooks.
1650
1651 * dispnew.c (set_window_cursor_after_update): Fix code
1652 finding glyph row containing cursor when cursor_in_echo_area
1653 is >= 0.
1654
9a72e4c1
GM
1655 * xdisp.c (init_from_display_pos): Put some code in #if 0.
1656 (add_to_log): Use bcopy instead of strcpy.
1657 (init_from_display_pos): Use an explicit loop over bytes in
1658 overlay strings instead of calling index.
1659
f4a374a1
GM
16602001-09-10 Gerd Moellmann <gerd@gnu.org>
1661
300e57bd
GM
1662 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
1663
1664 * dispnew.c (direct_output_for_insert): Don't change IT's
1665 stop_charpos to something in front of its current position.
1666
f4a374a1
GM
1667 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
1668 `format'.
1669
7e4cbc91
RS
16702001-09-10 Richard M. Stallman <rms@gnu.org>
1671
1672 * frame.c (Fmouse_position): Doc fix.
1673
6afad91e
GM
16742001-09-07 Gerd Moellmann <gerd@gnu.org>
1675
1676 * xdisp.c (init_from_display_pos): Don't compare the result
1677 of calling index with NULL.
1678
f76e0368
GM
16792001-09-06 Gerd Moellmann <gerd@gnu.org>
1680
1681 * xfns.c (x_set_background_color): Don't change the colors
1682 of the X window of scroll bar widgets.
1683
9ead1b60
AI
16842001-09-05 Andrew Innes <andrewi@gnu.org>
1685
1686 * w32fns.c (w32_createwindow): Undo last change.
1687
c3b497b3
GM
16882001-09-05 Gerd Moellmann <gerd@gnu.org>
1689
08e1d6df
GM
1690 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1691
c3b497b3
GM
1692 * xdisp.c (string_buffer_position): Use *single_char_property*
1693 functions instead of the *single_property* functions.
b56ba8de 1694
8f860180
AI
16952001-09-04 Andrew Innes <andrewi@gnu.org>
1696
9a72e4c1
GM
1697 * w32term.c (w32_read_socket): Add more information to debugging
1698 output.
8f860180
AI
1699
1700 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1701 from Emacs frames, so that calls to GetClipBox in w32term.c
1702 correctly report when part of a frame is visible (including
1703 scrollbars, etc). This prevents repeated redrawing of frames when
1704 only a scrollbar is visible.
1705 (w32_wnd_proc): Add more frame information to debugging output.
1706
2ee1aa00
SM
17072001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1708
1709 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1710
e3b22517
GM
17112001-09-03 Gerd Moellmann <gerd@gnu.org>
1712
7e376260
GM
1713 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1714 help-echo for a string which doesn't have help-echo itself, use
1715 get-char-property to obtain the help-echo from the string's buffer
1716 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1717 have mouse-face, look ``under'' the string for mouse-face from an
1718 overlay.
1719 (fast_find_position): Add parameter STOP. In the final row, stop
1720 before glyphs having STOP as object. Don't consider glyphs that
1721 are not from a buffer.
1722
e3b22517
GM
1723 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1724
9a249bba
EZ
17252001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1726
1727 * fns.c (Fmd5): Doc fix.
1728
c9979669
GM
17292001-08-31 Gerd Moellmann <gerd@gnu.org>
1730
1731 * composite.c (update_compositions): Do nothing if
1732 inhibit-modification-hooks is set.
1733
9584e63a
GM
17342001-08-30 Gerd Moellmann <gerd@gnu.org>
1735
986ec8f2 1736 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1737 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1738 glyph matrices etc. in a core dump.
1739
92a25631
GM
1740 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1741 (syms_of_xdisp): Initialize them.
1742 (handle_single_display_prop): Don't change point, bind `object',
1743 `position', and `buffer-position' instead to the object having the
2ee1aa00 1744 `display' property, position in the object and position in the buffer.
92a25631 1745
9584e63a
GM
1746 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1747 of the buffer if REPLACE is non-nil.
1748
d38633a3
GM
17492001-08-29 Gerd Moellmann <gerd@gnu.org>
1750
1751 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1752
f4fccc1e
EZ
17532001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1754
1755 * w32term.c (x_set_glyph_string_background_width)
1756 (show_mouse_face): Track the last changes in xterm.c.
1757
eaaa65b0
GM
17582001-08-28 Gerd Moellmann <gerd@gnu.org>
1759
7b0870b2
GM
1760 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1761 string's background width so that multi-line mouse-face is drawn
1762 to the right edge of the window.
1763 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1764 glyphs.
1765
6b6e2422 1766 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1767 before inserting/writing glyphs.
6b6e2422 1768
eaaa65b0
GM
1769 * xdisp.c (display_mode_element): Use string_byte_to_char to
1770 determine character positions in strings, use chars_in_text
1771 instead of strwidth.
1772 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1773 a matrix as parameter; this is easier to use from GDB.
1774
9ad62cf8
MB
17752001-08-28 Miles Bader <miles@gnu.org>
1776
2ee1aa00
SM
1777 * textprop.c (Fprevious_single_char_property_change)
1778 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 1779
32171635
GM
17802001-08-27 Gerd Moellmann <gerd@gnu.org>
1781
47d57b22
GM
1782 * fileio.c (Finsert_file_contents): Allocate, restore, and
1783 free composition data in the case of REPLACE not being nil.
1784
1785 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1786 there exist overlay strings with newlines at POS.
1787 (text_outside_line_unchanged_p): Return 0 if changes start at
1788 START and overlays exist at START. Likewise for END.
1789 (try_window_id): Give up if init_to_row_end returns 0.
1790
32171635
GM
1791 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1792 unconditionally.
1793
e1249666
GM
17942001-08-24 Gerd Moellmann <gerd@gnu.org>
1795
33954c45
GM
1796 * keymap.c (access_keymap): Return the cdr of the binding of
1797 a generic character instead of its definition (KEY . BINDING).
1798
e1249666
GM
1799 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1800 to 0 also in the REPLACE case.
1801
fb4c6c96
AC
18022001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1803
1804 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1805 open to determine whether file is readable (as for DOS_NT).
1806
59ecf80b
GM
18072001-08-23 Gerd Moellmann <gerd@gnu.org>
1808
1809 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1810 coding.type is coding_type_no_conversion or coding_type_raw_text,
1811 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1812 non-nil instead of just setting enable_multibyte_characters in the
1813 buffer to nil.
1814
40e33037
GM
18152001-08-22 Gerd Moellmann <gerd@gnu.org>
1816
374388c3
GM
1817 * dispextern.h (struct face_cache): Add member
1818 menu_face_changed_p.
1819
1820 * xfaces.c (menu_face_changed_default): New variable.
1821 (menu_face_changed_count): Variable removed.
1822 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
1823 the menu_face_changed_default flag, otherwise set the FRAME's
1824 menu_face_changed_p flag if the `menu' face has been changed.
1825 Prevent calling set_font_frame_param if FRAME is t.
1826 (make_face_cache): Initialize cache's menu_face_changed_p
1827 from menu_face_changed_default.
1828 (realize_basic_faces): Look into the frame's face cache to
1829 determine if the menu appearance needs updating.
1830
40e33037
GM
1831 * keymap.c (access_keymap): Fix last change to not consider
1832 IDX when it has modifiers.
1833
859ea4b8
GM
18342001-08-21 Gerd Moellmann <gerd@gnu.org>
1835
1836 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
1837 . BINDING) exists, where GENERIC-CHAR is the generic character of
1838 the charset of IDX, return BINDING unless there exists a binding
1839 for IDX itself.
1840
e8660d73
GM
18412001-08-16 Gerd Moellmann <gerd@gnu.org>
1842
cca1b1d7
GM
1843 * xrdb.c (SYSV): Don't define on Solaris 2.
1844 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
1845
e8660d73 1846 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 1847 of the screen line, not text line, containing IT's current position.
e8660d73 1848
93aba6fc
GM
18492001-08-15 Gerd Moellmann <gerd@gnu.org>
1850
288d4e06
GM
1851 * window.c (window_scroll_pixel_based): Don't recenter if
1852 PT is partially visible in the window.
1853
3452efc2
SM
1854 * xterm.c (expose_window_tree, expose_window, expose_line):
1855 Return 1 when overwriting mouse-face.
82f053ab
GM
1856 (expose_frame): If mouse-face was overwritten, redo it.
1857
93aba6fc
GM
1858 * xfaces.c (x_update_menu_appearance): Don't call
1859 set_frame_menubar, let the next redisplay do it.
1860
858a55c1
AI
18612001-08-14 Andrew Innes <andrewi@gnu.org>
1862
1863 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1864 drawing glyph string.
1865
3a990b67
EZ
18662001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1867
1868 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1869 running HI-UX/MPP.
1870
04386463
GM
18712001-08-14 Gerd Moellmann <gerd@gnu.org>
1872
1873 * xfaces.c (x_update_menu_appearance): Save and restore value of
1874 interrupt_input_blocked.
1875
3e6385a4
GM
18762001-08-13 Gerd Moellmann <gerd@gnu.org>
1877
b0e619b4
GM
1878 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1879 a line start, move back to the line start.
3452efc2 1880
0de73d5a
GM
1881 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1882 exactly when a mini-buffer is active.
1883
3e6385a4
GM
1884 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1885 in units of 1/8 character on non window-system frames.
1886 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1887
d1b5f629
EZ
18882001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1889
1890 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1891 a doc string.
1892
eaa2319f
GM
18932001-08-09 Gerd Moellmann <gerd@gnu.org>
1894
8e3189f0
GM
1895 * keyboard.c (Vpre_help_message): New variable.
1896 (syms_of_keyboard): Initialize and staticpro it.
1897 (show_help_echo): Record current message before displaying a
1898 help-echo, and restore that message when clearing the help.
1899
eaa2319f
GM
1900 * xfns.c (x_create_im): Remove prototype.
1901
1902 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1903
1904 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1905
eaa2319f
GM
19062001-08-08 Gerd Moellmann <gerd@gnu.org>
1907
1908 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1909 windows whose height has changed, disable partially visible lines.
eaa2319f 1910
17fdcfc8
GM
19112001-08-07 Gerd Moellmann <gerd@gnu.org>
1912
22d01aed 1913 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1914 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1915
17fdcfc8
GM
1916 * xdisp.c (start_display): Don't try to determine the continuation
1917 lines width if lines are truncated. It's superfluous and leads to
1918 incorrect results if POS is not visible in the window after
1919 reseating the iterator at the previous line start.
1920
8e3fe78e
GM
19212001-08-06 Gerd Moellmann <gerd@gnu.org>
1922
1923 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1924
98a8938c
GM
19252001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1926
1927 * alloc.c (init_stack): Remove declaration.
1928
18f9986a
GM
19292001-08-03 Gerd Moellmann <gerd@gnu.org>
1930
5e1f85e0
GM
1931 * keyboard.c (read_key_sequence): Check that key is an integer
1932 before comparing it with quit_char.
1933 (add_command_key): Use larger_vector.
1934 (read_char_x_menu_prompt): Instead of converting symbol and
1935 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1936 which cannot be confused with valid events.
5e1f85e0
GM
1937 (read_char): When reading from Vunread_command_events, check for
1938 events of the form (EVENT . disabled) instead of
1939 (EVENT . nil).
1940
18f9986a
GM
1941 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1942 a float, determine the max height from the frame's height.
1943
fbc7f2a6
GM
19442001-08-02 Gerd Moellmann <gerd@gnu.org>
1945
1946 * xdisp.c (redisplay_internal): Take message_cleared_p into
1947 account only if minibuf_level == 0.
1948
81b1a79d
GM
19492001-08-01 Gerd Moellmann <gerd@gnu.org>
1950
e5c60873
GM
1951 * xdisp.c (redisplay_internal): Add a check for the last
1952 displayed message.
3452efc2 1953
6e019995
GM
1954 * xdisp.c (message_cleared_p): New variable.
1955 (clear_message): Set message_cleared_p when clearing the current
1956 message.
1957 (redisplay_internal): Look at message_cleared_p to capture
1958 the case that the echo area should be cleared.
1959
308a74d8
GM
1960 * keyboard.c (command_loop_1): Fix spelling of
1961 resize_echo_area_exactly.
1962
3452efc2 1963 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
1964
1965 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
1966
81b1a79d
GM
1967 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
1968 current matrix when the window gets smaller.
1969
ada329e6
EZ
19702001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
1971
1972 * print.c (strout): Cast the character passed to insert_char to
1973 unsigned char, to avoid sign extension when it is promoted to int.
1974
ed86208c
GM
19752001-07-31 Gerd Moellmann <gerd@gnu.org>
1976
1977 * fileio.c (Finsert_file_contents): Don't treat a return value
1978 of 0 from emacs_read as an IO error.
1979
6594ac22
GM
19802001-07-30 Gerd Moellmann <gerd@gnu.org>
1981
cef68af5
GM
1982 * keyboard.c (abs): New macro.
1983 (double_click_fuzz): New variable.
1984 (make_lispy_event): Use it to determine what makes a double-click.
1985 (syms_of_keyboard): DEFVAR_INT it.
1986
6594ac22
GM
1987 * xmenu.c (set_frame_menubar): Take into account that
1988 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1989 <raeburn@gnu.org>.
1990
75c5350a
GM
19912001-07-27 Gerd Moellmann <gerd@gnu.org>
1992
1993 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
1994
1995 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
1996 of row's visible height.
1997
1998 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
1999 deal with the first overlay string having an image `display' property.
2000 (try_window_reusing_current_matrix, compute_line_metrics):
2001 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2002 row is invisible above and part of the row is at the same time
2003 invisible below the window.
2004
ac49effe
GM
20052001-07-26 Gerd Moellmann <gerd@gnu.org>
2006
2007 * xfns.c (x-show-tip): Doc fix.
3452efc2 2008
ac49effe
GM
2009 * xfns.c (Vx_max_tooltip_size): New variable.
2010 (syms_of_xfns): DEFVAR_LISP it.
2011 (Fx_show_tip): Set frame's window_width to the width of the
2012 window. Use a maximum tooltip size specified by
2013 Vx_max_tooltip_size, if that has valid contents.
2014 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2015
8c3b00cb
AI
20162001-07-26 Andrew Innes <andrewi@gnu.org>
2017
2018 * w32term.c (x_display_list): New variable.
2019 (w32_term_init): Set it.
2020
2021 * w32term.h (x_display_list): New extern.
2022
16098288
GM
20232001-07-26 Gerd Moellmann <gerd@gnu.org>
2024
2025 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2026 is non-nil, instead of when redisplaying_p is non-zero.
2027 See comment there.
16098288
GM
2028 (mark_window_display_accurate_1): Add an assertion.
2029
64c5be50
GM
20302001-07-25 Gerd Moellmann <gerd@gnu.org>
2031
e743f599
GM
2032 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2033
563b384d
GM
2034 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2035 events so that we get a chance of processing expose events.
2036
64c5be50
GM
2037 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2038
296808a5
GM
20392001-07-24 Gerd Moellmann <gerd@gnu.org>
2040
2041 * xfns.c (valid_image_p): Protect better against invalid image
2042 specifications. Previous code could signal an error.
2043
5247262a
GM
20442001-07-23 Gerd Moellmann <gerd@gnu.org>
2045
3452efc2 2046 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2047 presence of display table entries.
2048 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2049
dd42b31a
GM
2050 * dispnew.c (adjust_glyph_matrix): In the optimization for
2051 windows whose height has changed, use the new window height
2052 to compute which rows to invalidate.
2053
9e5a7f2a
GM
2054 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2055 (MAX_10_EXP): New macro.
2056 (Fformat): Use it.
2057
5247262a
GM
2058 * coding.c (code_convert_region): Handle the multibyte case if
2059 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2060
177ab8ce
GM
20612001-07-20 Gerd Moellmann <gerd@gnu.org>
2062
6e07c0a5
GM
2063 * dispextern.h (struct face): Change type of `stipple' to
2064 int; it's an ID.
2065
177ab8ce
GM
2066 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2067
b5b80599
GM
20682001-07-19 Gerd Moellmann <gerd@gnu.org>
2069
4e2a256b
GM
2070 * dispnew.c (update_window): Don't set the cursor at the end
2071 of the update if display update has been paused.
2072
3452efc2 2073 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2074
c1fd9232
KR
20752001-07-18 Ken Raeburn <raeburn@gnu.org>
2076
2077 * fns.c (Fset_char_table_default): Check that a charset is defined
2078 before checking its dimension.
2079
928a85c1
KR
20802001-07-17 Ken Raeburn <raeburn@gnu.org>
2081
2082 * coding.c (setup_coding_system): Don't do any designation based
2083 on reg_bits if charset is not yet defined.
2084
fb4c6c96 2085 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2086 pointer, using eassert.
2087
de11c1ea
GM
20882001-07-17 Gerd Moellmann <gerd@gnu.org>
2089
3452efc2
SM
2090 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2091 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2092
467f1209
GM
20932001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2094
2095 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2096
c3d6be34
GM
20972001-07-16 Gerd Moellmann <gerd@gnu.org>
2098
c1d61a7d
GM
2099 * fileio.c (unwind_read): Function removed.
2100 (read_non_regular, read_non_regular_quit): New functions.
2101 (Finsert_file_contents): When reading from non-regular files,
2102 arrange to catch a `quit' and terminate the loop. Rearrange
2103 code so that a `quit' when reading from a regular file doesn't
2104 insert text in the buffer.
2105
c3d6be34
GM
2106 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2107 Clear faces afterwards.
2108 (clear_font_table): Take a x_display_info parameter. Don't free
2109 fonts being the default font of any frame on the given display.
2110
e06aa1f9
GM
21112001-07-13 Gerd Moellmann <gerd@gnu.org>
2112
2113 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2114 instead of CHAR_STRING which can signal an error.
2115
2116 * charset.c (char_to_string_1): Extracted from char_to_string.
2117 Return -1 instead of signaling an error.
2118 (char_to_string): Use it.
2119
2120 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2121
176c92e6
SM
21222001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2123
2124 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2125 is t, don't try to append anything to it.
2126
1c56232f
EZ
21272001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2128
2129 * dired.c (file_name_completion): Pass dp->d_name to
2130 Fstring_match, not elt, which is always nil here.
2131
1d2b2268
GM
21322001-07-12 Gerd Moellmann <gerd@gnu.org>
2133
2134 * xselect.c (x_decline_selection_request): Handle errors
2135 caused by receivers that have vanished.
2136
2137 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2138 ignoring events on foreign windows in #if 0. Always dispatch
2139 the event after checking it with x_handle_property_notify.
2140
2141 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2142 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2143 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2144 (toplevel): Add prototypes for file-local functions.
2145 (x_atom_to_symbol): Remove DPYINFO parameter.
2146
fe5a0162
SM
21472001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2148
2149 * w32menu.c (menubar_selection_callback, w32_menu_show):
2150 Initialize `entry' to nil.
2151 (w32_dialog_show): Remove unused `save_wv' variable.
2152 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2153
a777242c
GM
21542001-07-11 Gerd Moellmann <gerd@gnu.org>
2155
8ee5b6a3
GM
2156 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2157
d0e2444e
GM
2158 * fileio.c (unwind_read): Print a message when discarding inserted
2159 text or switching the buffer to unibyte. Change parameter.
2160 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2161
a777242c
GM
2162 * fileio.c (unwind_read): New function.
2163 (Finsert_file_contents): Record it as unwind-function for
2164 the case that reading is interrupted by C-g.
2165
ae794295
GM
21662001-07-10 Gerd Moellmann <gerd@gnu.org>
2167
fe5a0162 2168 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2169 update when scrolling_window returns 0.
2170
6b05fae3
GM
2171 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2172
2173 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2174 for the case that x_decode_color signals an error.
6b05fae3 2175
ae794295
GM
2176 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2177
bb6e8cee
GM
21782001-07-09 Gerd Moellmann <gerd@gnu.org>
2179
2180 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2181 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2182 around ioctls.
2183
36b40a8a
EZ
21842001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2185
24b97d4b
EZ
2186 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2187 doc string line for dos-timezone-offset.
2188
36b40a8a
EZ
2189 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2190 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2191 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2192 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2193
2194 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2195
0967b4b0
GM
21962001-07-05 Gerd Moellmann <gerd@gnu.org>
2197
f25cfe53
GM
2198 * sound.c: Include Emacs' header files with #include "...".
2199
0967b4b0
GM
2200 * eval.c (specbind): Additionally record the buffer that was
2201 current when a buffer-local or frame-local variable was bound.
2202
c347a1c3
GM
22032001-07-04 Gerd Moellmann <gerd@gnu.org>
2204
2205 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2206 to unibyte characters in unibyte buffers.
2207
6332ca8a
GM
22082001-07-03 Gerd Moellmann <gerd@gnu.org>
2209
38472d44
GM
2210 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2211 the frame on the binding stack. Change format of entries for
2212 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2213 (unbind_to): Handle unbinding a frame-local variable.
2214
6332ca8a 2215 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2216 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2217 (dump_glyph_row): Print row's continuation_lines_width.
2218 (try_window_id): Take the shortcut if ZV is visible in the
2219 window, but there are actually no changes at ZV.
2220
63d1b174
GM
22212001-07-02 Gerd Moellmann <gerd@gnu.org>
2222
4c175203
GM
2223 * xterm.h (x_free_dpy_colors): Add prototype.
2224
2225 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2226 right number of arguments.
2227
0b54ce28
GM
2228 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2229 ($(lwlibdir)TAGS): New target.
4c175203 2230 (TAGS): Fix dependency list.
0b54ce28 2231
63d1b174
GM
2232 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2233 with input blocked.
2234
d827466c
GM
22352001-06-30 Gerd Moellmann <gerd@gnu.org>
2236
2237 * emacs.c (main): Remove extern declaration for sys_nerr, which
2238 isn't used and causes a compilation error with GCC 3.0 on
2239 FreeBSD 4.3.
2240
b5cb1ada
GM
22412001-06-27 Gerd Moellmann <gerd@gnu.org>
2242
a5d3ec3f 2243 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2244 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2245 (toplevel): Include <signal.h> and syssignal.h.
2246
b5cb1ada
GM
2247 * sound.c (vox_configure, vox_close): Turn off atimers
2248 around ioctls.
2249
d9bad487
GM
22502001-06-26 Gerd Moellmann <gerd@gnu.org>
2251
fdbb67fe
GM
2252 * keyboard.c (read_char) <non_reread>: Record the previous idle
2253 start time before calling timer_stop_idle.
2254 (read_char) <reread_first>: After processing a help-echo event,
2255 restore the previous idle start time.
2256
d9bad487
GM
2257 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2258 the start of invisible text.
2259 (setup_for_ellipsis): New function.
2260 (next_overlay_string): After all overlay strings have been
2261 processed, display an ellipsis if necessary.
2262 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2263 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2264
2265 * dispextern.h (struct iterator_stack_entry): Add member
2266 display_ellipsis_p.
2267
2b9c25e0
GM
22682001-06-25 Gerd Moellmann <gerd@gnu.org>
2269
80de57df
GM
2270 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2271 on the value of the wait-for-wm frame parameter.
2272
2273 * xterm.h (struct x_output): Add member wait_for_wm.
2274
2275 * xfns.c (Qwait_for_wm): New variable.
2276 (x_frame_parms): Add entry for `wait-for-wm".
2277 (x_set_wait_for_wm): New function.
2278 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2279 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2280
2b9c25e0
GM
2281 * xdisp.c (try_window_id) <all changes below window end>: Don't
2282 take this shortcut if ZV is visible in the window.
2283 (try_window_id): When checking for window start being in changed
2284 text, don't check that the buffer's size has changed.
2285
f772775c
RS
22862001-06-23 Richard M. Stallman <rms@gnu.org>
2287
2288 * minibuf.c (Fcompleting_read): Doc fix.
2289
fa9090b8
GM
22902001-06-19 Gerd Moellmann <gerd@gnu.org>
2291
2292 * composite.c (Ffind_composition_internal): Accept ZV
2293 and a string's end position as POS.
2294
f6f1beba
GM
22952001-06-18 Gerd Moellmann <gerd@gnu.org>
2296
2297 * composite.c (Ffind_composition_internal): Check POS
2298 for validity.
2299
0ae83348
EZ
23002001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2301
2302 * editfns.c (Fmessage_box): If the frame is not under a window
2303 system, output the message in the echo area.
2304
e4cdc335
RS
23052001-06-14 Richard M. Stallman <rms@gnu.org>
2306
2307 * xdisp.c (try_window_id): When EOB is visible, don't treat
2308 insertion at EOB as if it were "off the bottom of the screen."
2309
a55a5f3c
AI
23102001-06-11 Andrew Innes <andrewi@gnu.org>
2311
2312 * w32proc.c (create_child): Add new parameter is_gui_app.
2313 (w32_executable_type): Add new parameter is_gui_app.
2314 (sys_spawnve): Use it.
2315 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2316 SIGQUIT. This matches better how the signals are interpreted by
2317 MSVC compiled programs.
2318 (syms_of_ntproc): Update docstring.
2319
1b85dc1c
SM
23202001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2321
2322 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2323 well otherwise note_mouse_highlight might optimize away highlighting
2324 if we pass over that same overlay again.
2325
b75f8eab
EZ
23262001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2327
2328 * lread.c (Fload): Document that the argument is run via
2329 substitute-in-file-name.
2330
94843cc1
GM
23312001-05-31 Gerd Moellmann <gerd@gnu.org>
2332
b14659e6
GM
2333 * Makefile.in (bootstrap-doc): New target.
2334 (bootstrap-emacs): Depend on it.
2335
0894672f
GM
2336 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2337 auto-save-list-file-name when shutting down Emacs, because
2338 creating the directory might signal an error, and leaves
2339 Emacs in a strange state.
2340
94843cc1
GM
2341 * term.c: (tty_cursor_hidden): New variable.
2342 (update_begin): Don't call tty_hide_cursor. Clean up.
2343 (update_end, set_terminal_window, set_scroll_region): Clean up.
2344 (ring_bell, reset_terminal_modes): Clean up.
2345 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2346 on tty_cursor_hidden.
2347 (write_glyphs): Call tty_hide_cursor.
2348
db3a49a6
SM
23492001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2350
2351 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2352
8bd189fb
GM
23532001-05-30 Gerd Moellmann <gerd@gnu.org>
2354
6f1be3b9
GM
2355 * xfns.c (enum image_value_type): New enumerator
2356 IMAGE_STRING_OR_NIL_VALUE.
2357 (parse_image_spec): Handle it.
2358 (xbm_format, pbm_format): Use it for :foreground and :background.
2359 (xbm_load, pbm_load): Check for nil color names.
2360
8bd189fb
GM
2361 * xterm.c (note_mouse_highlight): If an overlapping overlay
2362 exists, but we find that we highlight the same overlay as before,
2363 don't do the highlighting again.
2364
7bdba03c
GM
23652001-05-29 Gerd Moellmann <gerd@gnu.org>
2366
4c329aa8
GM
2367 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2368 Protect unibyte strings created by replacing their multibyte
2369 equivalents in menu_items.
2370
e15e2828
GM
2371 * keymap.c (Fsingle_key_description): NUL-terminate the string
2372 buffer before calling build_string.
2373
7bdba03c
GM
2374 * callproc.c (Fcall_process): Deal with decode_coding returning
2375 CODING_FINISH_INCONSISTENT_EOL.
2376
89c8dc6c
GM
23772001-05-28 Gerd Moellmann <gerd@gnu.org>
2378
db3a49a6 2379 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2380 an item's name with its key description in case the description
2381 is a multibyte string.
2382
2383 * keymap.c (Fsingle_key_description): Create a multibyte string
2384 only if necessary.
2385
eb04d6cd
GM
2386 * macros.c (Fstart_kbd_macro): Doc fix.
2387
8bd6307f
GM
2388 * xterm.c (cursor_in_mouse_face_p): New function.
2389 (x_draw_stretch_glyph_string): Use it to choose a different GC
2390 when drawing a cursor within highlighted text.
2391
e26c4089
GM
2392 * editfns.c (char_property_eq): Put in #if 0.
2393
2394 * indent.c (string_display_width): Put in #if 0.
2395
2396 * lread.c (Fload): Remove unused label.
2397
89c8dc6c
GM
2398 * termcap.c (speeds): Put in #if 0.
2399
9a1211f2
GM
24002001-05-18 Gerd Moellmann <gerd@gnu.org>
2401
29148a3f
GM
2402 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2403
9a1211f2
GM
2404 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2405 transformation matrix by 10.
2406
09393d07
GM
24072001-05-16 Gerd Moellmann <gerd@gnu.org>
2408
2409 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2410 only if it's equal to the former foreground pixel color.
db3a49a6 2411 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2412 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2413
460e6bae
GM
24142001-05-16 Dave Love <fx@gnu.org>
2415
2416 * insdel.c (signal_before_change, signal_after_change): Consider a
2417 local change hook which changes the buffer.
99c78ce8
GM
2418
2419 * process.c (read_process_output): Don't call signal_after_change
2420 and update_compositions after insert_from_string_before_markers.
2421
dbcf3c03
GM
24222001-05-16 Gerd Moellmann <gerd@gnu.org>
2423
a90b3d3c
GM
2424 * xfaces.c (split_font_name): Use the right field when
2425 checking for `[...]' syntax.
2426
1b7818b4
GM
2427 * buffer.c (copy_overlays): New function.
2428 (clone_per_buffer_values): Use it.
2429
2430 * buffer.h (OVERLAY_PLIST): New macro.
2431
9bae8781
GM
2432 * keymap.c (Fsingle_key_description): Replace a build_string with
2433 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2434
dbcf3c03
GM
2435 * fontset.c (Ffontset_info): Check that face is non-null
2436 before accessing its fields.
2437
8a1ae4dd
GM
24382001-05-15 Gerd Moellmann <gerd@gnu.org>
2439
18a0a39e
GM
2440 * keyboard.c (read_key_sequence): Prevent generating a fake
2441 prefix key twice.
2442
e335b66a
GM
2443 * xfaces.c (split_font_name): Handle `[...]' for the right
2444 font name fields.
2445
8a1ae4dd
GM
2446 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2447 of CCL_STAT_INVALID_CMD.
2448
3cf80731
SM
24492001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2450
33568849
SM
2451 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2452 in <var> has no default value yet.
2453
3cf80731
SM
2454 * xfaces.c (try_alternative_families): First try the FAMILY.
2455 And if nothing is found in the end, try again with scalable fonts.
2456 (try_font_list): Let try_alternative_families do a bit more of
2457 the work. Only use FAMILY if it is not nil.
2458 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2459
933b0249
GM
24602001-05-14 Gerd Moellmann <gerd@gnu.org>
2461
58e5af83
GM
2462 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2463 pointer shape when show_mouse_face has already done it.
33568849 2464
58e5af83 2465 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2466 full-width rows.
2467
7b16a6bf
GM
2468 * xfaces.c (split_font_name): Make sure to leave the loop
2469 with the right value of `i'.
3cf80731 2470
933b0249
GM
2471 * xfaces.c (split_font_name): Handle matrix transformations
2472 in the pixel and point size fields of XLFD font names.
2473 (xlfd_point_size): Likewise.
2474
dddcbf00
EZ
24752001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2476
3cf80731 2477 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2478 (x_to_w32_font): Add prototype.
2479
7689ef0b
EZ
2480 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2481 redefining, to avoid compiler warnings.
2482
e7c15bba
EZ
2483 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2484
dddcbf00
EZ
2485 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2486 (w32_get_bdf_glyph): Cast between unsigned char and char when
2487 passing arguments to subroutines, to shut up compiler warnings.
2488 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2489 GET_HEX_VAL.
2490
2491 * xfaces.c: Include keyboard.h before frame.h, not after it.
2492
2493 * widget.c: Include keyboard.h before frame.h.
2494
2495 * w32term.h (struct image, struct face): Forward declaration, to
2496 avoid compiler warnings.
2497
7bd2d083
GM
24982001-05-11 Gerd Moellmann <gerd@gnu.org>
2499
47e72862
GM
2500 * keyboard.c (read_key_sequence): Don't modify events when
2501 generating fake prefix keys (mode-line, scroll-bar, ...) since
2502 this prevents proper processing of such events when pushed back
2503 into unread-command-events.
2504
dd5f324b
GM
2505 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2506 actually redrawn. Make the function static.
2507 (note_mouse_highlight): Fix a case where the mouse cursor
2508 was changed back to the text cursor.
2509
2510 * xterm.h (clear_mouse_face): Remove prototype.
2511
d88a79d4
GM
2512 * xdisp.c (try_window_id): Fix the fix and set the right
2513 window_end_vpos.
2514
2515 * xdisp.c (try_window_id): Fix computation of window end in the
2516 case that lines were deleted at the end of the window. Add some
2517 more debug_method_adds.
0416532f 2518
7bd2d083
GM
2519 * xfaces.c (try_alternative_families): New function.
2520 (try_font_list): Use it. If ATTRS specifies a family, check
2521 fonts from that family first.
2522 (choose_face_font): Remove code setting the family part of
2523 the pattern to nil.
2524
23fca891
GM
25252001-05-10 Gerd Moellmann <gerd@gnu.org>
2526
ff9aa2ca
GM
2527 * xdisp.c (try_window_id): Fix case of all changes before
2528 the window start.
7b2654b5 2529
23fca891
GM
2530 * xdisp.c (try_window_id): Add some xasserts.
2531
e9726794
GM
25322001-05-09 Gerd Moellmann <gerd@gnu.org>
2533
2534 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2535
9e53a675
GM
25362001-05-09 Dave Love <fx@gnu.org>
2537
2538 * xdisp.c (GIVE_UP): Fix for K&R C.
2539
0d487c52
GM
25402001-05-09 Gerd Moellmann <gerd@gnu.org>
2541
fe88d421
GM
2542 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2543
0d487c52
GM
2544 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2545 back to the text cursor shape without need.
2546
1e9fc92e
GM
25472001-05-07 Gerd Moellmann <gerd@gnu.org>
2548
a2a6232e
GM
2549 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2550
2551 * dispextern.h (inverse_video): Declare extern.
2552
1e9fc92e
GM
2553 * keyboard.c (delete_kboard): Handle the case that selected_frame
2554 has been deleted in the course of x_connection_closed.
2555
12949a7f
EZ
25562001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2557
7b2654b5
SM
2558 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2559 Fix the change from 2001-04-30.
12949a7f 2560
2fa2f461
GM
25612001-05-03 Gerd Moellmann <gerd@gnu.org>
2562
a779d213
GM
2563 * xfns.c (file_dialog_unmap_cb): New function.
2564 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2565 where a dialog is closed via the window manager.
2566
7b2654b5 2567 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2568 the window start or all below the window end mostly rewritten.
2569 (redisplay_window): Move the tests if try_window_id is
2570 applicable to try_window_id.
2571 (GIVE_UP): New macro.
2572
3356df63
GM
25732001-05-02 Gerd Moellmann <gerd@gnu.org>
2574
a39202f6 2575 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2576 currently being updated, mark the frame garbaged.
2577 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2578 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2579
3356df63
GM
2580 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2581 again if it has already been drawn.
2582
a9d2fd1d
SM
25832001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2584
2585 * syntax.c (update_syntax_table): Check that oldi has the same
2586 properties as old_prop before deciding not to invalidate.
2587
c95fc5f1
GM
25882001-04-30 Gerd Moellmann <gerd@gnu.org>
2589
a9793e45
GM
2590 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2591 read-only text that is so because of text properties.
2592
c95fc5f1 2593 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2594 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2595 windows that are components of a Lucid menu bar.
2596
5a5d9185
GM
25972001-04-27 Gerd Moellmann <gerd@gnu.org>
2598
2599 * term.c (turn_on_face): Fix reverse video handling on terminals
2600 that don't support colors.
2601
ba973f7a
GM
26022001-04-26 Gerd Moellmann <gerd@gnu.org>
2603
2604 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2605 a non-buffer.
2606
8c56a983
GM
26072001-04-25 Gerd Moellmann <gerd@gnu.org>
2608
a728644c
GM
2609 * term.c (toggle_highlight): New function.
2610 (turn_on_face): Change handling of reverse video.
2611
7b2654b5
SM
2612 * process.c (wait_reading_process_input):
2613 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2614
bfd8410f
GM
2615 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2616 of the number of overlays to check.
2617
be2488ca
GM
2618 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2619
8c56a983
GM
2620 * xdisp.c (try_window_id): Fix a case where window_end_pos
2621 and window_end_bytepos were not adjusted.
2622
522d42f7
GM
26232001-04-23 Gerd Moellmann <gerd@gnu.org>
2624
2625 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2626 zero instead of -1.
2627
78c1afb6
EZ
26282001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2629
a9d2fd1d
SM
2630 * process.c (wait_reading_process_input) [!subprocesses]:
2631 Don't reference waiting_for_user_input_p, it's not defined in the
2632 branch without async subprocesses support.
78c1afb6 2633
a2fab450
GM
26342001-04-19 Gerd Moellmann <gerd@gnu.org>
2635
a122a38e
GM
2636 * keyboard.c (delete_kboard): Prevent a dangling reference
2637 from current_kboard to KB, which is freed.
2638
a9d2fd1d
SM
2639 * process.c (wait_reading_process_input):
2640 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
2641 read_key_sequence aware of buffer changes from under it.
2642
0f8d6dc7
GM
26432001-04-18 Gerd Moellmann <gerd@gnu.org>
2644
eeffb293
GM
2645 * xfaces.c (Qscalable_fonts_allowed): New variable.
2646 (realizing_basic_faces_p): Removed.
2fa2f461
GM
2647 (x_face_list_fonts): Special handling for realizing_basic_faces_p
2648 removed.
eeffb293 2649 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
2650 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
2651 for scalable-fonts-allowed to t.
eeffb293 2652
0f8d6dc7
GM
2653 * fileio.c (Finsert_file_contents): If the file size returned from
2654 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 2655 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 2656
eec2d1de
EZ
26572001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
2658
2659 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
2660 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
2661 (__memalign_hook): Make the two prototypes consistent.
2662
f4f480bd
GM
26632001-04-17 Gerd Moellmann <gerd@gnu.org>
2664
2665 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
2666 matrix of mini-windows.
2667
52283633
SM
26682001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2669
2670 * intervals.c (find_interval): Don't rebalance during signal handling.
2671
ec2423c9
GM
26722001-04-11 Gerd Moellmann <gerd@gnu.org>
2673
30cb0001 2674 * fns.c: Include blockinput.h.
52283633 2675
ec2423c9
GM
2676 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
2677
719d83ad
GM
26782001-04-10 Gerd Moellmann <gerd@gnu.org>
2679
60f8d735
GM
2680 * fns.c (Fcompare_strings): Fix return values.
2681
afffeb57
GM
2682 * window.c (window_scroll): Change the meaning of N to mean
2683 N screen-fulls or N lines.
2684 (window_scroll_pixel_based, window_scroll_line_based)
2685 (scroll_command, Fscroll_other_window): Change accordingly.
2686
52283633
SM
2687 * window.c (window_scroll_pixel_based, Frecenter):
2688 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2689 height of the window.
2690
2691 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2692 instead of using it.last_visible_y for the height of the window.
52283633 2693
719d83ad 2694 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2695 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2696
2697 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2698 able to write to hidden and system files. From Dan Holmsand
2699 <dan@eyebee.com>.
719d83ad 2700
8ddf3ee1
GM
2701 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2702 Holmsand <dan@eyebee.com>.
719d83ad 2703
522ed7fb
GM
27042001-04-09 Gerd Moellmann <gerd@gnu.org>
2705
9170e5d4
GM
2706 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2707
522ed7fb
GM
2708 * window.c (window_internal_height): Return 1 less if the
2709 window has a header line.
2710
2711 * xdisp.c (try_window_id): When scrolling on a terminal, take
2712 the change of window_internal_height into account.
2713
ceeb3d7d
EZ
27142001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2715
2716 * gmalloc.c (align): If the argument SIZE would overflow
2717 __malloc_ptrdiff_t, fail right away.
2718
63685b9d
GM
27192001-04-06 Gerd Moellmann <gerd@gnu.org>
2720
2721 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2722 Make sure the tooltip is completely visible.
2723 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2724
2725 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2726
2727 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2728
3ffb33bb
DL
27292001-04-06 Dave Love <fx@gnu.org>
2730
52283633
SM
2731 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2732 Fix test of `from'.
3ffb33bb 2733
869fb12c
GM
27342001-04-06 Gerd Moellmann <gerd@gnu.org>
2735
52283633 2736 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2737
869fb12c
GM
2738 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2739
441bf856
GM
27402001-04-05 Gerd Moellmann <gerd@gnu.org>
2741
4d664b04
GM
2742 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2743
52283633 2744 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2745
30ca89f5
GM
2746 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2747 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2748
2749 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2750 shell widget's position only if it is non-null.
2751
52283633
SM
2752 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2753 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2754
81a81c0f
GM
2755 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2756 FILENAME to bring it in synch with the documentation.
2757
441bf856
GM
2758 * xfaces.c (realizing_basic_faces_p): Renamed from
2759 realize_default_face_p.
2760 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2761 (realize_default_face): Don't set the flag.
2762
702a1e8e
GM
27632001-04-04 Gerd Moellmann <gerd@gnu.org>
2764
1013f4e3
GM
2765 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2766
52283633
SM
2767 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2768
1013f4e3
GM
2769 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2770 the buffer that was used for echoing.
2771
702a1e8e
GM
2772 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2773 (first_font_matching): Removed unused function.
2774 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2775 (may_use_scalable_font_p): Remove parameter FONT; rename
2776 parameter NAME to FONT.
2777 (x_face_list_fonts): Fix missing bounds check.
2778 (realizing_default_face_p): New variable.
2779 (realize_default_face): Set and clear that flag.
2780 (x_face_list_fonts): When called during the realization of the
2781 default face, and no matching fonts are found when ignoring
2782 scalable fonts and fonts matching a regexp from
2783 face-ignored-fonts, try without ignoring fonts.
2784
f9dbcda4
GM
27852001-04-03 Gerd Moellmann <gerd@gnu.org>
2786
ad18ffb1
GM
2787 * xfns.c (postprocess_image): New function.
2788 (lookup_image): Call it for all image types except PostScript.
2789 (x_kill_gs_process): Call postprocess_image.
2790
f9dbcda4
GM
2791 * xterm.c (x_use_underline_position_properties): New variable.
2792 (x_draw_glyph_string): Use it.
2793 (syms_of_xterm): DEFVAR_BOOL it.
2794
651f03b6
GM
27952001-04-02 Gerd Moellmann <gerd@gnu.org>
2796
2797 * xterm.c (x_alloc_nearest_color_1): New function.
2798 (x_alloc_nearest_color): Use it.
2799 (x_color_cells): Take a Display as argument, instead of a frame.
2800 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2801 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2802 (x_initialize): Register cvt_string_to_pixel as resource converter
2803 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2804
73d75a62
GM
28052001-03-30 Gerd Moellmann <gerd@gnu.org>
2806
b2046df8
GM
2807 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2808 (set_iterator_to_next): If a string from a display property ends,
2809 consider the case that this might also be the end of an
2810 overlay string having the display property.
2811
52283633 2812 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 2813
87d8eba4
GM
2814 * xdisp.c (reseat_to_string): Undo last change.
2815
73d75a62
GM
2816 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
2817 matrix of a window when the header line changes, when
2818 new rows are allocated, or when the width changes.
2819
911a2406
EZ
28202001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
2821
52283633 2822 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 2823
aea51abe
EZ
28242001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
2825
2826 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
2827 deprecated.
2828
176bc847
GM
28292001-03-29 Gerd Moellmann <gerd@gnu.org>
2830
ed31fabf
GM
2831 * data.c (Fsubr_interactive_form): New function.
2832 (syms_of_data): Defsubr it.
2833
176bc847
GM
2834 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
2835 (live_float_p, live_misc_p): Return 1 only if the offset of the
2836 pointer in its block is >= 0.
2837
e59d0e9d
GM
28382001-03-28 Paul Eggert <eggert@twinsun.com>
2839
2840 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
2841 microseconds calcuation. Avoid double-rounding problem.
2842 In doc string, warn that the result is approximate.
2843
f827b862
GM
28442001-03-28 Gerd Moellmann <gerd@gnu.org>
2845
30a3f61c
GM
2846 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
2847 bind `inhibit-eval-during-redisplay' to t.
2848
2849 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
2850
2851 * xdisp.c (inhibit_eval_during_redisplay)
2852 (Qinhibit_eval_during_redisplay): New variables.
2853 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
2854 don't eval, return nil instead.
2855 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
2856 Initialize Qinhibit_eval_during_redisplay.
2857
e719f5ae
GM
2858 * xdisp.c (reseat_to_string): If STRING is multibyte, set
2859 the iterator's multibyte_p flag.
2860
deb2613a
GM
2861 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2862 instead of setting it to zero; it's incremented for each frame
2863 where the menu face is changed.
2864
52283633
SM
2865 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2866 change bottom shadow accordingly.
2867
2868 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2869 intersections here.
2870 (expose_window): Do it here instead.
52283633 2871 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2872
f827b862
GM
2873 * bytecode.c (BYTE_CODE_QUIT): New macro.
2874 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2875
4bde0ebb
GM
28762001-03-27 Gerd Moellmann <gerd@gnu.org>
2877
607ec83c
GM
2878 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2879 Give up if matrix starts in an ellipsis.
2880 (init_from_display_pos): Do nothing if POS doesn't specify
2881 a dpvec_index but the iterator has such a position.
2882
0245398f
GM
2883 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2884
aba25348
GM
2885 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2886 x/y position is (0, 0) after destroying the menu bar, restore
2887 its original position.
2888
4bde0ebb
GM
2889 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2890 (init_from_display_pos): Use it.
2891 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2892
8cdb267e
GM
28932001-03-26 Gerd Moellmann <gerd@gnu.org>
2894
2895 * xdisp.c (try_window_id): Undo last change.
2896
9948db79
EZ
28972001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2898
2899 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2900
2901 * buffer.c (syms_of_buffer): Doc fix.
2902
2eddf899
GM
29032001-03-26 Gerd Moellmann <gerd@gnu.org>
2904
2905 * xfaces.c (x_update_menu_appearance): Use local variable
2906 popup_path for setting font resources.
2907
6c145d35
EZ
29082001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2909
6a65b1b5
EZ
2910 * frame.c (Fframe_list): Don't reference tip_frame if
2911 HAVE_WINDOW_SYSTEM is not defined.
2912
6c145d35
EZ
2913 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2914 <wl@gnu.org>.
2915
d74c1900
GM
29162001-03-25 Gerd Moellmann <gerd@gnu.org>
2917
20fbd925
GM
2918 * xdisp.c (init_from_display_pos): Test invisible property
2919 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2920
927c5b3b
GM
2921 * xdisp.c (redisplay_internal) <update one window>: Make sure
2922 last_arrow_position and last_arrow_string are set.
2923
d74c1900
GM
2924 * frame.c (Fframe_list): Don't return a tooltip frame.
2925
091f8878
GM
29262001-03-23 Gerd Moellmann <gerd@gnu.org>
2927
52283633
SM
2928 * xdisp.c (mark_window_display_accurate_1): New function,
2929 extracted from mark_window_display_accurate.
2930 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2931 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2932 (mark_window_display_accurate): Use it.
2933 (redisplay_internal): Use it for the selected window.
2934 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2935 for the selected frame.
2936
ac90c44f
GM
2937 * xdisp.c Use make_number, for readability.
2938 (try_window_id): Disable rows below the window end.
2939 (try_window_reusing_current_matrix): Use cursor_row_p.
2940 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2941 of rows.
2942 (init_from_display_pos): If POS specifies a position in a display
2943 vector, maybe get the iterator set up for that ellipsis.
43c09969 2944
091f8878
GM
2945 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2946
991786dd
EZ
29472001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2948
2949 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2950
6c29b43c
GM
29512001-03-23 Gerd Moellmann <gerd@gnu.org>
2952
2953 * xfaces.c (x_update_menu_appearance): Use a different path
2954 for Lucid popup menus.
2955
d8731202
SM
29562001-03-22 Stefan Monnier <monnier@cs.yale.edu>
2957
2958 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
2959
2960 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
2961 (string_buffer_position): Use `make_number'.
2962
f61a541b
GM
29632001-03-22 Gerd Moellmann <gerd@gnu.org>
2964
3c9e997b
GM
2965 * xfaces.c (x_update_menu_appearance): Renamed from
2966 x_set_menu_face_resources. Use different resources for popups.
2967
2968 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
2969 (GC_CHECK_STRING_BYTES): Don't define.
2970
364cd450
GM
2971 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
2972 Removed, together with subroutines.
2973 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 2974 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 2975
d8731202
SM
2976 * dispextern.h (x_set_menu_resources_from_menu_face):
2977 Remove prototype.
364cd450 2978
d8731202 2979 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
2980 Remove calls to x_set_menu_resources_from_menu_face.
2981
d8731202
SM
2982 * xfaces.c (xm_set_menu_resources_from_menu_face):
2983 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
2984
2985 * xmenu.c: Include widget.h.
2986 (single_submenu): Return int. Some cleanup.
2987 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
2988
140330de
GM
29892001-03-21 Gerd Moellmann <gerd@gnu.org>
2990
2991 * xterm.c (x_update_window_end): Handle overwritten mouse face
2992 also for tool bar windows.
2993 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2994 DRAW is DRAW_IMAGE_RAISED.
2995
1741905c
GM
29962001-03-20 Gerd Moellmann <gerd@gnu.org>
2997
fa88947e
GM
2998 * print.c (syms_of_print): Doc fixes.
2999
1741905c
GM
3000 * fns.c (Fmd5): Doc fix.
3001
ade0bee1
GM
30022001-03-19 Gerd Moellmann <gerd@gnu.org>
3003
357e7376
GM
3004 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3005 Clear area of the frame not occupied by the scroll bar.
3006
c2c097cc
GM
3007 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3008 tip frame's root window buffer to *tip* right after creating
3009 the frame.
3010
ade0bee1
GM
3011 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3012 is an integer don't have to be for space characters.
3013
88c6e37e
GM
30142001-03-16 Gerd Moellmann <gerd@gnu.org>
3015
52283633
SM
3016 * indent.c (current_column, current_column_1, Fmove_to_column)
3017 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3018
c62eed76
KH
30192001-03-15 Kenichi Handa <handa@etl.go.jp>
3020
3021 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3022 drawing glyph string.
3023
c899e7e6
GM
30242001-03-15 Gerd Moellmann <gerd@gnu.org>
3025
d0bbfc99
GM
3026 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3027 (command_loop_1): Undo last change.
3028
03d1a189
GM
3029 * xterm.c (fast_find_position): Return the correct vpos.
3030
c899e7e6 3031 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3032 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3033 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3034 Call store_symval_forwarding with BUF null.
3035 (set_internal): Call store_symval_forwarding with the BUF
3036 parameter passed to set_internal. Formerly, the value was always
3037 set in the current buffer; the buffer recorded in specbind for
3038 this case wasn't used.
3039 (arith_driver): Reindent.
3040
52283633
SM
3041 * buffer.c (swap_out_buffer_local_variables):
3042 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3043
3044 * lisp.h (store_symval_forwarding): Change prototype.
3045
3046 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3047
57ac7c81
GM
30482001-03-14 Gerd Moellmann <gerd@gnu.org>
3049
697617d9
GM
3050 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3051 FOR_DELETION. Avoid resizing the mini-window of the selected
3052 frame if FOR_DELETION is set.
3053 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3054 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3055 signature.
3056
3057 * window.c (Fset_window_configuration): Change call to
3058 do_switch_frame to new format.
3059
3060 * keyboard.c (quit_throw_to_read_char): Change call to
3061 do_switch_frame to new format.
3062
3063 * lisp.h (do_switch_frame): Change prototype.
3064
819dce0f
GM
3065 * frame.c (Fframe_parameters): In the `buffer-list' frame
3066 parameter, store the buffer list of FRAME, not the list of the
3067 selected frame.
3068
57ac7c81
GM
3069 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3070 box just because the glyph row's full_width_p flag is set.
3071
65008712
GM
30722001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3073
3074 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3075 skip the padding blanks inserted in extend_face_to_end_of_line,
3076 before checking for trailing whitespace.
3077
159cf431
GM
30782001-03-13 Gerd Moellmann <gerd@gnu.org>
3079
52283633 3080 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3081 Remove special handling for LessTif/Motif.
3082 (toplevel): Don't include Xm/Xm.h.
3083
52283633
SM
3084 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3085 Remove workaround code for LessTif; it doesn't work anymore.
3086
2564ea1b 3087 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3088 Xm/ScrollBarP.h.
afcdc0a1 3089
52283633
SM
3090 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3091 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3092 contemporary LessTif.
3093
52283633
SM
3094 * xfaces.c (xm_set_menu_resources_from_menu_face):
3095 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3096
159cf431
GM
3097 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3098 removing button grabs.
3099
c6f7429a
KH
31002001-03-13 Kenichi Handa <handa@etl.go.jp>
3101
cb82d767
KH
3102 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3103 and clip-large-size-font as obsolete.
3104
c6f7429a
KH
3105 * lread.c (read_multibyte): Check the validity of multibyte
3106 sequence. If invalid, return the first byte.
3107
760cefb5
GM
31082001-03-12 Gerd Moellmann <gerd@gnu.org>
3109
3110 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3111 before running the command; timer functions or process
3112 filters may have set it.
3113
5141f9d0
EZ
31142001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3115
3116 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3117 Doc fix.
3118
b6a15240
GM
31192001-03-12 Gerd Moellmann <gerd@gnu.org>
3120
3121 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3122 to sprintf.
3123
95522746
GM
31242001-03-09 Gerd Moellmann <gerd@gnu.org>
3125
db14cfc5
GM
3126 * dispextern.h (string_buffer_position): Add prototype.
3127
52283633 3128 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3129 (single_display_prop_string_p): New functions.
3130
3131 * xterm.c (note_mouse_highlight): If there's no help-echo on
3132 a string, look at the buffer text ``under'' it.
3133
3134 * keyboard.c (make_lispy_event): Add string info to the event,
3135 analogous to what's done on mode lines.
3136 (read_key_sequence): For a click on a string, consider `local-map'
3137 and `keymap' of that string.
3138
52283633
SM
3139 * keyboard.c (make_lispy_event, make_lispy_movement):
3140 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3141
3142 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3143
3144 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3145 POS; return void.
3146
95522746
GM
3147 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3148 flags argument to emacs_open; it seems to conflict with O_EXCL.
3149
898a399d
KH
31502001-03-09 Kenichi Handa <handa@etl.go.jp>
3151
28cd4910
KH
3152 * composite.h (struct composition): Change types of members;
3153 glyph_len to unsigned, width to unsigned short.
898a399d 3154
4cdf6a6c
AI
31552001-03-08 Andrew Innes <andrewi@gnu.org>
3156
3157 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3158 menu titles.
3159
129004d3
GM
31602001-03-08 Gerd Moellmann <gerd@gnu.org>
3161
221dd3e7
GM
3162 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3163 instead of nil.
3164
52283633 3165 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3166 help-echo in strings.
3167 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3168 (fast_find_string_pos): New function.
3169
52283633
SM
3170 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3171 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3172
3173 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3174 Handle `mouse-face'.
3175
3176 * dispextern.h (face_at_string_position): Change prototype.
3177
52283633 3178 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3179
129004d3
GM
3180 * keyboard.c (make_lispy_event): Avoid generating drag events
3181 if the mouse hasn't actually moved to another buffer position.
52283633 3182
80c8ab8c
DL
31832001-03-08 Dave Love <fx@gnu.org>
3184
129004d3 3185 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3186
989521fd
GM
31872001-03-08 Gerd Moellmann <gerd@gnu.org>
3188
3189 * process.c (Fset_process_window_size): Fix a typo.
3190
bb5c338d
KH
31912001-03-08 Kenichi Handa <handa@etl.go.jp>
3192
3193 * coding.c (detect_coding_sjis): Do more rigid check.
3194 (detect_coding_big5): Likewise.
3195 (decode_coding_sjis_big5): Likewise.
3196 (Fdetect_coding_region): Call detect_coding_system with tailing
3197 anchor byte `\0' for more rigid detection.
52283633 3198 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3199 (Fdetect_coding_string): Likewise.
3200
8b8f9197
SM
32012001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3202
3203 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3204 a string before extracting its data.
3205
3bdf2660
GM
32062001-03-07 Gerd Moellmann <gerd@gnu.org>
3207
3208 * window.c (Frecenter): Rewrite code handling negative values
3209 of ARG on graphical frames.
3210
32112001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3212
3213 * window.c (displayed_window_lines): If W->start is outside the
3214 accessible portion of the buffer, call start_display with BEGV or
3215 ZV instead of W->start.
3216
471f86b9
GM
32172001-03-07 Gerd Moellmann <gerd@gnu.org>
3218
2ab62c6c
GM
3219 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3220
471f86b9
GM
3221 * process.c (Fset_process_filter): Don't crash if the input
3222 file descriptor of PROCESS is closed.
3223 (Fset_process_window_size): Likewise.
3224
101922c3
GM
32252001-03-06 Kenichi Handa <handa@etl.go.jp>
3226
3227 * xterm.c (XTflash): Make the timeout of select shorter, and call
3228 select repeatedly until the desired time expires.
3229
45d051a7
GM
32302001-03-06 Gerd Moellmann <gerd@gnu.org>
3231
3232 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3233
3234 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3235
3236 * lisp.h (Vwindow_list): Declare extern.
3237
8f372c46
EZ
32382001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3239
3240 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3241
f16a7aa5
GM
32422001-03-06 Gerd Moellmann <gerd@gnu.org>
3243
157ae273
GM
3244 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3245 to detect a case where we have to highlight a different region
3246 despite not having left the currently highlighted region.
3247 Set mouse_face_overlay in the x_display_info.
45d051a7 3248 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3249
3250 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3251
3252 * buffer.c (mouse_face_overlay_overlaps): New function.
3253
3254 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3255 (Qmouse_face): Declare extern.
3256
f16a7aa5
GM
3257 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3258 if face_change_count is non-zero.
3259
827afcac
KH
32602001-03-06 Kenichi Handa <handa@etl.go.jp>
3261
3262 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3263 that the source is unibyte.
3264
14c7242e
DL
32652001-03-05 Dave Love <fx@gnu.org>
3266
827afcac 3267 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3268
c28b847b
GM
32692001-03-05 Gerd Moellmann <gerd@gnu.org>
3270
3271 * minibuf.c (read_minibuf): Clean up the binding stack if
3272 called noninteractively.
3273
b86644f2
KH
32742001-03-05 Kenichi Handa <handa@etl.go.jp>
3275
3276 * coding.c (syms_of_coding): Docstring modified.
3277
203682cc 32782001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3279
3280 * charset.c (char_to_string): If a single byte char has modifier
3281 bits that can't be reflected to the character code, ignore them
45d051a7 3282 instead of signaling an error.
b86644f2 3283
e30bd7b7
EZ
32842001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3285
3286 * s/msdos.h: Update copyright notice.
3287
3288 * dosfns.h: Update copyright notice.
3289
3290 * dosfns.c: Update copyright notice.
3291
3292 * msdos.c: Update copyright notice.
3293
b52b65bd
GM
32942001-03-02 Gerd Moellmann <gerd@gnu.org>
3295
3296 * xterm.c (glyph_rect): New function.
3297 (XTmouse_position): Use it to raise the threshold for mouse
3298 movement event generation.
3299
53c4b1e6
EZ
33002001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3301
3302 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3303 specifies (reverse . t), reverse the initial screen colors.
3304 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3305 but we are reversing the colors, set bg_set, not fg_set.
3306 Likewise for setting background-color and reversing: set fg_set.
3307 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3308 in effect.
3309
3310 * xfaces.c (Finternal_set_lisp_face_attribute)
3311 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3312 parameters alist.
3313
f964b4d7
GM
33142001-03-02 Gerd Moellmann <gerd@gnu.org>
3315
ef53d75e
GM
3316 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3317 to a single slash in the middle of file names.
3318
52283633 3319 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3320 Accept only alphanumeric time zone names.
3321
f964b4d7
GM
3322 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3323 or width area.
3324 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3325 a widget to zero height.
52283633 3326
c3c45f65
GM
33272001-03-01 Gerd Moellmann <gerd@gnu.org>
3328
3329 * window.c (Fwindow_end): Call move_it_past_eol only if
3330 ending up on a partially visible line.
3331
028d739a
DL
33322001-03-01 Dave Love <fx@gnu.org>
3333
3334 * ccl.c (Fccl_execute): Doc fix.
3335
57c5889c
GM
33362001-03-01 Gerd Moellmann <gerd@gnu.org>
3337
35f59f6b
GM
3338 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3339 of the tool bar before calling x_figure_window_size.
3340
f84ff02c
GM
3341 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3342 NULL after destroying it, otherwise XTread_socket can access a
3343 destroyed widget when input is unblocked.
3344
8b8f9197 3345 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3346
57c5889c
GM
3347 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3348 same name as before, although there was a change in fontsets.
3349
224227d1
KR
33502001-02-28 Ken Raeburn <raeburn@gnu.org>
3351
4560730a
KR
3352 * lisp.h (Fframe_parameter): Declare.
3353
224227d1 3354 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3355 Lisp_Object.
224227d1 3356
ece93c02
GM
33572001-02-28 Gerd Moellmann <gerd@gnu.org>
3358
11ef99b9
GM
3359 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3360 NULL instead.
3361
3362 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3363 NULL instead.
3364
ece93c02
GM
3365 * alloc.c (toplevel): Include process.h.
3366 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3367 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3368 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3369 (allocate_vector, allocate_hash_table, allocate_window)
3370 (allocate_frame, allocate_process, allocate_other_vector):
3371 New functions.
ece93c02
GM
3372 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3373 (mark_maybe_pointer): New function.
52283633 3374 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3375 remain and not Lisp_Objects.
3376 (min_heap_address, max_heap_address): New variables.
3377 (mem_find): Return MEM_NIL if START is below min_heap_address or
3378 above max_heap_address.
3379 (mem_insert): Compute min_heap_address and max_heap_address.
3380
3381 * process.c (make_process): Use allocate_process.
3382
3383 * frame.c (make_frame): Use allocate_frame.
3384
3385 * window.c (make_window, make_dummy_parent): Use allocate_window.
3386 (Fcurrent_window_configuration): Use allocate_other_vector.
3387
3388 * lisp.h (allocate_vectorlike): Remove prototype.
3389 (allocate_vector, allocate_other_vector, allocate_frame)
3390 (allocate_window, allocate_process, allocate_hash_table):
3391 Add prototypes.
3392
3393 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3394 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3395
063af457
KH
33962001-02-27 Kenichi Handa <handa@etl.go.jp>
3397
3398 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3399 treat the produced bytes as a valid multibyte sequence.
3400
3401 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3402 (ccl_driver) <CCL_WriteMultibyteChar2>:
3403 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3404 <ccl_finish>: Set ccl->eight_bit_control properly.
3405
3406 * ccl.h (struct ccl_program): New member eight_bit_control.
3407
f58c6494
SM
34082001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3409
3410 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3411 accessible_keymaps_char_table.
3412 (accessible_keymaps_char_table): Obey `is_metized'.
3413 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3414 Lisp_Object.
3415
c596c392
GM
34162001-02-26 Gerd Moellmann <gerd@gnu.org>
3417
3418 * dispnew.c: Check HAVE_TERM_H before including term.h.
3419
425de386
AI
34202001-02-24 Andrew Innes <andrewi@gnu.org>
3421
3422 * makefile.w32-in: Update copyright notice.
3423
2ba11bbd
SM
34242001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3425
3426 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3427
66c56ed1
KH
34282001-02-24 Kenichi Handa <handa@etl.go.jp>
3429
4c1593ce
KH
3430 * Makefile.in (lisp): Add international/utf-8.elc.
3431
66c56ed1
KH
3432 * fontset.c (Fnew_fontset): Fix handling of the case that an
3433 element of FONTLIST is a cons of family and registry.
3434
796ead7e
JR
34352001-02-23 Jason Rumney <jasonr@gnu.org>
3436
3437 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3438 to height unconditionally.
3439
3440 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3441 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3442 (x_insert_glyphs): Call window_box_left to obtain the left
3443 x-coordinate of the area to shift.
3444
3445 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3446 safe_run_hooks.
3447
f6839838
AI
34482001-02-22 Andrew Innes <andrewi@gnu.org>
3449
52283633 3450 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3451 ($(BLD)\dispnew.obj):
3452 ($(BLD)\editfns.obj):
3453 ($(BLD)\fileio.obj):
3454 ($(BLD)\filelock.obj):
3455 ($(BLD)\keyboard.obj):
3456 ($(BLD)\w32proc.obj):
3457 ($(BLD)\process.obj):
3458 ($(BLD)\sysdep.obj): Ditto.
3459
3460 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3461 header files.
52283633
SM
3462 ($(BLD)/dispnew.$(O)):
3463 ($(BLD)/editfns.$(O)):
3464 ($(BLD)/fileio.$(O)):
3465 ($(BLD)/filelock.$(O)):
3466 ($(BLD)/keyboard.$(O)):
3467 ($(BLD)/w32proc.$(O)):
3468 ($(BLD)/process.$(O)):
f6839838
AI
3469 ($(BLD)/sysdep.$(O)): Ditto.
3470
c224f70b
GM
34712001-02-22 Gerd Moellmann <gerd@gnu.org>
3472
51695746
GM
3473 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3474 at the start of the function, check that the \n in it->c is
3475 from the iterator's current position.
52283633 3476
a61b7058
GM
3477 * xdisp.c (handle_single_display_prop): Add parameter
3478 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3479 properties which replace the display of text with something else.
3480 (handle_display_prop): Call handle_single_display_prop with
3481 additional argument saying if we already replaced text display
3482 with something else. Use AREF.
52283633 3483 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3484 (decode_mode_spec_coding): Use AREF and ASIZE.
3485
3473f362
GM
3486 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3487 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3488 * vmstime.h: Files removed.
52283633 3489
2bb58df3
GM
3490 * unexencap.c, unexfx2800.c: Files removed.
3491
c224f70b
GM
3492 * dispnew.c (direct_output_for_insert): Give up if we are showing
3493 a message or just cleared the message because we might need to
3494 resize the echo area window or display an empty echo area.
3495
ffc9ff0c
GM
34962001-02-21 Gerd Moellmann <gerd@gnu.org>
3497
0528abe1
GM
3498 * xdisp.c (redisplay_internal): Do the
3499 mark_window_display_accurate after all windows have been
3500 redisplayed because this call resets flags in buffers which are
3501 needed for proper redisplay.
3502
52283633
SM
3503 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3504 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3505 the old names.
3506
52283633
SM
3507 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3508 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3509
3510 * msdos.h (struct x_output): Rename busy_window to
3511 hourglass_window, busy_p to hourglass_p.
3512
52283633
SM
3513 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3514 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3515
3516 * xfns.c: Rename everything containing *busy_cursor* and similar
3517 to *hourglass*.
3518 (syms_of_w32fns): Rename x-busy-pointer-shape to
3519 x-hourglass-pointer-shape, display-busy-cursor to
3520 display-hourglass, busy-cursor-delay to hourglass-delay.
3521
3522 * w32fns.c: Rename everything containing *busy_cursor* and similar
3523 to *hourglass*.
3524 (syms_of_w32fns): Rename x-busy-pointer-shape to
3525 x-hourglass-pointer-shape, display-busy-cursor to
3526 display-hourglass, busy-cursor-delay to hourglass-delay.
3527
3528 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3529 of its busy_p flag.
3530
3531 * dispextern.h (start_hourglass, cancel_hourglass)
3532 (display_hourglass_p): Renamed from *busy_cursor*.
3533
ab2c5f0a
GM
35342001-02-20 Gerd Moellmann <gerd@gnu.org>
3535
d17e49a8
GM
3536 * keyboard.c (read_char): When an event from unread-command-events
3537 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3538
fa97adf6
GM
3539 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3540 equal to the current buffer.
3541
ab2c5f0a
GM
3542 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3543 nil, otherwise we're left with truncate_lines t when a message
3544 is printed with message-truncate-lines bound to t.
3545
aeac019e
GM
35462001-02-19 Gerd Moellmann <gerd@gnu.org>
3547
c8bc6f65
GM
3548 * window.c (Fmove_to_window_line): Undo last change.
3549 (displayed_window_lines): Call line_bottom_y to determine
3550 the line's bottom position.
3551
3552 * dispextern.h (line_bottom_y): Add prototype.
3553
52283633 3554 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3555 (pos_visible_p): Use it.
3556
980a2d69
GM
3557 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3558 set redisplaying_p to 0 here instead of in Frecursive_edit.
3559 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3560 set redisplaying_p.
3561
52283633 3562 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3563 New variables.
3564 (syms_of_xdisp): Initialize new variables.
3565 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3566 Specbind `inhibit-menubar-update' when updating the menu bar.
3567
65048e97
GM
3568 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3569 safe_run_hooks.
3570
3571 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3572 safe_run_hooks.
3573
a57c4026
GM
3574 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3575 is null.
3576
aeac019e
GM
3577 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3578 to the start of the file.
3579
76846b31
GM
35802001-02-16 Gerd Moellmann <gerd@gnu.org>
3581
f3f053f3 3582 * window.c (set_window_buffer): Fix last change.
52283633 3583
f3f053f3
GM
3584 * window.c (set_window_buffer): Set window's vscroll to 0.
3585
dad75588
GM
3586 * window.c (coordinates_in_window): Increase width of area
3587 where the vertical line can be dragged.
3588
c220b753
GM
3589 * xterm.c (x_set_glyph_string_background_width): Extend the
3590 background face to the end of the drawing area in the text
3591 area, only.
3592
c56b1c1b
GM
3593 * xdisp.c (handle_single_display_prop): Set iterator's position
3594 to where the `display' property starts, like for images.
3595 (dump_glyph): New function.
3596 (dump_glyph_row): Use it. Dump info about marginal areas.
3597
3598 * dispnew.c (direct_output_for_insert): Recognize more cases where
3599 glyphs can be written instead of being inserted.
3600
3601 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3602 the left x-coordinate of the area to shift.
3603
76846b31
GM
3604 * dired.c (directory_files_internal): Set result list to nil
3605 before retrying.
3606
0fc71a77
KH
36072001-02-15 Kenichi Handa <handa@etl.go.jp>
3608
3609 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3610 invalid multibyte sequence, treat *SRC as a character of
3611 eight-bit-graphic.
3612
25078b54
EZ
36132001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3614
3615 * textprop.c (Fset_text_properties): Doc fix.
3616
8399f8a0
GM
36172001-02-15 Gerd Moellmann <gerd@gnu.org>
3618
3619 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3620
9a2a6f73
DL
36212001-02-14 Dave Love <fx@gnu.org>
3622
3623 * coding.c: Doc and message fixes.
3624
bf853fee
AI
36252001-02-14 Andrew Innes <andrewi@gnu.org>
3626
3627 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3628 Emacs frame above the screen size.
3629
78c663d8
GM
36302001-02-14 Gerd Moellmann <gerd@gnu.org>
3631
3632 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3633
7cc9f69f
GM
36342001-02-13 Gerd Moellmann <gerd@gnu.org>
3635
0a411995
GM
3636 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
3637 case that TO ends up beyond ZV after running before-change-functions.
3638
5ddc1b75
GM
3639 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
3640 the selected window if it is showing the buffer in question.
3641
7cc9f69f
GM
3642 * dired.c (directory_files_internal): Initialize errno.
3643 (toplevel): Include errno.h.
3644
2e6621ca
GM
36452001-02-13 Kenichi Handa <handa@etl.go.jp>
3646
3647 * xfaces.c (best_matching_font): New parameter width_ratio.
3648 Multiply avgwidth by width_ratio.
3649 (choose_face_font): Call best_matching_font with width_ratio
3650 calculated from the column width of C.
3651
60222d69
AI
36522001-02-12 Andrew Innes <andrewi@gnu.org>
3653
3654 The following changes are to draw box lines inside characters area
3655 if line-width is negative.
52283633 3656
60222d69
AI
3657 * w32term.c (x_produce_image_glyph): Pay attention to the case that
3658 face->box_line_width is negative.
3659 (x_produce_stretch_glyph): Likewise.
3660 (x_produce_glyphs): Likewise.
3661 (x_estimate_mode_line_height): Likewise.
3662 (x_draw_glyph_string_background): Likewise.
3663 (x_draw_glyph_string_foreground): Likewise.
3664 (x_draw_composite_glyph_string_foreground): Likewise.
3665 (x_draw_glyph_string_box): Likewise.
3666 (x_draw_image_foreground): Likewise.
3667 (x_draw_image_relief): Likewise.
3668 (x_draw_image_foreground_1): Likewise.
3669 (x_draw_image_glyph_string): Likewise.
3670
9804b846
KH
36712001-02-09 Kenichi Handa <handa@etl.go.jp>
3672
3673 The following changes are to draw box lines inside characters area
3674 if line-width is negative.
52283633 3675
9804b846
KH
3676 * xterm.c (x_produce_image_glyph): Pay attention to the case that
3677 face->box_line_width is negative.
3678 (x_produce_stretch_glyph): Likewise.
3679 (x_produce_glyphs): Likewise.
3680 (x_estimate_mode_line_height): Likewise.
3681 (x_draw_glyph_string_background): Likewise.
3682 (x_draw_glyph_string_foreground): Likewise.
3683 (x_draw_composite_glyph_string_foreground): Likewise.
3684 (x_draw_glyph_string_box): Likewise.
3685 (x_draw_image_foreground): Likewise.
3686 (x_draw_image_relief): Likewise.
3687 (x_draw_image_foreground_1): Likewise.
3688 (x_draw_image_glyph_string): Likewise.
3689
3690 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3691 and :line-width can be negative.
52283633 3692 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3693
49be9f70
JR
36942001-02-09 Jason Rumney <jasonr@gnu.org>
3695
3696 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3697 characters the same as ASCII and latin-1.
3698 (x_display_and_set_cursor): Check for the focus frame's selected
3699 window instead of selected_window.
3700 (x_after_update_window_line): Don't clear if frame's internal
3701 border width is zero.
3702 (x_new_font): Don't change a tooltip's size.
3703 (w32_initialize): Set char_ins_del_ok to 1.
3704
3705 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3706 (x_set_font): If font hasn't changed, avoid recomputing
3707 faces and other things.
52283633
SM
3708 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3709 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
3710 (x_create_tip_frame): Prevent changing the tooltip's
3711 background color by specifying a color for the default font
3712 in .Xdefaults.
3713 (Qcancel_timer): New variable.
3714 (syms_of_w32fns): Initialize and staticpro it.
3715 (Fx_hide_tip, Fx_show_tip): Use it.
3716 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3717 the timer.
3718 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3719
3720 * w32.c (init_environment): Duplicate local string before putenv.
3721
555e35d2
SZ
37222001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3723
3724 * charset.c (Fstring): A typo.
3725
19c92c94
KH
37262001-02-09 Kenichi Handa <handa@etl.go.jp>
3727
e47a1c33
KH
3728 * charset.c (Fstring): If all arguments are less than 256, return
3729 a unibyte string.
3730
3731 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3732 return a unibyte string.
3733
19c92c94
KH
3734 * coding.c (code_convert_region): After detecting a coding, if
3735 nothing found, set coding->composing to COMPOSITION_NO.
3736 (decode_coding_string): Likewise.
3737
d8e675f5
SM
37382001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3739
3740 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3741 to avoid overflow.
3742
bd503487
KH
37432001-02-07 Kenichi Handa <handa@etl.go.jp>
3744
3745 * charset.c (parse_str_to_multibyte): New function.
3746
3747 * charset.h (parse_str_to_multibyte): Extern it.
3748
3749 * print.c (print_string): If we are going to print a unibyte
3750 string into a multibyte buffer, convert the string to multibyte by
3751 str_to_multibyte.
3752
a8370d72
AI
37532001-02-06 Andrew Innes <andrewi@gnu.org>
3754
3755 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3756 been created. It seems we can get sent window messages such as
3757 WM_ERASEBKGND before we properly update a frame.
3758
c363a1d6
GM
37592001-02-06 Gerd Moellmann <gerd@gnu.org>
3760
3761 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3762 Avoid some unnecessary cursor positioning.
3763
a08332c0
GM
37642001-02-05 Gerd Moellmann <gerd@gnu.org>
3765
52283633 3766 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3767 (LFACE_AVGWIDTH): New macro.
3768 (LFACEP): Use AREF.
3769 (check_lface_attrs): Check LFACE_AVGWIDTH.
3770 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3771 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3772 (merge_face_vectors): Check LFACE_AVGWIDTH.
3773 (Finternal_make_lisp_face): Use AREF.
3774 (xm_set_menu_resources_from_menu_face)
3775 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3776 (Finternal_lisp_face_empty_p): Use AREF.
3777 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3778 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3779 Compare average widths..
3780 (best_matching_font): Arrange for comparing average widths.
3781
52283633
SM
3782 * dispextern.h (enum lface_attribute_index):
3783 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3784
5cb3c8d4
DL
37852001-02-05 Dave Love <fx@gnu.org>
3786
3787 * puresize.h: Revert last change following loadup.el change.
3788
193fba87
AI
37892001-02-05 Andrew Innes <andrewi@gnu.org>
3790
3791 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3792 invocation of temacs, to work with Windows 2000.
3793 (bootstrap-emacs): Ditto.
3794
e16f52ce
GM
37952001-02-05 Gerd Moellmann <gerd@gnu.org>
3796
7a58ab59
GM
3797 * xterm.c (x_display_and_set_cursor): Check for the focus
3798 frame's selected window instead of selected_window.
3799
e89aaabd
GM
3800 * xdisp.c (try_scrolling): If point is in the line below the
3801 window, make sure to move the iterator at least a canonical
3802 char height down.
3803
52283633 3804 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 3805
789ce875
KH
38062001-02-05 Kenichi Handa <handa@etl.go.jp>
3807
52283633
SM
3808 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3809 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
3810 (ccl_driver): If the CCL program is terminated because of
3811 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3812 destination instead of throwing them away.
3813
20b28f82
GM
38142001-02-02 Gerd Moellmann <gerd@gnu.org>
3815
79fb38c0
GM
3816 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
3817 faces and other things.
3818
20b28f82
GM
3819 * xdisp.c (get_next_display_element): Fix case of empty
3820 display table entry.
3821
5a72551e
EZ
38222001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
3823
eb24d0bf
EZ
3824 * editfns.c (Fconstrain_to_field): Doc fix.
3825
6a3f48c7
EZ
3826 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
3827 into `thoroughly', to make it consistent with the doc string.
3828
5a72551e
EZ
3829 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
3830
01acdb05
GM
38312001-02-01 Gerd Moellmann <gerd@gnu.org>
3832
0353b28f
GM
3833 * search.c (search_buffer): Call set_search_regs with a byte
3834 position, not a character position.
3835
01acdb05
GM
3836 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
3837 minibuffer-only,
3838
e86b5133
EZ
38392001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
3840
3841 * frame.c (Fmodify_frame_parameters): Doc fix.
3842
7442878f
GM
38432001-01-31 Gerd Moellmann <gerd@gnu.org>
3844
01acdb05
GM
3845 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
3846 identifier which is not reserved by Standard C.
52283633 3847
7442878f
GM
3848 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
3849
3850 * window.c (enum window_part): New enumeration.
3851 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
3852 Qright_bitmap_area.
3853 (coordinates_in_window): Return an enumerator from enum
3854 window_part. Fix handling of right scroll bar.
3855 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
3856 `right-fringe' instead of `left-bitmap-area' and
3857 `right-bitmap-area'. Use enumerators from enum window_part
3858 instead of hard-coded integers.
52283633
SM
3859 (check_window_containing, window_from_coordinates):
3860 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3861 (syms_of_window): Replace Qleft_bitmap_area and
3862 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3863
7c132cba
EZ
38642001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3865
3866 * editfns.c (Fformat_time_string): Doc fix.
3867
c359dd9e
SM
38682001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3869
3870 * keymap.c (Fwhere_is_internal): Use the first valid binding
3871 if no ascii binding is found (when firstonly is t).
3872
ce070307
GM
38732001-01-31 Gerd Moellmann <gerd@gnu.org>
3874
b4f30ec5
GM
3875 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3876 instead of Finteractive_p.
3877
3878 * lisp.h (interactive_p): Add prototype.
3879
3880 * eval.c (interactive_p): New function.
3881 (Finteractive_p): Use it.
3882
ce070307
GM
3883 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3884
f57b6e64
DL
38852001-01-31 Dave Love <fx@gnu.org>
3886
d61c7afe
DL
3887 * .gdbinit (hook-run): Define to run xreload.
3888
f57b6e64
DL
3889 * textprop.c (Fset_text_properties): Fix newline in doc string.
3890
eef93f99
GM
38912001-01-30 Gerd Moellmann <gerd@gnu.org>
3892
52283633
SM
3893 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3894 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3895
3896 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3897 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3898 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3899
3900 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3901 height.
3902
d9c1f6f9
DL
39032001-01-30 Dave Love <fx@gnu.org>
3904
3905 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3906 AFTER_POTENTIAL_GC.
3907
e8f044a0
GM
39082001-01-29 Gerd Moellmann <gerd@gnu.org>
3909
52283633
SM
3910 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3911 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3912
8e1db7b3
EZ
39132001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3914
3915 * textprop.c (Fset_text_properties): Doc fix.
3916
4eefd9d2
GM
39172001-01-29 Gerd Moellmann <gerd@gnu.org>
3918
3919 * xdisp.c (forward_to_next_line_start): Remove xassert.
3920
fccb8288
EZ
39212001-01-29 Jason Rumney <jasonr@gnu.org>
3922
4eefd9d2 3923 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3924 returning without releasing it.
3925
76581eab
KH
39262001-01-29 Kenichi Handa <handa@etl.go.jp>
3927
3928 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3929 for '^', '$', and '\0'.
3930
83a96b4d
AC
39312001-01-28 Andrew Choi <akochoi@i-cable.com>
3932
5604ec34
AC
3933 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3934 regex for '^', '$', and '\0'.
3935
83a96b4d
AC
3936 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3937 only if current_sblock has been initialized.
3938
3939 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3940 terminal frame even if it is the only visible frame.
3941
c09a6440
KH
39422001-01-28 Kenichi Handa <handa@etl.go.jp>
3943
3944 * fontset.c (font_family_registry): Even if FONTNAME conform to
3945 XLFD, if it specifies other fields than family and registry,
52283633 3946 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3947 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3948 a signle byte character. Don't set FAMILY part to nil here.
3949 It is handled by the caller choose_face_font.
c09a6440
KH
3950 (Fnew_fontset): Call font_family_registry with FORCE 0.
3951 (Fset_fontset_font): Likewise.
3952
4dcd74e6
GM
39532001-01-27 Gerd Moellmann <gerd@gnu.org>
3954
3955 * xdisp.c (display_line): Don't treat a newline as fitting
3956 on the line.
3957
d2906bf8
GM
39582001-01-26 Gerd Moellmann <gerd@gnu.org>
3959
0130fe1a
GM
3960 * window.c (size_window): Set the window's orig_top to nil when
3961 changing heights, so that a future shrink_mini_window won't
3962 restore a bogus height.
3963
550f0e6a
GM
3964 * frame.c (do_switch_frame): If selected frame has a mini-window,
3965 resize that to exact size.
3966
b7b20fbd
GM
3967 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
3968
a47b7816
GM
3969 * xdisp.c (display_line): Simplify check for glyphs fitting
3970 entirely in the line.
3971
d2906bf8
GM
3972 * xfns.c (xic_style): New variable.
3973 (create_frame_xic): Move static variable to global scope for
550f0e6a 3974 the case that `static' gets defined away.
d2906bf8 3975
73df2b1e
KH
39762001-01-26 Kenichi Handa <handa@etl.go.jp>
3977
3978 * coding.c (decode_coding): Set a flag for inhibiting
3979 inconsistent eol.
3980 (code_convert_region): Always set saved_coding_symbol.
3981 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 3982 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 3983
6613cfc4
GM
39842001-01-25 Gerd Moellmann <gerd@gnu.org>
3985
c5e6e06b
GM
3986 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
3987 XClearArea.
3988
3989 * xterm.c (x_after_update_window_line): Don't clear if frame's
3990 internal border width is zero.
3991 (x_clear_area): New function.
3992 (x_after_update_window_line, x_clear_end_of_line)
3993 (x_scroll_bar_create, x_scroll_bar_set_handle)
3994 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
3995 instead of XClearArea.
3996
3997 * xterm.h (x_clear_area): Add prototype.
3998
6613cfc4
GM
3999 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4000 which doesn't seem necessary anymore with Lesstif 0.92.
4001
650cc6cc
DL
40022001-01-25 Dave Love <fx@gnu.org>
4003
34ac3367
DL
4004 * puresize.h (BASE_PURESIZE): Up to 720000.
4005
650cc6cc
DL
4006 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4007
5e37dc22
GM
40082001-01-25 Gerd Moellmann <gerd@gnu.org>
4009
e1e441f9
GM
4010 * xdisp.c (echo_area_display): Don't call redisplay_internal
4011 when Emacs is shutting down. We can't run hooks etc. that
4012 would be necessary to do a redisplay.
4013
5e37dc22
GM
4014 * lread.c (read_integer): Use type EMACS_INT instead of int.
4015
0fb94c7f
EZ
40162001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4017
4018 * ccl.c (ccl_driver): Fix last change.
4019
e3778624
KH
40202001-01-25 Kenichi Handa <handa@etl.go.jp>
4021
4022 * ccl.h (sturct ccl_program): New member suppress_error.
4023
bb264518 4024 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4025 insert error message to the output.
4026 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4027
4028 * coding.h (struct coding_system): New member suppress_error.
4029
4030 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4031 (Fset_terminal_coding_system_internal): Set the member
4032 suppress_error to 1.
4033 (Fset_safe_terminal_coding_system_internal): Likewise.
4034
245ed2b1
SM
40352001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4036
4037 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4038 as if it was a `charset'.
4039
f9aaedb6
GM
40402001-01-24 Gerd Moellmann <gerd@gnu.org>
4041
4042 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4043 value in where_is_cache; the next lookup in the cache returns
4044 something bogus if we do.
4045
c3902c3e
EZ
40462001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4047
4048 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4049 if HAVE_WINDOW_SYSTEM isn't defined.
4050
3497f73e
GM
40512001-01-24 Gerd Moellmann <gerd@gnu.org>
4052
e7e41584
GM
4053 * fns.c (sweep_weak_table): Fix code taking items out of
4054 the hash collision chain. Some cleanup.
4055
3497f73e
GM
4056 * xterm.c (x_new_font): Don't change a tooltip's size.
4057
4058 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4059 background color by specifying a color for the default font
4060 in .Xdefaults.
4061
3d48e687
KH
40622001-01-24 Kenichi Handa <handa@etl.go.jp>
4063
96531b20
KH
4064 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4065 a workaround for SunOS 4's cc.
4066 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4067 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4068 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4069 statement.
3d48e687 4070
a30629d2
GM
40712001-01-23 Gerd Moellmann <gerd@gnu.org>
4072
4073 * xterm.c (x_set_window_size_1): New function extracted from
4074 x_set_window_size.
4075 (x_set_window_size): Use it.
4076 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4077 doesn't have a widget, like tooltips.
4078
5a43decf
EZ
40792001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4080
52283633 4081 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4082
b0e98867
KH
40832001-01-23 Kenichi Handa <handa@etl.go.jp>
4084
4085 * fns.c (Fset_char_table_default): Fix to make sub char-table
4086 correctly.
4087
50606b4c
GM
40882001-01-22 Gerd Moellmann <gerd@gnu.org>
4089
cb2ddc53 4090 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4091 a desired tool bar string, even if there are no tool bar items.
4092
57c28064
GM
4093 * xdisp.c (Ftool_bar_lines_needed): New function.
4094 (syms_of_xdisp): Defsubr it.
4095
50606b4c
GM
4096 * editfns.c (Fformat): Don't extend text properties from arguments
4097 to padding chars in the result.
4098
2f169c38
EZ
40992001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4100
4101 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4102
0f32f023
AI
41032001-01-20 Andrew Innes <andrewi@gnu.org>
4104
52283633 4105 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4106 (w32_initialize): Don't set term hooks that aren't actually needed
4107 in windowed mode.
4108
4109 * xfaces.c (realize_default_face):
4110 (realize_face):
4111 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4112
4113 * xdisp.c (handle_single_display_prop): Remove references to
4114 FRAME_W32_CONSOLE_P.
4115
52283633 4116 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4117
4118 * frame.h (output_method): Remove output_w32_console method.
4119 (FRAME_W32_CONSOLE_P): Remove macro.
4120
4121 * frame.c (Qw32_console): Remove variable.
4122 (Fframep): Remove references to it.
4123 (syms_of_frame): Ditto.
4124 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4125
4126 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4127 redefinition.
4128
7173eada
KH
41292001-01-20 Kenichi Handa <handa@etl.go.jp>
4130
4131 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4132
755b45ce
AI
41332001-01-19 Andrew Innes <andrewi@gnu.org>
4134
4135 * w32.c (init_environment): Add a version-independent site-lisp
4136 directory to EMACSLOADPATH, after the version dependent one.
4137
0a949811
GM
41382001-01-19 Gerd Moellmann <gerd@gnu.org>
4139
8501998a
GM
4140 * editfns.c (Fbuffer_substring): Doc fix.
4141
52283633
SM
4142 * xdisp.c (message_dolog, message2, message2_nolog):
4143 Rename parameter LEN to NBYTES.
0a949811 4144
e6ebcbbe
KH
41452001-01-19 Kenichi Handa <handa@etl.go.jp>
4146
200ecca2
KH
4147 * charset.c (strwidth): Use c_string_width.
4148 (c_string_width): New function.
4149 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4150 Caller changed.
4151
4152 * charset.h (c_string_width, lisp_string_width): Extern them.
4153
52283633 4154 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4155
e6ebcbbe
KH
4156 * indent.c (check_composition): Check validity of composition.
4157
200ecca2
KH
4158 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4159 characters by calling c_string_width.
4160 (x_consider_frame_title): Get byte length of frame tile string
4161 correctly.
4162 (display_mode_element): Pay attention to width of non-ASCII
4163 characters by calling strwidth.
4164
8692ca92
GM
41652001-01-18 Gerd Moellmann <gerd@gnu.org>
4166
8962e303
GM
4167 * xfns.c (Qcancel_timer): New variable.
4168 (syms_of_xfns): Initialize and staticpro it.
4169 (Fx_hide_tip, Fx_show_tip): Use it.
4170 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4171 the timer.
4172 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4173
91523be9
GM
4174 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4175
4176 * window.h (WINDOW_LIVE_P): New macro.
4177
b0b7ed0e
GM
4178 * window.c (window_size_fixed): New variable.
4179 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4180 the doc string.
4181
06bccf8e
GM
4182 * eval.c (specbind): If binding a per-buffer variable which
4183 doesn't have a buffer-local value in the current buffer, change
4184 the global value by changing the value of the symbol bound in all
4185 buffers not having their own value, to make it consistent with
4186 what happens with other buffer-local variables.
4187
8692ca92
GM
4188 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4189
4190 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4191 when searching for a newline.
4192
bb3a3b50
KH
41932001-01-18 Kenichi Handa <handa@etl.go.jp>
4194
4195 * xdisp.c (display_string): Fix previous change.
4196
c2cc16fa
JR
41972001-01-18 Jason Rumney <jasonr@gnu.org>
4198
4199 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4200 GLYPH_DEBUG is defined.
4201 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4202 true for images with `:ascent 100'.
4203 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4204 meantime, use face MOUSE_FACE_ID.
4205 If first glyph isn't a character glyph, use the ASCII NUL
4206 character to determine the face.
4207 (expose_area): Do not treat left margin specially.
4208 (note_mode_line_highlight): If no local_map, check global keymap.
4209 (note_mouse_highlight): Initialize overlay.
52283633 4210 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4211 (show_scroll_bars): Remove unused function.
4212 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4213 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4214 Clip to row.
52283633 4215 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4216 (x_free_frame_resources): Unload relief colors.
4217
9c11f79e
GM
42182001-01-17 Gerd Moellmann <gerd@gnu.org>
4219
3aec8722 4220 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4221 get_next_display_element when the newline is already found.
4222 This may change the iterator's position, when its current position is
3aec8722
GM
4223 equal to the iterator's stop_charpos.
4224
f3ffc2c3
GM
4225 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4226 zero, use this method only at the end of a line.
4227
52283633 4228 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4229 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4230 if SCALABLE_FONTS_P is set.
52283633 4231
d26d6fd9
GM
4232 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4233 so that scalable fonts are included.
4234
9c11f79e
GM
4235 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4236 In the cache, use a key containing the information if scalable
4237 fonts are included.
4238 (x_load_font): Adapt to change of keys in the font cache.
4239
42402001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4241
d26d6fd9
GM
4242 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4243 XListFonts to take advantage of font caching.
4244
9c11f79e
GM
4245 * xterm.c (x_list_fonts): Ensure caching font information when
4246 called for a null frame, which is the case frequently when Emacs
4247 starts.
4248
51446987
GM
42492001-01-17 Gerd Moellmann <gerd@gnu.org>
4250
f864120f
GM
4251 * xfns.c (QCconversion): Replaces QCalgorithm.
4252
4253 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4254
4255 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4256 of :algorithm.
52283633 4257
e37d1417
GM
4258 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4259 not everything could be displayed.
4260
51446987
GM
4261 * line.h, x-list-font.c: Files removed because unused.
4262
9ad4f3e5
AI
42632001-01-17 Andrew Innes <andrewi@gnu.org>
4264
4265 * dired.c (directory_files_internal): Convert result from readdir
4266 to a unibyte string initially, to avoid possible misinterpretation
4267 of some bytes as the internal form of Emacs characters.
4268
2eda09b5
KH
42692001-01-17 Kenichi Handa <handa@etl.go.jp>
4270
4271 * fns.c (concat): Be sure to avoid putting the same `composition'
4272 property on the adjacent regions.
4273
826f3788
GM
42742001-01-16 Gerd Moellmann <gerd@gnu.org>
4275
52283633 4276 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4277 (Fscroll_right, Fscroll_left): Set it here instead, if called
4278 interactively.
4279
d57b83b3
GM
4280 * buffer.c (Fset_buffer_modified_p): Set buffer's
4281 prevent_redisplay_optimizations_p flag.
4282
826f3788 4283 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4284 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4285 with additional arg.
4286
4287 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4288 Change prototype.
826f3788 4289
826f3788
GM
4290 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4291 FROM_WHERE, for debugging.
4292
261d788b
KH
42932001-01-16 Kenichi Handa <handa@etl.go.jp>
4294
4295 * ccl.c (Fregister_ccl_program): Handle the return value of
4296 resolve_symbol_ccl_program correctly.
52283633 4297 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4298
bccee4f2
GM
42992001-01-15 Gerd Moellmann <gerd@gnu.org>
4300
e4ded23c
GM
4301 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4302 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4303
4304 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4305 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4306 the display; we didn't open it.
4307
bccee4f2
GM
4308 * dispnew.c (save_or_restore_current_matrices): Function removed.
4309 (save_current_matrix, restore_current_matrix): New functions.
4310 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4311 restore the frame's current matrix. Due to the glyph pointer
4312 setup done in adjust_glyph_matrix, there is no easy way to make
4313 saving the current matrix in the desired matrix generally correct,
4314 so don't try it.
4315
ebeccffa
KH
43162001-01-15 Kenichi Handa <handa@etl.go.jp>
4317
4318 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4319 truncation glyphs.
4320 (display_line): Optimize for wide characters.
e4ded23c 4321 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4322 partially. On ttys, produce more than one truncation glyph for
4323 multi-column characters that don't fit on the line.
4324
64388126
KH
43252001-01-13 Kenichi Handa <handa@etl.go.jp>
4326
52283633
SM
4327 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4328 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4329
8edb0a6f
JR
43302001-01-13 Jason Rumney <jasonr@gnu.org>
4331
4332 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4333 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4334 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4335 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4336
52283633
SM
4337 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4338 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4339 (x_draw_image_glyph_string): Adapt to change of image margins.
4340
4341 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4342 variables.
4343
4344 * w32bdf.c (search_file_line, get_cached_font_char)
4345 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4346
4347 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4348
4349 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4350 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4351 (Fw32_send_sys_command): Remove unused variables.
4352 (w32_msg_pump): Add parentheses.
4353
4354 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4355 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4356 Add parentheses.
4357
4956d1ef
GM
43582001-01-12 Gerd Moellmann <gerd@gnu.org>
4359
b30623be
GM
4360 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4361 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4362 being a pair of margins.
4363 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4364 to DEFVAR_LISP. Extend doc.
4365
4366 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4367 margins.
4368 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4369 pair of integers `(X . Y)', use X for the horizontal and Y for the
4370 vertical margin.
4371 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4372 (parse_image_spec): Check it.
52283633
SM
4373 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4374 (tiff_format, gif_format, gs_format):
4375 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4376
52283633
SM
4377 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4378 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4379 (x_draw_image_glyph_string): Adapt to the change of image margins.
4380
4381 * dispextern.h (struct image): Replace member `margin' with
4382 `hmargin' and `vmargin'.
4383
4554cc79
GM
4384 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4385 and GLYPHS.
4386
4387 * dispnew.c (update_text_area): Put code which decrements the
4388 stop position when the row's face extends to the end of the
3bffc665 4389 line in #if 0.
4554cc79 4390
3cccce8d
GM
4391 * xfns.c (x_set_mouse_color): Fix color allocation.
4392
4956d1ef
GM
4393 * keyboard.c: Call get_local_map with new argument list.
4394
4395 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4396
4397 * intervals.h (enum map_property): Removed.
4398 (get_local_map): Change prototype.
4399
4400 * keymap.c: Call get_local_map with new argument list.
4401 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4402
2c2ff7f2
GM
44032001-01-11 Gerd Moellmann <gerd@gnu.org>
4404
a23887b9
GM
4405 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4406 of the size needed for the tool bar string. For the last image,
4407 use a `display' property that reaches to the end of the string.
4408
a7ee2d2e
GM
4409 * xselect.c (selection_request_dpyinfo): New variable.
4410 (x_handle_selection_request): Set it.
4411 (x_selection_request_lisp_error): Don't call
4412 x_decline_selection_request if selection request's display has
4413 been closed.
4414
52283633
SM
4415 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4416 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4417
457b792c
GM
44182001-01-10 Dave Love <fx@gnu.org>
4419
4420 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4421 ${SOME_MACHINE_LISP}, not ${lisp}.
4422
c1efd260
GM
44232001-01-10 Gerd Moellmann <gerd@gnu.org>
4424
52283633
SM
4425 * xdisp.c (display_line): On ttys, produce more than one truncation
4426 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4427
ac95a621
GM
4428 * xselect.c (x_reply_selection_request): Add a comment.
4429
c1efd260
GM
4430 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4431 XkbGetNames instead of XkbGetKeyboard.
4432
1bfb1345
DL
44332001-01-10 Dave Love <fx@gnu.org>
4434
4435 * sysdep.c (random): Revert the declaration.
4436
38119822
GM
44372001-01-09 Gerd Moellmann <gerd@gnu.org>
4438
52283633
SM
4439 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4440 Call function string_bytes.
35f464a7
GM
4441 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4442
4443 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4444 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4445 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4446 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4447 the current sblock.
4448 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4449 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4450 after sweeping strings, and at the end.
4451 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4452
38119822
GM
4453 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4454 ensure that pop_message is called.
4455
4456 * keyboard.c (Fexecute_extended_command): Use a
4457 record_unwind_protect to ensure that pop_message is called.
4458
4459 * lisp.h (push_message_unwind): Add prototype.
4460
4461 * xdisp.c (push_message_unwind): New function.
4462
4463 * fileio.c (do_auto_save_unwind): Do the pop_message here
4464 instead of in Fdo_auto_save.
4465 (Fdo_auto_save): Don't call pop_message.
4466
f47a9ec4
KR
44672001-01-08 Ken Raeburn <raeburn@gnu.org>
4468
4469 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4470 in inner block.
4471
a758f97d
GM
44722001-01-08 Gerd Moellmann <gerd@gnu.org>
4473
6d0afc03
GM
4474 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4475 when increasing window's vscroll.
4476
a758f97d
GM
4477 * macros.c (Qkbd_macro_termination_hook): New variable.
4478 (syms_of_macros): Initialize and staticpro it.
4479 (pop_kbd_macro): Run kbd-macro-termination-hook.
4480
4481 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4482
1bfb1345 44832001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4484
4485 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4486 arglist, for documentation's sake.
4487
0dac6924
AI
44882001-01-06 Andrew Innes <andrewi@gnu.org>
4489
4490 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4491 of *.pdb.
4492
8182406a
AI
44932001-01-05 Andrew Innes <andrewi@gnu.org>
4494
4495 * term.c (update_end): Don't check updating_frame; for some reason
4496 this can be 0 sometimes, such as after dismissing a popup menu,
4497 and isn't necessary given the explicit frame argument.
4498
3828218c
GM
44992001-01-05 Gerd Moellmann <gerd@gnu.org>
4500
4501 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4502 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4503
2f5ded21
GM
45042001-01-04 Gerd Moellmann <gerd@gnu.org>
4505
52283633 4506 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4507
4508 * xfns.c (x_create_tip_frame): Preserve the value of
4509 face_change_count around the creation of the tip frame.
52283633 4510
2f5ded21
GM
4511 * xfns.c (last_show_tip_args): New variable.
4512 (compute_tip_xy): New function.
4513 (Fx_show_tip): Reuse an existing tip frame, if possible.
4514 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4515
dfad65fa
DL
45162001-01-04 Dave Love <fx@gnu.org>
4517
64d4ec0f
DL
4518 * editfns.c (Fformat): Doc fix.
4519
dfad65fa
DL
4520 * systime.h (set_file_times): Prototype.
4521
4522 * widget.h (EmacsFrameSetCharSize_): Prototype.
4523
4524 * sysdep.c (random, srandom): Declare explicitly.
4525
4526 * dispextern.h (move_it_vertically_backward): Declare.
4527
85fe3b5e
GM
45282001-01-04 Gerd Moellmann <gerd@gnu.org>
4529
0f2ac578
GM
4530 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4531 like in Fx_create_frame.
4532
482cca61
GM
4533 * xfaces.c (set_font_frame_param): Don't do anything for
4534 non-graphical frames.
4535
85fe3b5e
GM
4536 * window.c (Fdelete_other_windows): Set window's window_end_valid
4537 to nil when changing the window's start. Don't change the
4538 window's start when its top position hasn't changed. If we do,
4539 this will set the window's optional_new_start, which act's like a
4540 force_start during redisplay with C-x 1 M-> under particular
4541 circumstances (see report from Per Starback to emacs-pretest-bug
4542 from 2000-12-13.).
4543
3e99d3b4
GM
45442001-01-03 Gerd Moellmann <gerd@gnu.org>
4545
a77dc1ec
GM
4546 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4547 short cut at the start of the function. Add an assertion.
4548 (reseat_at_next_visible_line_start): Add an assertion.
4549
2f3cad6c
GM
4550 * window.c (Frecenter): When changing the window start, set the
4551 window's window_end_valid to nil.
4552 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4553
4554 * dispextern.h (move_it_past_eol): Add prototype.
4555
4556 * xdisp.c (move_it_past_eol): New function.
4557
3e99d3b4
GM
4558 * window.c (Fwindow_end): Doc fix.
4559
45602001-01-03 Dave Love <fx@gnu.org>
4561
52283633 4562 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4563
bafb434c
GM
45642001-01-03 Gerd Moellmann <gerd@gnu.org>
4565
4566 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4567 the enabled_p flag of the glyph row at window_end_vpos to 0.
4568 (handle_single_display_prop): Fix last change.
4569
5297fb00
RS
45702001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4571
4572 * window.c (Frecenter): Doc fix.
4573
13d6a61c
AI
45742001-01-02 Andrew Innes <andrewi@gnu.org>
4575
4576 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4577
4578 * frame.h (output_method): Add output_w32_console method.
4579 (FRAME_W32_CONSOLE_P): New macro.
4580
4581 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4582 use output_w32_console method.
4583 (Qw32_console): New Lisp_Object.
4584 (Fframep): Return it.
4585 (syms_of_frame): Init it.
52283633 4586 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4587
4588 * xfaces.c (realize_default_face): Set face foreground and
4589 background to unspecified for w32_console frames.
4590 (realize_face): Realize face cache for w32_console frames.
4591 (realize_tty_face): Accept w32_console frames.
4592
52283633 4593 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4594 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4595 necessary, even if running interactively.
4596
4597 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4598 w32_console frames.
4599
52283633
SM
4600 * w32term.c (x_update_begin):
4601 (x_update_end):
4602 (x_clear_frame):
4603 (x_ins_del_lines):
4604 (x_change_line_highlight):
4605 (x_delete_glyphs):
4606 (w32_ring_bell):
4607 (x_update_begin):
4608 (x_update_end):
4609 (w32_reassert_line_highlight):
4610 (w32_frame_rehighlight):
13d6a61c
AI
4611 (w32_frame_raise_lower): Do nothing if not w32 frame.
4612
4613 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4614
4615 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4616 system doesn't tell us directly.
4617 (Fx_display_visual_class): Implement properly.
4618
d6bb0c0d
GM
46192001-01-02 Gerd Moellmann <gerd@gnu.org>
4620
4621 * window.c (Frecenter): Handle centering in graphical frames
4622 specially. Centering on the basis of line counts doesn't work
4623 reliably with variable-height lines.
52283633 4624
315f5865
EZ
46252001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4626
4627 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4628 and al[].
4629
52283633 4630 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
4631 (update_compositions): Remove unused variable `hook'.
4632
4633 * intervals.c (get_local_map): Remove unused variable `tem'.
4634
4635 * doprnt.c (doprnt1): Remove unused variable `size'.
4636
4637 * fns.c (Flength): Remove unused variable `tail'.
4638 (Fdelete): Remove unused variable `size'.
4639
4640 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
4641 and `gcpro2'.
4642
52283633 4643 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
4644
4645 * data.c (find_symbol_value): Remove extra 3rd argument in the
4646 call to swap_in_symval_forwarding.
4647
52283633 4648 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
4649
4650 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
4651 (trivial_regexp_p): Remove unused variable `c'.
4652 (boyer_moore): Remove unused variable `k'.
4653
4654 * indent.c (current_column): Remove unused variable `stopchar'.
4655 (Fcompute_motion): Remove unused variable `contin'.
4656
4657 * casefiddle.c (casify_object): Remove unused variable `tolen'.
4658
4659 * dired.c (directory_files_internal): Fix a typo in a comment.
4660 Remove an unused variable `handler'.
52283633 4661 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
4662 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
4663 on BSD4_2.
4664
52283633 4665 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
4666
4667 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
4668 and `buf'.
4669 (Fmarker_insertion_type): Remove unused variable `buf'.
4670
4671 * insdel.c (make_gap): Remove unused variable `result'.
4672
52283633 4673 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
4674 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
4675 (menu_bar_items): Remove unused function-scope variable `tem'.
4676
4677 * fontset.c (fontset_ref): Remove unused variable `i'.
4678 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 4679 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
4680 (make_fontset_for_ascii_face): Remove unused variable `name'.
4681 (fs_load_font): Remove unused variable `font_idx'.
52283633 4682 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
4683 (list_fontsets): Remove unused variable `tail'.
4684 (Fnew_fontset): Remove unused variables `family' and `registry'.
4685 (accumulate_font_info): Remove unused variable `tmp'.
4686 (Ffontset_font): Remove unused variable `id'.
4687 (syms_of_fontset): Remove unused variable `i'.
4688
4689 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4690 to x_term_init.
4691 (lookup_image): Remove unused variable `file'.
4692 (xbm_load): Remove unused variables `bitmap_data', `height', and
4693 `width'. Remove function-local variable `i', leave the
4694 block-local one.
4695 (gif_load): Remove unused variable `inc'.
4696
52283633 4697 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4698 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4699 leave only the one in the inner block.
4700
4701 * xfaces.c (face_fontset, realize_default_face): Remove unused
4702 variable `fontset'.
4703 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4704
4705 * term.c (encode_terminal_code): Remove unused variable `c'.
4706
4707 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4708 char *' instead of `char *'.
4709
4710 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 4711 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
4712 (Fchar_category_set): Remove unused variables `val', `charset',
4713 `c1' and `c2'.
4714
52283633
SM
4715 * coding.c (detect_coding_iso2022, setup_coding_system):
4716 Remove unused variable `i'.
315f5865
EZ
4717 (detect_coding_mask): Remove unused variable `idx'.
4718 (detect_coding): Remove unused variable `i'.
4719 (ccl_coding_driver): Remove unused variable `result'.
4720 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 4721 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
4722 (encode_coding_string): Remove unused variables `gcpro1' and
4723 `saved_coding_symbol'.
4724 (Ffind_coding_systems_region_internal): Remove function-local
4725 variable args[], leave only the block-local one.
4726 (code_convert_region1): Remove unused variable `len'.
4727
4728 * charset.c (char_printable_p): Remove unused variable `chars'.
4729 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4730 (str_to_multibyte): Remove unused variable `c'.
4731
4732 * window.c (size_window): Remove block-local variable `min_size'.
4733
4734 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4735 `header_line_height'.
4736 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4737 enum display_element_type.
4738
1a8a9daf
GM
47392001-01-02 Gerd Moellmann <gerd@gnu.org>
4740
6dde6abc 4741 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4742 statements that call X. Save away the error message in a local copy.
4743
1883b2c6
GM
4744 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4745 the start.
4746
a13be207
GM
4747 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4748 in or at the start of invisible text.
4749
1a8a9daf
GM
4750 * dispnew.c (update_window): Don't check_current_matrix_flags.
4751
3608c0f9
JR
47522001-01-01 Jason Rumney <jasonr@gnu.org>
4753
4754 * w32fns.c (x_figure_window_size): Do not allow new_height and
4755 new_width of frame to override specified values.
4756
abb1acc4
KH
47572000-12-30 Kenichi Handa <handa@etl.go.jp>
4758
52283633 4759 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4760
762a68ec
GM
47612000-12-29 Gerd Moellmann <gerd@gnu.org>
4762
52283633 4763 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4764 (update_window) [GLYPH_DEBUG]: Call it.
4765 (scrolling_window): Prevent including current rows which are below
4766 what's displayed in the window.
4767
4768 * xdisp.c (try_window_reusing_current_matrix)
4769 <new start <= old start>: Disable rows in the current matrix
4770 which are below the window after scrolling.
52283633 4771
762a68ec
GM
4772 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4773 is zero. It's not worth the complexity.
4774 (invisible_text_between_p): Put in #if 0 because unused.
4775
2d5912c1
GM
47762000-12-28 Gerd Moellmann <gerd@gnu.org>
4777
46f6a258
GM
4778 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4779 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4780
89f93679
GM
4781 * keyboard.c (echo_char): If C is an integer, always call
4782 push_key_description. Former code could signal an invalid
4783 character error.
4784
4785 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4786 If set, print multibyte text.
4787 (Fsingle_key_description): Call push_key_description with
4788 FORCE_MULTIBYTE set.
4789 (describe_buffer_bindings): Likewise.
4790
4791 * lisp.h (push_key_description): Add prototype.
4792
c06017fb
GM
4793 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4794 around the call to redisplay_internal.
4795
f1d2ce7f
GM
4796 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4797
2d5912c1
GM
4798 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4799
9371f831
KH
48002000-12-28 Kenichi Handa <handa@etl.go.jp>
4801
4802 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4803 (ccl_driver): New local variable `extra_bytes'.
4804
4805 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4806
52283633
SM
4807 * coding.c (setup_coding_system):
4808 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
4809 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4810
0c80628a
KH
48112000-12-28 Kenichi Handa <handa@etl.go.jp>
4812
4813 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4814 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4815 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
4816 (decode_composition_emacs_mule): New function.
4817 (decode_coding_emacs_mule): Decode composition sequence by calling
4818 decode_composition_emacs_mule.
4819 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
4820 (encode_coding_emacs_mule): Changed from macro to function.
4821 If a text contains compositions, encode them correctly.
0c80628a
KH
4822 (setup_coding_system): Set coding->commong_flags for emacs-mule so
4823 that decoding and encoding are required.
4824
3e32cc27
GM
48252000-12-27 Gerd Moellmann <gerd@gnu.org>
4826
5e25feee
GM
4827 * xfaces.c (PT_PER_INCH): New macro.
4828 (xlfd_point_size): Compute real point size from font's pixel size.
4829 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
4830 instead of 72.
4831
892d8fcd
GM
4832 * .gdbinit: Comment out the line pointing to the Lesstif source
4833 directory.
4834
12c8b416
GM
4835 * window.c (Frecenter): Use displayed_window_lines instead
4836 of window_internal_height.
4837
6061fbf0
GM
4838 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4839 instead of x-toolkit-scroll-bars-p.
4840 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
4841
4842 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4843 instead of x-toolkit-scroll-bars-p.
4844 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 4845
3e32cc27
GM
4846 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
4847 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
4848 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
4849 New variables.
4850 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
4851 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
4852 (build_frame_matrix_from_leaf_window): Remove unused code.
4853 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
4854 redisplay history.
4855 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
4856 (update_window) [GLYPH_DEBUG]: Likewise.
4857 (syms_of_display): Defsubr dump-redisplay-history.
4858
31798cfe
GM
48592000-12-23 Gerd Moellmann <gerd@gnu.org>
4860
f717c2ba
GM
4861 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4862 the end of the prompt. Set echo_after_prompt to the offset
4863 of echoptr in echobuf.
4864
aeb2b8fc
GM
4865 * xdisp.c (init_from_display_pos): Pop until the iterator's
4866 stack is empty; there may be frames for stretch or images
4867 on the stack.
4868
31798cfe
GM
4869 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4870 (save_or_restore_current_matrix): New function for the same
4871 purpose, but more efficient.
4872 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4873
f8156156
EZ
48742000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4875
4876 * xdisp.c (syms_of_xdisp): Fix last change.
4877
bdd6d4e8
GM
48782000-12-23 Gerd Moellmann <gerd@gnu.org>
4879
4880 * xdisp.c (syms_of_xdisp): Doc fix.
4881
4882 * xdisp.c (redisplay_window): Remove label restore_buffers;
4883 use finish_scroll_bars instead to make sure that scroll bars
4884 are redeemed. If we don't do this, flickering can result from
4885 scroll bars being destroyed and recreated.
4886
9436cdf9
JR
48872000-12-22 Jason Rumney <jasonr@gnu.org>
4888
4889 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4890 in the wrong colors when the foreground is not black.
4891 (expose_window): Don't redraw the window that's currently being
4892 updated.
4893
951f9df5
GM
48942000-12-22 Gerd Moellmann <gerd@gnu.org>
4895
856ff7a7
GM
4896 * window.c (size_window): When setting the window's too_small_ok
4897 flag, compare old size with minimum size depending on WIDTH_P,
4898 don't compare with window_min_width.
52283633 4899
951f9df5
GM
4900 * window.c (delete_window): Simplify somewhat.
4901 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4902 freeing window matrices. The flag windows_or_buffers_changed is
4903 set, so the next redisplay will consider all windows; this should
4904 suffice.
4905
886bc933
KH
49062000-12-22 Kenichi Handa <handa@etl.go.jp>
4907
4908 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4909
4910 * ccl.h (struct ccl_program): New member cr_consumed.
4911
4912 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4913 (CCL_READ_CHAR): Handle EOL conversion here.
4914 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4915
177f4e88
GM
49162000-12-21 Gerd Moellmann <gerd@gnu.org>
4917
52283633 4918 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4919
4920 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4921 otherwise tabs of different size compare equal.
4922
4923 * callint.c (Fcall_interactively): Prevent a compiler warning.
4924
4925 * print.c (print_unwind): Return nil.
4926 (PRINTDECLARE): Initialize all local variables.
4927 (print_preprocess): Add a default case.
4928
8e15274f
GM
4929 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4930
4931 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4932
52283633 4933 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4934 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4935
4936 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4937
4938 * dispnew.c (ensure_frame_matrix): Removed.
4939 (save_frame_matrix, restore_frame_matrix): New functions.
4940 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4941
4942 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4943 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4944
99012074
AI
49452000-12-21 Andrew Innes <andrewi@gnu.org>
4946
4947 * w32term.c (x_update_begin): Regenerate the palette here, rather
4948 than for each window.
4949
4950 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4951 palette is NULL, since this corrupts memory! Also get
4952 display_info reference from frame.
4953
29ef7d2d
JR
49542000-12-21 Jason Rumney <jasonr@gnu.org>
4955
4956 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
4957
4958 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
4959 to avoid returning without releasing it.
3e27fa1f 4960
3f9d67a6
KH
49612000-12-21 Kenichi Handa <handa@etl.go.jp>
4962
587fc3f9
KH
4963 * keymap.c (push_key_description): Don't convert eight-bit-control
4964 and eight-bit-graphic to multibyte character.
4965
3f9d67a6
KH
4966 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
4967 generic character and CODE1 is nil, return the smallest character
4968 in CHARSET.
4969
774ba8c9
DL
49702000-12-20 Dave Love <fx@gnu.org>
4971
4972 * s/osf5-0.h (NSIG): Don't redefine.
4973
88416888
SM
49742000-12-20 Stefan Monnier <monnier@cs.yale.edu>
4975
4976 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
4977 excluding menu-bar and tool-bar.
4978 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
4979 (menu_item_p): Remove.
4980 (where_is_internal_1): Don't ignore menu-items.
4981
a6426c6f
GM
49822000-12-20 Gerd Moellmann <gerd@gnu.org>
4983
03ff8aab
GM
4984 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
4985 into account.
4986
4987 * window.c (make_window): Initialize window's min_hscroll.
4988 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
4989 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
4990 to zero.
4991 (struct saved_window): New member min_hscroll.
4992 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
4993 (Fset_window_configuration): Set window's min_hscroll.
4994 (save_window_save): Save window's min_hscroll.
4995 (compare_window_configurations): Compare min_hscroll values.
4996
4997 * window.h (struct window): New member min_hscroll.
4998
4999 * keyboard.c (echo_prompt): Prevent a compiler warning.
5000
8de4aaf8
GM
5001 * xdisp.c (try_cursor_movement): Fix last change. The real
5002 condition is that PT is at the end of the row, and should
5003 be displayed at the start of the next row.
52283633 5004
3f7e3031
GM
5005 * xdisp.c (try_cursor_movement): If we end on a partially
5006 visible line, end we already decided to scroll, return -1.
5007
a6426c6f
GM
5008 * dispextern.h (ensure_frame_matrix): Add prototype.
5009
5010 * window.c (delete_window, Fsplit_window)
5011 (Fset_window_configuration): Call ensure_frame_matrix.
5012
52283633
SM
5013 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5014 New functions.
a6426c6f
GM
5015 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5016 completed, call fake_current_matrices instead of marking frame
5017 garbaged.
5018
57fa2774
JR
50192000-12-20 Jason Rumney <jasonr@gnu.org>
5020
5021 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5022
d925df90
EZ
50232000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5024
5025 * fns.c (Frequire): Doc fix.
5026
7b93a85b
GM
50272000-12-19 Gerd Moellmann <gerd@gnu.org>
5028
52283633 5029 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5030
c74e645b
GM
5031 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5032 currently displaying a message.
5033
7b93a85b
GM
5034 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5035 xterm.h.
5036 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5037
90d97e64
AI
50382000-12-18 Andrew Innes <andrewi@gnu.org>
5039
5040 * w32.c (w32_strerror): New function.
5041
5042 * w32.h (w32_strerror): New extern.
5043
5044 * w32fns.c (Fw32_shell_execute): Use it.
5045
91c9e6ce
GM
50462000-12-18 Gerd Moellmann <gerd@gnu.org>
5047
5048 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5049
6f4745e2
EZ
50502000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5051
5052 * msdos.c (IT_set_face): Obey inverse_video.
5053
c9e088ce
KH
50542000-12-18 Kenichi Handa <handa@etl.go.jp>
5055
5056 * dired.c (directory_files_internal): Always return decoded filenames.
5057
c3695f5f
GM
50582000-12-18 Gerd Moellmann <gerd@gnu.org>
5059
52d8e4ff
GM
5060 * xterm.c (x_connection_closed): Prevent being called recursively
5061 because of an error condition in XtCloseDisplay.
52283633 5062
62be9979
GM
5063 * xdisp.c (init_iterator): If noninteractive, and the frame's
5064 face cache is null, make one.
5065
52283633 5066 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5067
c3695f5f
GM
5068 * process.c (wait_reading_process_input): Check for pending
5069 input when running timers.
5070
78555fbe
EZ
50712000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5072
52283633 5073 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5074
b2b36264
KH
50752000-12-18 Kenichi Handa <handa@etl.go.jp>
5076
5077 * process.c (read_process_output): Don't run a filter if the code
5078 decoder produces nothing but carryover.
5079
9c543fbf
AI
50802000-12-17 Andrew Innes <andrewi@gnu.org>
5081
5082 * w32.c (sys_rename): Only check errno against EEXIST, and not
5083 EACCES, when determining whether rename failed because the target
5084 exists. This was resulting in indefinite looping on Windows 9x if
5085 the source file was locked by another process.
5086
5087 * w32fns.c (Ffile_system_info): New function.
5088 (syms_of_w32fns): Defsubr it.
5089
10c2b5a8
GM
50902000-12-17 Gerd Moellmann <gerd@gnu.org>
5091
b0228ace
GM
5092 * window.c (coordinates_in_window): Fix computation for
5093 position on vertical line between mode lines.
5094
10c2b5a8
GM
5095 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5096 Don't alter tip_frame or tip_window.
5097 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5098 was deleted.
5099
c844a81a
GM
5100 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5101 Don't alter tip_frame or tip_window.
5102 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5103 was deleted.
5104
6c825f8e
EZ
51052000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5106
5107 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5108 be consistent with the doc string. Reported by NAKAJIMA Mikio
5109 <minakaji@osaka.email.ne.jp>.
5110
af4bb4c8
KH
51112000-12-16 Kenichi Handa <handa@etl.go.jp>
5112
5113 * xfaces.c (Vface_ignored_fonts): New variable.
5114 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5115 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5116
8062e53a
GM
51172000-12-15 Gerd Moellmann <gerd@gnu.org>
5118
e87b8809
GM
5119 * dispnew.c (update_window): Detect pending input every nth line
5120 updated, i.e. do it depending on real work done, and not on the
5121 vpos of the line.
5122
5123 * xterm.c (expose_window): Don't redraw the window that's
5124 currently being updated.
5125
a6768cc5
GM
5126 * window.c (Fset_window_point): Remove test for
5127 cursor_in_non_selected_windows.
5128
4ea7fdca
GM
5129 * lread.c (read1): Recognize end of file after `\\'.
5130
8062e53a
GM
5131 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5132 not unwind_create_frame.
5133
bb7959c1
GM
51342000-12-15 Dave Love <fx@gnu.org>
5135
5136 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5137 bcopy & al.
5138
5139 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5140
ced04c42
KH
51412000-12-15 Kenichi Handa <handa@etl.go.jp>
5142
c5443913
KH
5143 * coding.c (setup_coding_system): Clear all members of the struct
5144 coding_system at first.
bc137305
KH
5145 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5146 argument.
5147 (code_convert_region): Don't override coding->src_multibyte and
5148 coding->dst_multibyte.
c5443913 5149
ced04c42
KH
5150 * fns.c (Fmd5): Docstring improved.
5151
c2d7f289
MB
51522000-12-15 Miles Bader <miles@gnu.org>
5153
5154 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5155 are actually marked as mode-lines; otherwise use
5156 estimate_mode_line_height.
5157
9d7d9263
GM
51582000-12-14 Gerd Moellmann <gerd@gnu.org>
5159
5160 * editfns.c (Fformat): Prevent a buffer overrun when the format
5161 specifies a precision.
5162
7cf0153a
EZ
51632000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5164
5165 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5166 argument is outside the range [2..3].
5167
1de0f662
AI
51682000-12-14 Andrew Innes <andrewi@gnu.org>
5169
5170 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5171 nothing to do. Bind inhibit-quit.
5172 (tip_frame): Make it a Lisp_Object.
5173 (x_create_tip_frame): Set tip_frame after it has been added to
5174 Vframe_list.
5175 (Fx_show_tip): Don't set tip_frame here.
52283633 5176 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5177 (unwind_create_frame, unwind_create_tip_frame): New functions.
5178 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5179 while a frame is only partially constructed.
5180
5181 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5182 (x_free_frame_resources): New function.
5183 (x_destroy_window): Use it.
5184
02387dcc
GM
51852000-12-14 Gerd Moellmann <gerd@gnu.org>
5186
5187 * xfns.c (Fx_backspace_delete_keys_p): New function.
5188 (syms_of_xfns): Defsubr it.
5189
5190 * config.in (HAVE_XKBGETKEYBOARD): Add.
5191
0544ef49
KH
51922000-12-14 Kenichi Handa <handa@etl.go.jp>
5193
98d62747
KH
5194 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5195 Always store string in multibyte representation in echobuf.
5196 (echo_char): Always store string in multibyte representation in
5197 echobuf.
5198 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5199 (read_key_sequence): Adjusted for the change of echo_prompt.
5200
a20193cd
KH
5201 * fns.c (Fmd5): Docstring improved.
5202
191b83b6
KH
5203 * lisp.h (detect_coding_system): Prototype adjusted.
5204
0544ef49
KH
5205 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5206 (detect_coding_emacs_mule, detect_coding_iso2022,)
5207 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5208 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5209 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5210 (detect_coding_mask, detect_coding_system): New argument
5211 MULTIBYTEP. Callers changed.
1da1bb05
KH
5212 (decode_coding_string): Set coding->src_multibyte and
5213 coding->dst_multibyte before calling detect_coding and detect_eol.
5214 Update them after some coding system is detected.
52283633 5215
d5b3eb1b
SM
52162000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5217
5218 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5219
5220 * keyboard.c (menu_bar_items, tool_bar_items):
5221 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5222
f7f8bb69
GM
52232000-12-13 Gerd Moellmann <gerd@gnu.org>
5224
52283633 5225 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5226 New variables.
5227 (unwind_create_frame, unwind_create_tip_frame): New functions.
5228 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5229 while a frame is only partially constructed.
5230
5231 * xterm.h (x_free_frame_resources): Declare.
5232
5233 * xterm.c (x_free_frame_resources): New function.
5234 (x_destroy_window): Use it.
5235
e10da507
GM
5236 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5237 don't interrupt the update for pending input initially, i.e.
5238 update at least some lines.
5239
5240 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5241
d5b3eb1b 5242 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5243
5244 * xfns.c (gray_bitmap_bits): Declare `char *'.
5245
90aa2856
GM
52462000-12-12 Gerd Moellmann <gerd@gnu.org>
5247
5248 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5249 lines start with a relief line.
5250
a308c9cd
DL
52512000-12-12 Dave Love <fx@gnu.org>
5252
5253 * window.c (Fdisplay_buffer): Doc fix.
5254 (Fwindow_list): Remove unused var.
5255
5256 * buffer.h (mmap_set_vars): Declare.
5257
5258 * window.h (Fset_window_point): Declare.
5259
d575011f
EZ
52602000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5261
bf6282d2 5262 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5263 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5264 variable `area'. When looking for a row under (X,Y), give up if some
5265 of the previous rows is not enabled.
d575011f 5266
ecf4d726
GM
52672000-12-12 Gerd Moellmann <gerd@gnu.org>
5268
2ebf6139
GM
5269 * window.c (Fset_window_point): If displaying cursors in windows
5270 other than the selected window, make sure redisplay updates
5271 other windows to show the new value of point in the window.
5272
5273 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5274
bfdb75ee
GM
5275 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5276 the buffer is the sole visible buffer when in the mini-buffer.
5277
52283633 5278 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5279 Bind `inhibit-read-only' to t.
5280 (unwind_with_echo_area_buffer): Use AREF.
5281
c0006262
GM
5282 * xfns.c (Fx_hide_tip): Simplified.
5283
52283633
SM
5284 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5285 instead of `1'.
e9a59cad 5286
ecf4d726
GM
5287 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5288
e5959a9a
GM
52892000-12-11 Gerd Moellmann <gerd@gnu.org>
5290
a3642e49 5291 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5292
44b5a125
GM
5293 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5294 nothing to do. Bind inhibit-quit.
5295 (tip_frame): Make it a Lisp_Object.
5296 (x_create_tip_frame): Set tip_frame after it has been added to
5297 Vframe_list.
5298 (Fx_show_tip): Don't set tip_frame here.
5299
5300 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5301
5302 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5303 Lisp_Object.
5304
5305 * dispextern.h: Change external declaration of tip_frame.
5306
d990421f
GM
5307 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5308 return an empty string.
5309
4db87380
GM
5310 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5311 of the window's update_mode_line flag, since the former is set by
5312 force-mode-line-update, not the latter. This makes
5313 column-number-mode slightly faster.
52283633 5314
e5959a9a
GM
5315 * xdisp.c (try_window_id) <all changes above window start>:
5316 Set the cursor.
5317
169fe44e
GM
53182000-12-11 Paul Eggert <eggert@twinsun.com>
5319
5320 * config.in (HAVE_FTELLO): Remove.
5321 (HAVE_FSEEKO): Add.
5322 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5323 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5324 HAVE_FTELLO.
5325 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5326 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5327
59ec59ae
MB
53282000-12-11 Miles Bader <miles@gnu.org>
5329
5330 * window.c (displayed_window_lines): Don't round up when
5331 converting empty space at bottom to lines.
ff904dd6
MB
5332 Handle non-newline-terminated final lines properly.
5333 (Fwindow_text_height): New function (used to be in lisp).
5334 (syms_of_window): Initialize it.
59ec59ae 5335
42ebfa31
SM
53362000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5337
5338 * syntax.c (scan_lists): Check that the right quote char has the
5339 right Sstring syntax when jumping over strings.
5340 (init_syntax_once): Use Smax rather than 13.
5341
5cdb3cf3
MB
53422000-12-09 Miles Bader <miles@gnu.org>
5343
5344 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5345 with PARTIALLY, inverting the sense.
5346 (window_scroll_pixel_based): Scroll partially visible lines into
5347 place if we hit the beginning or end of the buffer.
a12167c5
MB
5348 (displayed_window_lines): Don't include partially visible lines.
5349 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5350
842b2a94
GM
53512000-12-08 Gerd Moellmann <gerd@gnu.org>
5352
5353 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5354
5355 * tparam.c (tparam1): Change the way buffers are reallocated to be
5356 portable and less obfuscated.
5357
5358 * termcap.c (tgetent): Change the way buffers are reallocated to
5359 be portable and less obfuscated.
5360
5361 * macros.c (store_kbd_macro_char): Change the way buffers are
5362 reallocated to be portable and less obfuscated.
5363
5364 * lread.c (read1): Change the way buffers are reallocated to be
5365 portable and less obfuscated.
5366
5367 * doc.c (Fsubstitute_command_keys): Change the way buffers
5368 are reallocated so that it is portable.
5369
137cad7c
EZ
53702000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5371
5372 * dosfns.c (Ffile_system_info): New function.
5373 (syms_of_dosfns): Defsubr it.
5374
5c7f629c
SM
53752000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5376
5377 * alloc.c (gc_sweep): Add comment.
5378
959e647d
GM
53792000-12-07 Gerd Moellmann <gerd@gnu.org>
5380
52283633
SM
5381 * sound.c (vox_configure): Change order of ioctls.
5382 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5383 Ignore errors when changing volume.
5384 (vox_close): Don't reset the device.
5385
926b7e5e
GM
5386 * process.c (read_process_output): Make sure the process marker's
5387 position is valid when the process buffer is changed in
5388 after-change functions. W3 does that.
52283633 5389
959e647d
GM
5390 * xfns.c (x_free_gcs): New function.
5391
5392 * xterm.h (x_free_gcs): Add prototype.
5393
5394 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5395 freeing GCs here.
5396
5397 * xterm.c (x_destroy_window): Call x_free_gcs so that
5398 resources of non-toolkit X windows will be freed.
5399
478ea067
AI
54002000-12-07 Andrew Innes <andrewi@gnu.org>
5401
5402 * w32fns.c (xlfd_charset_of_font): Fix last change.
5403
fbee3231
DL
54042000-12-06 Dave Love <fx@gnu.org>
5405
67292061
DL
5406 * md5.h (__P): Don't define -- it comes from config.h.
5407
fbee3231
DL
5408 * strftime.c: Change some #if foo to #ifdef foo.
5409
4ee87dbb
AI
54102000-12-06 Andrew Innes <andrewi@gnu.org>
5411
5412 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5413
52283633 5414 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5415 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5416 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5417
9765b4a4
GM
54182000-12-06 Gerd Moellmann <gerd@gnu.org>
5419
d285b373
GM
5420 * alloc.c (gc_sweep): Prevent symbols read during loadup
5421 from being freed.
5422
384333ee
GM
5423 * xdisp.c (underlying_face_id): New function.
5424 (handle_face_prop, face_before_or_after_it_pos): Use it
5425 to determine the face ``under'' a string. Let strings inherit
5426 the face of the buffer under them.
5427
5428 * xfaces.c (face_at_string_position): Update function comment.
52283633 5429
d4b72d58
GM
5430 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5431 matrix if the window's left position has changed; we need to
5432 redraw it in this case.
5433
5434 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5435
e1d05387
GM
5436 * window.c (coordinates_in_window): Check mouse on mode-line or
5437 header-line first.
5438
eb1b0c74
GM
5439 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5440 advertized by the function documentation.
5441
d94d636f
GM
5442 * window.c (syms_of_window): Doc fix.
5443
3887b449
GM
5444 * sound.c (vox_configure): Set volume for left and right channel.
5445 (sound_cleanup): Return nil.
5446
efc8f57a
GM
5447 * xdisp.c (move_it_by_lines): Fix paren typo.
5448
9765b4a4
GM
5449 * xterm.c (x_load_font): Don't use the font's max_bounds for
5450 computing the height of the font. If max_bounds' ascent or
5451 descent are greater than the font's ascent or descent, this means
5452 glyphs overlap, which should be handled now by redisplay.
5453
6529ed87
GM
5454 * window.c (Veven_window_heights): New variable.
5455 (syms_of_window): DEFVAR_LISP it.
5456 (Fdisplay_buffer): Check Veven_window_heights before evening the
5457 window heights.
52283633 5458
0eb2ecde
MB
54592000-12-06 Miles Bader <miles@gnu.org>
5460
5461 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5462 update `default-frame-alist' instead of setting no frame parameters.
5463
03d7a167
KH
54642000-12-06 Kenichi Handa <handa@etl.go.jp>
5465
5466 * composite.c (update_compositions): Fix typo (use the correct
5467 variable).
5468
5f8803c2
JR
54692000-12-05 Jason Rumney <jasonr@gnu.org>
5470
5471 * md5.h: Remove underscores from function declarations.
5472 (__attribute__, __alignof__) [!__GNUC__]: Define.
5473
5474 * md5.c: Delay include of md5.h until after namespace cleaning.
5475
c28a075b
JR
5476 * makefile.w32-in (fns.o): Depend on md5.h
5477 (md5.o): New target.
5478 (sunfns.o): Remove.
5479
5480 * makefile.nt: Likewise.
5481
ff3c7056
JR
54822000-12-05 Jason Rumney <jasonr@altavista.net>
5483
5484 * w32term.c (expose_area): Complete last change.
5485
0c21eeeb
KR
54862000-12-05 Ken Raeburn <raeburn@gnu.org>
5487
5488 * minibuf.c: Include intervals.h.
5489
f201d732
JR
54902000-12-05 Jason Rumney <jasonr@gnu.org>
5491
5492 * w32term.c (x_produce_glyphs): If a font for a component of
5493 a composition is not found, use 1 pixel dot ascent and 0 dot
5494 descent value to avoid displaying terribly tall empty boxes.
5495 (expose_area): Pass x-coordinate relative to the exposed
5496 area to x_draw_glyphs instead of a window-relative coordinate.
5497
21999ab9
GM
54982000-12-05 Gerd Moellmann <gerd@gnu.org>
5499
4d2036e4
GM
5500 * xdisp.c (next_element_from_ellipsis): Save face before selective
5501 display in saved_face_id, and set face_before_selective_p.
5502 (reseat_1): Reset face_before_selective_p.
5503 (append_space, extend_face_to_end_of_line): If iterator's
5504 face_before_selective_p is set, use the face from saved_face_id.
5505 (extend_face_to_end_of_line): For tty frames, make sure to
5506 use the right face id when producing spaces at the end of
5507 the line.
5508
5509 * dispextern.h (struct it): Add face_before_selective_p.
5510
52be17cc
GM
5511 * keyboard.c (record_char): Don't record identical help-echo
5512 events in recent_keys.
5513
8a4f36cc
GM
5514 * xterm.c [USE_X_TOOLKIT]: Close the display.
5515 (xim_close_dpy): Handle case that the display has been closed.
5516
57d6e381
GM
5517 * xterm.c (x_destroy_window): Reset the frame's X window after
5518 destroying it.
5519
21999ab9
GM
5520 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5521 variable window_width.
5522 (line_draw_cost): Fix code skipping over spaces at the end of the
5523 line when must_write_spaces is not set.
5524 (scrolling_window): Fix code inserting runs in list of all runs.
5525
91372bb7
KH
55262000-12-05 Kenichi Handa <handa@etl.go.jp>
5527
5528 * coding.c (setup_coding_system): Be sure to initialize
5529 coding->category_idx.
5530
6c083b4c
GM
55312000-12-04 Gerd Moellmann <gerd@gnu.org>
5532
0c68ce6f 5533 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5534
6452929e
GM
5535 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5536 area to x_draw_glyphs instead of a window-relative coordinate.
5537
d7f31e22
GM
5538 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5539 error in the message.
5540
ae18aa3b
GM
5541 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5542 timer after having read a key. It's not good for code reading
5543 several keys in a loop, like an input method.
5544
caa15ef7
GM
5545 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5546 record undo information for format-decode.
5547
5548 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5549 current buffer is read-only, not if it isn't.
5550
6c083b4c
GM
5551 * keyboard.c (record_char): Record `help-echo' input events
5552 in recent_keys only if they display some help. Don't record
5553 `help-echo' events as macro char.
5554
caa15ef7
GM
55552000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5556
5557 * editfns.c (save_excursion_restore): Don't move point
5558 in another window if it is showing the wrong buffer.
5559 Avoid the call to Fwindow_live_p, for speed.
5560
5a13529b
KH
55612000-12-04 Kenichi Handa <handa@etl.go.jp>
5562
e225faa7
KH
5563 * xfaces.c (struct font_name): New member registry_priority.
5564 (split_font_name): Initialize the above member to zero.
5565 (concat_font_list): New function.
5566 (font_list): Include fonts of all alternative registries.
5567 (FONT_POINT_SIZE_QUANTUM): New macro.
5568 (better_font_p): Ignore point size difference less than
5569 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5570
e89648b4
KH
5571 * xterm.c (x_produce_glyphs): If a font for a component of
5572 a composition is not found, use 1 pixel dot ascent and 0 dot
5573 descent value to avoid displaying terribly tall empty boxes.
5574
5a13529b
KH
5575 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5576
d7935eb6
KR
55772000-12-03 Ken Raeburn <raeburn@gnu.org>
5578
5579 * coding.h (code_convert_string1): Declare.
5580
5581 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5582
52283633 5583 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5584
0dd5e255
JR
55852000-12-02 Jason Rumney <jasonr@gnu.org>
5586
5587 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5588 correctly for single byte character case.
5589 (w32_per_char_metric): Do not try to make any assumptions about
5590 the metrics of BDF fonts.
250cfece 5591 (x_estimate_mode_line_height): If `mode-line' face
52283633 5592 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5593 (note_mouse_highlight): Change the cursor shape on the vertical
5594 border between windows [not enabled].
5595
5596 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5597
5598 * w32fns.c (Fx_create_frame): Reintroduce the call to
5599 face-set-after-frame-defaults.
5600 (Vx_window_horizontal_drag_shape): New variable.
5601 (syms_of_xfns): DEFVAR_LISP it.
5602 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5603 enabled].
0dd5e255 5604
b5d8d2ca
GM
56052000-12-02 Simon Josefsson <simon@josefsson.org>
5606
5607 * fns.c (Fmd5): Use a different logic to decide the coding system
5608 to use.
5609
5610 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5611
fbb87147
EZ
56122000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5613
52283633 5614 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5615
447e9da0
GM
56162000-12-01 Gerd Moellmann <gerd@gnu.org>
5617
7708ced0
GM
5618 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5619 height for YNegative.
5620 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5621 height; also see comment there.
5622
447e9da0
GM
5623 * window.c (coordinates_in_window): Handle computations for
5624 positions on the vertical bar and fringes differently for
5625 window-system frames. Consider some pixels near the vertical bar
5626 as on the bar if the frame doesn't have vertical scroll bars.
5627 Associate positions between mode or header lines with the
5628 right window, the left one.
5629
86d1db20
JR
56302000-12-01 Jason Rumney <jasonr@gnu.org>
5631
5632 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5633
5634 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
5635 invalid frame.
5636
a1d58e5b
GM
56372000-12-01 Gerd Moellmann <gerd@gnu.org>
5638
52283633 5639 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
5640 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
5641 (save_window_save, Fset_window_configuration): Save/restore
5642 window's orig_top and orig_height.
5643
89c609af
JR
56442000-12-01 Jason Rumney <jasonr@gnu.org>
5645
4d177746 5646 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 5647
89c609af
JR
5648 * w32fns.c (x_set_cursor_color): Fix last change.
5649
eccc05db
GM
56502000-11-30 Gerd Moellmann <gerd@gnu.org>
5651
31b6671b
GM
5652 * xdisp.c (echo_area_display): If cursor is in the echo area, make
5653 sure that the next redisplay displays the minibuffer, so that
5654 the cursor will be replaced with what the minibuffer wants.
5655
eccc05db
GM
5656 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
5657 #ifndef instead of using #if.
5658 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
5659 USE_TOOLKIT_SCROLL_BARS is defined.
5660
162de750
JR
56612000-11-30 Jason Rumney <jasonr@gnu.org>
5662
5663 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
5664 x_display_cursor.
5665
693c4692
GM
56662000-11-30 Gerd Moellmann <gerd@gnu.org>
5667
5668 * fns.c (Fmd5): Doc fix.
5669
b5d8d2ca 56702000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
5671
5672 * fns.c (Fmd5): New function.
5673 (syms_of_fns): Defsubr md5.
5674
5675 * Makefile.in (obj): Add md5.o
5676
b02cd40b
GM
56772000-11-30 Gerd Moellmann <gerd@gnu.org>
5678
edfb795e
GM
5679 * md5.h, md5.c: New files, taken from glibc.
5680
df3aedcf
GM
5681 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5682
b02cd40b 5683 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 5684 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 5685
8b5176cd
SM
56862000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5687
5688 * eval.c (Frun_hooks): Allow 0 arguments.
5689
346598f1
GM
56902000-11-29 Gerd Moellmann <gerd@gnu.org>
5691
f9396e03
GM
5692 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5693 is over the menu bar widget, say it's not on the frame.
5694
4a967a9b
GM
5695 * xfns.c (Fx_create_frame): Reintroduce the call to
5696 face-set-after-frame-defaults.
5697
346598f1
GM
5698 * eval.c (Fsignal): Reset handling_signal.
5699
222456a1
JR
57002000-11-28 Jason Rumney <jasonr@gnu.org>
5701
5702 * w32menu.c (add_menu_item): Reset menu item text when changing
5703 type to radio button.
5704
8049ddc0
GM
57052000-11-28 Gerd Moellmann <gerd@gnu.org>
5706
346598f1 5707 * xselect.c: Update copyright.
f4f4ee4d 5708
bebe4a2c
GM
5709 * window.c (coordinates_in_window): If on a mode or header line,
5710 but sufficiently close to its start, return ``on vertical
5711 border''. This gives us a way to drag windows horizontally when
5712 using toolkit scroll bars.
5713
5714 * xterm.c (note_mouse_highlight): Change the cursor shape
5715 on the vertical border between windows.
5716
5717 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5718
5719 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5720 (syms_of_xfns): DEFVAR_LISP it.
5721 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5722
8d2c2642
GM
5723 * textprop.c (text_read_only): New function.
5724 (verify_interval_modification): Use it instead of signaling
5725 `text-read-only'. This makes it easier to catch this error
52283633 5726 with a breakpoint.:
8d2c2642 5727
52283633 5728 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
5729 not end of line, which includes CR.
5730
5a2bae6c
KH
57312000-11-28 Kenichi Handa <handa@etl.go.jp>
5732
5733 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5734 include no-conversion.
5735
ae31f84d
JR
57362000-11-27 Jason Rumney <jasonr@gnu.org>
5737
5738 * w32fns.c (w32_load_system_font): Always mark font as double byte
5739 if codepage is unicode.
5740
67f1cf4c
GM
57412000-11-27 Gerd Moellmann <gerd@gnu.org>
5742
4a74d071 5743 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5744 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5745
902ae620
GM
5746 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5747 `vertical-line', `mode-line' and `header-line' events.
5748
5749 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5750 of a character, a TAB for instance. This is easier than to set
5751 up the iterator exactly, and it's not a frequent case, so the
5752 additional effort wouldn't really pay off.
5753
c1e279c2
AC
57542000-11-26 Andrew Choi <akochoi@i-cable.com>
5755
67f1cf4c 5756 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5757 init_window_once.
5758
a609568a
JR
57592000-11-25 Jason Rumney <jasonr@gnu.org>
5760
52283633
SM
5761 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5762 Args to window_from_coordinates should be pixel coordinates.
48b21762 5763
a609568a
JR
5764 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5765 redisplay handles them properly.
5766
a658d039
MB
57672000-11-25 Miles Bader <miles@gnu.org>
5768
5769 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5770
d3416cca
JR
57712000-11-24 Jason Rumney <jasonr@gnu.org>
5772
5773 * w32.c (init_environment): Set LANG environment variable based on
5774 locale settings, if not set.
5775
5776 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5777 making tool bar smaller. When clearing the frame, also
5778 clear current matrices. Clear frame when tool bar disappears.
5779 Don't use more lines for the tool-bar than is available.
5780 (x_change_window_heights): New function.
5781
ba193890
GM
57822000-11-24 Gerd Moellmann <gerd@gnu.org>
5783
2be8f184
GM
5784 * xdisp.c (init_from_display_pos): If POS says we're already after
5785 an overlay string ending at POS, make sure to pop the iterator
5786 because it will be in front of that overlay string. When POS is
5787 ZV, we've thereby also ``processed'' overlay strings at ZV.
5788
ba193890
GM
5789 * xfaces.c (lface_from_face_name): Function comment fix.
5790
1862a24e
MB
57912000-11-24 Miles Bader <miles@gnu.org>
5792
5793 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5794 apply `mode-line-inverse-video' -- zero means force display using
5795 the default face, non-zero means display using the specialized face.
5796 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5797
f07fa1b8
KH
57982000-11-23 Kenichi Handa <handa@etl.go.jp>
5799
5800 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5801 hard coded `4'.
5802
2bcdf662
EZ
58032000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5804
5805 * coding.c (decode_coding_emacs_mule): Fix the case of
5806 CODING_EOL_LF, which used uninitialized value of c.
5807
ba8299ff
SM
58082000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5809
5810 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5811
f4117c4d
GM
58122000-11-22 Gerd Moellmann <gerd@gnu.org>
5813
03e757c1
GM
5814 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5815 buffer object.
5816
f4117c4d
GM
5817 * frame.h (struct frame): Replace desired_tool_bar_items,
5818 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 5819 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
5820
5821 * frame.c (make_frame): Change initialization of tool bar
5822 items accordingly.
5823
5824 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 5825 Change references to members deleted from struct frame to use the
f4117c4d
GM
5826 new ones.
5827
5828 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 5829 references to members deleted from struct frame to use the new ones.
f4117c4d 5830
52283633 5831 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
5832
5833 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
5834
5835 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 5836 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
5837 from struct frame to use the new ones.
5838
f8e2f3f2
MB
58392000-11-23 Miles Bader <miles@gnu.org>
5840
5841 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
5842 the face's inverse-video attribute, rather than overriding it.
5843
60e8e0a5
GM
58442000-11-22 Gerd Moellmann <gerd@gnu.org>
5845
5846 * xfns.c (x_set_tool_bar_lines): Clear internal border when
5847 making tool bar smaller.
5848
92dd1b29
DL
58492000-11-22 Dave Love <fx@gnu.org>
5850
5851 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
5852
e672fdce
MB
58532000-11-22 Miles Bader <miles@gnu.org>
5854
3a17d6cc
MB
5855 * keyboard.c (Vminibuffer_message_timeout): New variable.
5856 (command_loop_1): Use it to determine message timeout.
5857 (syms_of_keyboard): Initialize it.
5858
60e8e0a5 5859 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 5860
e9655d81
KH
58612000-11-22 Kenichi Handa <handa@etl.go.jp>
5862
5863 * sysdep.c: Move the code for declaring h_errno after #include
5864 <netdb.h>.
5865
77270fac
GM
58662000-11-21 Gerd Moellmann <gerd@gnu.org>
5867
cd913aae
GM
5868 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5869 the menu bar when the tooltip is unmapped.
5870
77270fac
GM
5871 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5872 sole visible buffer when we're currently in the mini-buffer, and
5873 give up if so.
52283633 5874
556635d6
JR
58752000-11-21 Jason Rumney <jasonr@gnu.org>
5876
5877 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5878 put on the clipboard.
5879 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5880 copy of what Emacs last put there. If they are the same, do not
52283633 5881 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5882
5b7bde64
MB
58832000-11-22 Miles Bader <miles@gnu.org>
5884
5885 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5886 (syms_of_minibuf): Initialize it.
5887 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5888 to prompt, don't make read-only.
5889
ff23e1dd
GM
58902000-11-21 Gerd Moellmann <gerd@gnu.org>
5891
52283633
SM
5892 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5893 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5894
7aaf4388
GM
5895 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5896
f5f47add 5897 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5898
ff23e1dd
GM
5899 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5900
37c35586
KH
59012000-11-21 Kenichi Handa <handa@etl.go.jp>
5902
5903 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5904 ... #endif scope.
5905
ff9ab414
GM
59062000-11-20 Gerd Moellmann <gerd@gnu.org>
5907
52283633 5908 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5909 screen supports it.
5910
29a01b72
GM
5911 * s/gnu-linux.h: Don't use `#cpu'.
5912
09dfdf85
GM
5913 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5914 not defined in mman.h.
5915
52283633 5916 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5917 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5918 and store an index in the XClientMessageEvent. Storing a
5919 Lisp_Object or pointer can fail on a 64 bit system, since X only
5920 transfers 32 bits.
52283633
SM
5921 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5922
81459ac9
DL
59232000-11-20 Dave Love <fx@gnu.org>
5924
5925 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5926
56c13ae6
GM
59272000-11-20 Gerd Moellmann <gerd@gnu.org>
5928
5929 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5930
495a6df3
KH
59312000-11-20 Kenichi Handa <handa@etl.go.jp>
5932
2bcf3714
KH
5933 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5934 by WIDTH.
5935
495a6df3
KH
5936 * alloc.c (make_string): Fix previous change. Be sure to make
5937 unibyte string correctly.
5938
6d950f4c
GM
59392000-11-19 Gerd Moellmann <gerd@gnu.org>
5940
39b39373
GM
5941 * window.c (Fwindow_list): Change parameter list to be XEmacs
5942 compatible.
5943 (window_list_1): New function.
5944 (window_loop): Use it instead of Fwindow_list.
5945
b95b34e5
GM
5946 * sysdep.c (emacs_ospeed): New variable.
5947 (toplevel): Don't declare ospeed extern.
5948 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5949
5950 * termcap.c (ospeed): Remove.
5951 (tputs) [!emacs]: Remove unused code.
5952 (tgetent): Avoid a compiler warning.
5953
e83dc917
GM
5954 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
5955 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 5956 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
5957
5958 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
5959 removed.
5960 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
5961 Take the X display as additional argument.
5962 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
5963 `Widget' is a pointer type that's not easily stored in Lisp_Object
5964 form in a portable way.
52283633 5965
6d950f4c
GM
5966 * dispnew.c (update_text_area): Fix last change.
5967
e47306e6
GM
59682000-11-18 Gerd Moellmann <gerd@gnu.org>
5969
fb3cd89b
GM
5970 * xdisp.c: Use BINDING_STACK_SIZE throughout.
5971
5972 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
5973 clear current matrices.
5974
edaa9aed
GM
5975 * buffer.c (mmap_enlarge): Don't print a message on stderr
5976 if mapping new memory at the end of the existing region fails.
5977
e47306e6
GM
5978 * dispnew.c (update_text_area): Don't skip over equal glyphs
5979 when the last current glyph overlaps the glyph to its right.
5980
509633e3
MB
59812000-11-18 Miles Bader <miles@gnu.org>
5982
5983 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
5984 lines that *end* with "..." too (that's the most common case!).
5985
d392e9c5
GM
59862000-11-18 Gerd Moellmann <gerd@gnu.org>
5987
67988445
GM
5988 * xdisp.c (resize_mini_window): Temporarily change to the
5989 mini-window's buffer if necessary.
1bfdbe43 5990
d392e9c5
GM
5991 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
5992 the tooltip obscures less text under it.
5993
59942000-11-17 Gerd Moellmann <gerd@gnu.org>
5995
5996 * puresize.h (BASE_PURESIZE): Increase to 700000.
5997
92bb977f
JR
59982000-11-18 Jason Rumney <jasonr@gnu.org>
5999
6000 * w32term.c (w32_draw_bitmap): Use face to set colors.
6001
26fbf20b
DL
60022000-11-17 Dave Love <fx@gnu.org>
6003
6004 * lread.c (Fload): Fix #ifdef for pcc.
6005
100b593b
GM
60062000-11-17 Gerd Moellmann <gerd@gnu.org>
6007
6008 * xdisp.c (pos_visible_p): Compute the default character height
6009 differently.
6010
a288d0d1
GM
60112000-11-16 Gerd Moellmann <gerd@gnu.org>
6012
cac94de6 6013 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6014 knowing the line's height; use the default font's height in that case.
cac94de6 6015
a288d0d1
GM
6016 * xfaces.c (weight_table): Add `demi' with the same meaning as
6017 `demibold'.
6018
981fb6f6
KH
60192000-11-16 Kenichi Handa <handa@etl.go.jp>
6020
2cca872d 6021 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6022 (clear_glyph_row): Delete local static variable null_row.
6023
e5fa381b
JR
60242000-11-15 Jason Rumney <jasonr@gnu.org>
6025
6026 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6027 (w32_alloc_lighter_color): Use new brightness calculations from
6028 xterm.c. Scale delta to be in the range expected by W32.
6029 (w32_draw_relief_rect): Use frame relief colors.
6030
8e42f043
GM
60312000-11-15 Gerd Moellmann <gerd@gnu.org>
6032
6d133d1f
GM
6033 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6034 (Qinhibit_default_face_x_resources): New variable.
6035 (syms_of_frame): Initialize it.
6036 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6037
6038 * xdisp.c (pos_visible_p): Improve function comment.
6039
6040 * lisp.h (BINDING_STACK_SIZE): New macro.
6041
8e42f043
GM
6042 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6043 reading the directory if readdir returns null and errno is EAGAIN
6044 or EINTR.
6045
e8c87124
SM
60462000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6047
6048 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6049 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6050 Set amount_to_scroll to max of dx and scroll_step so that
6051 scroll-conservatively doesn't defeat scroll-step>1.
6052 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6053 scroll-conservatively for line-at-a-time scrolling.
6054
5f0c971d
GM
60552000-11-14 Gerd Moellmann <gerd@gnu.org>
6056
6057 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6058 extra argument.
6059
6060 * xdisp.c (current_mode_line_height, current_header_line_height):
6061 New variables.
6062 (init_xdisp): Initialize them.
6063 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6064 and use exact mode line heights if it is set.
6065
6066 * lisp.h (pos_visible_p): Change prototype.
6067
6068 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6069 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6070 and current_header_line_height first.
52283633
SM
6071 (current_mode_line_height, current_header_line_height):
6072 Declare extern.
5f0c971d 6073
d7361edf
MB
60742000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6075
6076 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6077 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6078 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6079
ee5e440a
MB
60802000-11-14 Miles Bader <miles@gnu.org>
6081
6082 * xterm.c (x_alloc_lighter_color): Include an additive component
6083 too for dark colors, because FACTOR isn't enough.
6084 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6085 New macros.
6086
5ca020fc
GM
60872000-11-13 Gerd Moellmann <gerd@gnu.org>
6088
6089 * keyboard.c (show_help_echo): Call message3_nolog with number of
6090 bytes in the help string as 2nd parameter, instead of the number
6091 of characters.
6092
9d348294
MB
60932000-11-13 Miles Bader <miles@gnu.org>
6094
6095 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6096 (Fload): Use new openp return protocol.
6097 Don't try to use Vload_source_file_function to load .elc files.
6098 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6099 openp return protocol.
6100 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6101
1729bb9a
KH
61022000-11-11 Kenichi Handa <handa@etl.go.jp>
6103
4e677396
KH
6104 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6105
6106 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6107 Defined these macros.
6108 (NLIST_STRUCT): Avoid re-defining it.
6109
1729bb9a
KH
6110 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6111 -I/usr/contrib/X11R6/include.
6112 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6113
a82fe213
JR
61142000-11-10 Jason Rumney <jasonr@gnu.org>
6115
6116 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6117
6118 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6119 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6120
6121 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6122 (Qw32_charset_vietnamese): New symbol.
6123 (xlfd_charset_of_font): New function.
6124 (w32_load_system_font): Use it.
6125 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6126 when Vw32_charset_info_alist is nil to ensure default face always
6127 has font. Use Fcar and Fcdr for safety.
6128 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6129 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6130 pseudo-codepages for special cases.
6131 (w32_to_x_font): New parameter to allow charset portion to be
6132 specified where there is many to one mapping. Callers changed.
6133 (w32_list_fonts): Avoid listing fonts that won't display.
6134
52d89894
GM
61352000-11-10 Gerd Moellmann <gerd@gnu.org>
6136
6137 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6138 (font_list_1): Renamed from font_list.
6139 (font_list): New function, trying alternative registries from
6140 Vface_alternative_font_registry_alist.
6141 (Finternal_set_alternative_font_registry_alist): New function.
6142 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6143 Vface_alternative_font_registry_alist.
6144 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6145
651cd3da
KR
61462000-11-09 Ken Raeburn <raeburn@gnu.org>
6147
6148 * lisp.h (Flooking_at): Declare.
6149
388ac098
GM
61502000-11-09 Gerd Moellmann <gerd@gnu.org>
6151
778fbc46 6152 * dired.c (directory_files_internal): Fix a braino.
52283633 6153
388ac098
GM
6154 * dired.c (directory_files_internal): Add missing GCPRO's.
6155 Some cleanup.
6156
ecaedde1
GM
61572000-11-08 Gerd Moellmann <gerd@gnu.org>
6158
f7eb32aa
GM
6159 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6160 (resize_mini_window): Return quickly if Vresize_mini_window is
6161 nil. Don't return if Vmax_mini_window_height is nil.
6162
6163 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6164 (syms_of_xdisp): Initialize them.
6165 (resize_mini_window): Act according to the setting of
6166 Vresize_mini_window.
6167 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6168
ecaedde1
GM
6169 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6170 scroll bar widget after configuring it, so that it will appear at
6171 the right position from the start.
6172 (XTredeem_scroll_bar): Cleaned up.
6173
3747ef2c
KH
61742000-11-08 Kenichi Handa <handa@etl.go.jp>
6175
6176 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6177 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6178 division by two.
6179
6180 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6181
03391420
DL
61822000-11-07 Dave Love <fx@gnu.org>
6183
7758f1c1 6184 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6185
6186 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6187
b5de343d
GM
61882000-11-07 Gerd Moellmann <gerd@gnu.org>
6189
acad3c0b
GM
6190 * window.c (Fset_window_configuration): Don't try to preserve
6191 point in the current buffer, if that buffer is displayed in more
6192 than one window.
6193
b5de343d
GM
6194 * xfaces.c (lookup_named_face): If default face isn't realized,
6195 try to realize it. Return -1 if not successful.
6196 (Fx_list_fonts): Handle case that face cannot be determined.
6197 (Fface_font): Likewise.
6198
cdb1fe49
GM
61992000-11-06 Gerd Moellmann <gerd@gnu.org>
6200
6201 * window.c (displayed_window_lines): Detect partially
6202 visible lines at the bottom correctly.
6203
d3a67486
SM
62042000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6205
6206 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6207 when ensuring we don't do visit in indirect buffer.
6208
ff8dd5d5
KH
62092000-11-06 Kenichi Handa <handa@etl.go.jp>
6210
6211 * composite.h (compose_chars_in_text): Add prototype.
6212
6213 * composite.c (Vcomposition_function_table): New variable.
6214 (Qcomposition_function_table): New variable.
6215 (run_composition_function): Call
6216 Vcompose_chars_after_function with three arguments.
6217 (compose_chars_in_text): New function.
6218 (syms_of_composite): Modified the doc-string of
6219 Vcompose_chars_after_function. Declare composition-function-table
6220 as a lisp variable, and initialize it.
6221
6222 * xfns.c (x_encode_text): Suppress producing escape sequences for
6223 composition.
6224
6225 * xselect.c: Include composite.h.
6226 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6227
d1145f85
AI
62282000-11-05 Andrew Innes <andrewi@gnu.org>
6229
6230 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6231
6232 * sysdep.c (read_input_waiting): Remove extraneous argument to
6233 read_socket_hook.
6234
6235 * w32fns.c (Fx_server_version): Include w32_build_number in the
6236 return list.
6237
6238 * w32heap.c (w32_build_number): New variable.
6239 (cache_system_info): Set it.
6240
6241 * w32heap.h (w32_build_number): Add extern.
6242
6243 * emacs.c (syms_of_emacs): Update docstring for
6244 system-configuration, to reflect the actual usage on MS-Windows.
6245
e85ee976
GM
62462000-10-31 Gerd Moellmann <gerd@gnu.org>
6247
26dcb81b
GM
6248 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6249 process idle timers while waiting for another event.
6250
52283633 6251 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6252 the default face are colored.
6253
e85ee976
GM
6254 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6255 window height hasn't changed.
6256
01b220b6
JR
62572000-10-31 Jason Rumney <jasonr@gnu.org>
6258
6259 * w32term.c (x_produce_glyphs): Handle composite characters.
6260 (x_draw_glyph_string_foreground)
6261 (x_draw_composite_glyph_string_foreground): Restore old font.
6262
4e6b7204
MB
62632000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6264
6265 * minibuf.c (read_minibuf): Reset the undo history just before
6266 starting the recursive-edit.
6267
d4358b37
GM
62682000-10-30 Gerd Moellmann <gerd@gnu.org>
6269
563f68f1
GM
6270 * xfaces.c (menu_face_change_count): New variable.
6271 (Finternal_set_lisp_face_attribute): Increment it for changes
6272 of the `menu' face.
6273 (realize_basic_faces): Reflect changes in the `menu' faces
6274 in menu bars.
6275
82e274d1
GM
6276 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6277 dy obtained from the iterator's y-position after moving from
6278 scroll_margin_pos to PT; see comment there.
52283633 6279
0dbf9fd2
GM
6280 * xdisp.c (safe_eval_handler): Call add_to_log.
6281
906b3b14
GM
6282 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6283 is not a symbol or string.
6284
d4358b37
GM
6285 * xdisp.c (echo_area_display): Don't perform a display update from
6286 inside redisplay. The update will happen anyway at the end of
6287 redisplay, and it can confuse redisplay (GC messages while
6288 redisplaying, for instance.)
6289
70c825df
SM
62902000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6291
cf9b4b0b
SM
6292 * xrdb.c (x_load_resources): Use the class name in the defaults.
6293
70c825df
SM
6294 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6295 (regex_compile): Catch bogus \(\1\).
6296
a1d34b1e
GM
62972000-10-30 Gerd Moellmann <gerd@gnu.org>
6298
cae71efe
GM
6299 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6300 RGB values.
52283633 6301
35efe0a1
GM
6302 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6303 we have a color cache, check that the cached color equals the
6304 allocated color. If not, clear the color cache.
6305
1d3baf74
GM
6306 * window.c (displayed_window_lines): Change buffers if necessary.
6307 Fix computation of displayed lines.
6308
a1d34b1e
GM
6309 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6310 update_menu_bindings to DEFVAR_BOOL.
6311
70737ea9
KH
63122000-10-30 Kenichi Handa <handa@etl.go.jp>
6313
70c825df 6314 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6315
fa0cb51d
KH
6316 * puresize.h (BASE_PURESIZE): Increase to 680000.
6317
70737ea9
KH
6318 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6319
0e4c08e8
JR
63202000-10-29 Jason Rumney <jasonr@gnu.org>
6321
6322 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6323
6324 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6325 (w32_cache_char_metrics): Handle possibility that 'x' does not
6326 exist in a BDF font.
6327 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6328
6329 * w32bdf.h (bdffont): Add nchars.
6330
6331 * w32bdf.c (set_bdf_font_info): Set it.
6332 (w32_BDF_TextOut): Swap byte order of double byte characters.
6333 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6334
45b84006
EZ
63352000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6336
6337 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6338 don't override the colors in frame's param_alist, unless they are
6339 unspecified.
6340
6341 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6342 reverse the effect of the highlight flag.
6343
caf9deee
KR
63442000-10-27 Ken Raeburn <raeburn@gnu.org>
6345
6346 * window.h (Fwindow_live_p): Declare.
6347
ae0b9b46
KR
6348 * undo.c (record_delete): Check that last_undo_buffer is really a
6349 buffer before applying XBUFFER to it.
6350
6351 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6352 Faref.
6353
02067692
SM
63542000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6355
6356 * lisp.h (KEYMAPP): New macro.
6357 (get_keymap): Remove.
6358 (get_keymap_1): Rename get_keymap.
6359
6360 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6361
6362 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6363
6364 * xmenu.c (single_submenu): Use KEYMAPP.
6365 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6366 Use KEYMAPP rather than Fkeymapp.
6367
6368 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6369
6370 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6371 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6372 Use KEYMAPP rather than Fkeymapp.
6373 (single_submenu): Use KEYMAPP.
6374 (w32_menu_show, w32_dialog_show): Use TRUE.
6375
6376 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6377
6378 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6379 (Fkeymapp): Use KEYMAPP.
6380 (get_keymap): Rename from get_keymap_1. Remove old def.
6381 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6382 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6383 (Fminor_mode_key_binding): Don't raise an error if the binding
6384 is not a keymap.
6385 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6386 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6387
6388 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6389 Allow Vspecial_event_map to be autoloaded.
6390 (menu_bar_items): Fetch the keymap rather than using keymapp.
6391 (menu_bar_one_keymap): No need to follow func-indirect any more.
6392 (parse_menu_item): get_keymap_1 -> get_keymap.
6393 (tool_bar_items): Fetch the keymap rather than using keymapp.
6394 (read_key_sequence): Use KEYMAPP.
6395
6396 * intervals.c (get_local_map): Use get_keymap rather than following
6397 function-indirections explicitly.
6398
6399 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6400
f9d80af3
JR
64012000-10-27 Jason Rumney <jasonr@gnu.org>
6402
6403 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6404 point, as Windows has oversized fonts.
6405
6406 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6407
a3ba27da
GM
64082000-10-27 Gerd Moellmann <gerd@gnu.org>
6409
6410 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6411 (freehook, reallochook): Handle null pointer arguments.
6412 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6413
aa3b80cc
SM
64142000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6415
6416 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6417 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6418 Giving in to popular pressure to shut up the compiler with casts.
6419
e24e84cc
GM
64202000-10-27 Gerd Moellmann <gerd@gnu.org>
6421
6422 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6423 signed value, and use a default value computed from the font's
6424 maximum descent.
6425
05ea7ef2
MB
64262000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6427
6428 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6429 that specify a negative underline position can still use underlines.
6430
6431 * window.c (Fpos_visible_in_window_p): Make POS default to
6432 WINDOW's point, not the current buffer's point.
6433
0b95284b
DL
64342000-10-26 Dave Love <fx@gnu.org>
6435
6436 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6437 when it's necessary.
6438
6c5b90af
GM
64392000-10-26 Gerd Moellmann <gerd@gnu.org>
6440
8b6d9dc9
GM
6441 * window.c (size_window): Compute size difference from sum of old
6442 child window sizes instead of from parent's size.
6443
6bc92b2e
GM
6444 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6445 Handle obscured lines at the top of the window.
6446
6447 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6448 down after the last error condition check.
6449
6c5b90af
GM
6450 * frame.c (Fdelete_frame): Run delete-frame-hook.
6451
42f92d4d
KH
64522000-10-26 Kenichi Handa <handa@etl.go.jp>
6453
6454 * coding.c (decode_coding): Fix previous change (check also
6455 CODING_MODE_LAST_BLOCK).
6456
d97151cb
SM
64572000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6458
e7efc503
SM
6459 * regex.c: More `unsigned char' -> `re_char' changes.
6460 Also change several `int' into `re_wchar_t'.
6461 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6462 (PUSH_FAILURE_POINTER): Don't cast any more.
6463 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6464 We want GCC to complain, since this piece of code makes
6465 re_match non-reentrant, which *should* be fixed.
6466 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6467 (EXTEND_BUFFER): Use RETALLOC.
6468 (SET_LIST_BIT): Don't cast.
6469 (re_wchar_t): New type.
6470 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6471 that those two functions will always properly return.
6472 (IMMEDIATE_QUIT_CHECK): Cast to void.
6473 (analyse_first): Use recursion rather than an explicit stack.
6474 (re_compile_fastmap): Can't fail anymore.
6475 (re_search_2): Don't check re_compile_fastmap for failure.
6476 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6477 Now also sets the new value (passed in a new argument).
6478 (re_match_2_internal): Use it.
6479 Also, use a new var `reg' of type size_t when looping through regs
6480 rather than reuse the inappropriate `mcnt'.
6481
d97151cb
SM
6482 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6483 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6484 (where_is_internal): Renamed from Fwhere_is_internal.
6485 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6486 (Fwhere_is_internal): New function wrapping where_is_internal.
6487 (where_is_internal_1): Handle the case where we're filling the cache.
6488 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6489
d5789b65
MB
64902000-10-25 Miles Bader <miles@gnu.org>
6491
6492 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6493
4ecda532
GM
64942000-10-25 Gerd Moellmann <gerd@gnu.org>
6495
6496 * window.c (pos_fully_visible_p): Removed.
6497 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6498 if position is visible and/or fully visible.
6499
6500 * lisp.h (pos_visible_p): Add prototype.
6501
6502 * xdisp.c (pos_visible_p): New function.
6503
68c3a137
KH
65042000-10-25 Kenichi Handa <handa@etl.go.jp>
6505
6506 * process.c (send_process): If OBJECT is t, it means that the data
6507 is from C string, but we should encode it. Before calling
6508 setup_raw_text_coding_system, be sure to flush out data by the
6509 previous coding system.
6510
7ae1c032
MB
65112000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6512
ff4dcd4b
MB
6513 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6514 assignment of startpos to prev when startpos == pos.
6515
7ae1c032
MB
6516 * editfns.c (find_field): Set the field stickiness correctly from
6517 overlay fields. Use renamed `text_property_stickiness'.
6518 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6519 Only check text properties, not overlays.
7ae1c032
MB
6520 * textprop.c (get_char_property_and_overlay): New function.
6521 (Fget_char_property): Use it.
6522 * intervals.h (get_char_property_and_overlay): Add declaration.
6523
49801145
SM
65242000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6525
6526 * keymap.c: Use AREF, ASET and ASIZE macros.
6527 (Fmake_sparse_keymap): Docstring fix.
6528 (synkey): Remove.
6529 (shadow_lookup): Move up.
6530 Handle the case where lookup-key returns an integer.
6531 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6532 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6533 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6534 Simplify/rewrite the keymap-finding code.
6535 Add check for command shadowing, using shadow_lookup.
6536
39e776cd
SM
65372000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6538
6539 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6540 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6541 a symbol.
6542
2488aba5
AI
65432000-10-24 Andrew Innes <andrewi@gnu.org>
6544
6545 * dired.c (directory_files_internal_unwind): New function.
6546 (directory_files_internal): Use it to ensure closedir is called
6547 even if expand-file-name or file-attributes throw, eg. because of
6548 a user interrupt. Also enable immediate_quit while calling
6549 re_search, so that matching can be interrupted as well.
6550
b94fdf61
AI
65512000-10-24 Andrew Innes <andrewi@gnu.org>
6552
6553 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6554 NT-Emacs only.
6555 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6556 so that re_search functions only quit when callers expect them to.
6557
65582000-10-24 Kenichi Handa <handa@etl.go.jp>
6559
6560 * regex.c (regex_compile): Change the way of handling a range from
6561 a char less than 256 to a char not less than 256.
6562
1946f901
GM
65632000-10-24 Gerd Moellmann <gerd@gnu.org>
6564
7ae2f10f
GM
6565 * window.c (size_window): Prevent setting window's width or
6566 height to a negative value (esp. with XSETFASTINT).
6567
5dcab13e
GM
6568 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6569 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6570 (protect_malloc_state) [GC_MALLOC_CHECK &&
6571 GC_PROTECT_MALLOC_STATE]: New function.
6572 (PROTECT_MALLOC_STATE): New macro.
6573 (__malloc_initialize, morecore, _malloc_internal)
6574 (_free_internal) _realloc_internal): Use it to make _heapinfo
6575 read-only outside of gmalloc.
6576
63e1b552
GM
6577 * keymap.c: Update copyright.
6578
1946f901
GM
6579 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6580 a symbol.
6581
4fa09beb
GM
65822000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6583
6584 * filelock.c (unlock_all_files): Use unlock_file to expand each
6585 buffer's file_truename before trying remove its lock file.
6586
23afac01
EZ
65872000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6588
6589 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6590 or CRLF, decode EOLs.
6591
04448b95
KH
65922000-10-24 Kenichi Handa <handa@etl.go.jp>
6593
6594 * window.c (Fdisplay_buffer): Fix doc.
6595
3090a5a5
JR
65962000-10-23 Jason Rumney <jasonr@gnu.org>
6597
6598 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6599 ASCII font of default fontset on Windows.
6600
6601 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6602 xterm.c comment below).
6603
6604 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6605
a83fee2c
GM
66062000-10-23 Gerd Moellmann <gerd@gnu.org>
6607
6608 * xterm.c (x_connection_closed): Reset handling_signal.
6609
52283633 6610 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6611
6ffdb539
MB
66122000-10-23 Miles Bader <miles@gnu.org>
6613
6614 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6615 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6616 maintain old behavior.
6617 * minibuf.c (Fminibuffer_complete): Likewise.
6618
7f1c969b
MB
66192000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6620
6621 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6622 that when a font can't be exactly centered, it errs up rather than
6623 down.
6624
23afac01 66252000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 6626
52283633 6627 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 6628
1a578e9b
AC
66292000-10-23 Andrew Choi <akochoi@i-cable.com>
6630
6631 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6632
6633 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 6634 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
6635
6636 * emacs.c (main) [macintosh]: Call syms_of_textprop,
6637 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
6638 syms_of_search, x_term_init, and init_keyboard before calling
6639 init_window_once. Also, call syms_of_xmenu.
6640
6641 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
6642 default fontset to Monaco.
6643
6644 * frame.c [macintosh]: Include macterm.h. Remove declarations of
6645 NewMacWindow and DisposeMacWindow.
6646 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
6647 instead of calling NewMacWindow and setting fields of
6648 f->output_data.mac directly. Call init_frame_faces.
6649 (Fdelete_frame) [macintosh]: Remove unused code.
6650 (Fmodify_frame_parameters) [macintosh]: Call
6651 x_set_frame_parameters instead of mac_set_frame_parameters.
6652
6653 * frame.h [macintosh]: Define menu_bar_lines field in struct
6654 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
6655
6656 * keyboard.c [macintosh]: Include macterm.h.
6657 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
6658 and menu_bar_activate_event type events as for X and NT.
6659 (make_lispy_event) [macintosh]: Construct lisp events of type
6660 MENU_BAR_EVENT as for X and NT.
6661
6662 * sysdep.c [macintosh]: Remove declaration for sys_signal.
6663 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
6664 (sys_subshell) [macintosh]: Remove definition entirely.
6665 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
6666 Vwindow_system_version here. Remove initialization of
6667 Vx_bitmap_file_path.
6668 (read_input_waiting): Correct the number of parameters passed to
6669 read_socket_hook.
6670 Move all Macintosh functions to mac/mac.c.
6671
6672 * term.c [macintosh]: Include macterm.h.
6673
6674 * window.c [macintosh]: Include macterm.h.
6675
6676 * xdisp.c [macintosh]: Include macterm.h. Declare
6677 set_frame_menubar and pending_menu_activation.
6678 (echo_area_display) [macintosh]: Do not return if terminal frame
6679 is the selected frame.
6680 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
6681 Allow only the selected frame to set menu bar.
6682 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6683 calling FRAME_EXTERNAL_MENU_BAR (f).
6684 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6685
6686 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6687 and check_x. Declare XCreateGC. Define x_create_gc and
6688 x_free_gc. Initialize font_sort_order.
6689 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6690 but call x_list_fonts instead of w32_list_fonts.
6691 (Finternal_face_x_get_resource) [macintosh]: Do not call
6692 display_x_get_resource.
6693 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6694 (realize_x_face) [macintosh]: Load the font if it is specified in
6695 ATTRS.
52283633 6696 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6697
1ffbabe3
SM
66982000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6699
6700 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6701 is nil: since we go to the end of submap anyway, we'd end up
6702 setting nil to nil.
6703 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6704 doesn't obey autoload.
6705
bed43f1d
EZ
67062000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6707
1ffbabe3 6708 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 6709
ea4233a7
JR
67102000-10-21 Jason Rumney <jasonr@gnu.org>
6711
6712 * w32term.c (w32_cache_char_metrics): Double check that font is
6713 really fixed pitch before trusting tmPitchAndFamily.
6714
f3d3c491
AI
67152000-10-21 Andrew Innes <andrewi@gnu.org>
6716
6717 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6718
6719 * w32term.h: Extern decl for w32_cache_char_metrics.
6720
6721 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6722
6723 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6724 (w32_unload_font): Free per_char array if present.
6725
6726 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6727 cached information in emulated XFontStruct to handle common cases
6728 quickly. Do not allocate XCharStruct for return.
6729 (w32_native_per_char_metric): New function.
6730 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6731 allocating one.
6732 (x_produce_glyphs): Don't get an HDC. Change calls to
6733 w32_per_char_metric to match arg change above. Remove calls to
6734 free results.
6735 (w32_get_glyph_overhangs): Ditto.
6736 (w32_cache_char_metrics): New function.
6737
6738 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6739 ($(BLD)/casefiddle.$(O)): Remove compile command.
6740 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6741 ($(BLD)/dispnew.obj):
6742 ($(BLD)/keyboard.obj):
6743 ($(BLD)/w32inevt.obj):
6744 ($(BLD)/w32bdf.obj):
6745 ($(BLD)/alloc.obj):
6746 ($(BLD)/buffer.obj):
6747 ($(BLD)/editfns.obj):
6748 ($(BLD)/emacs.obj):
6749 ($(BLD)/fileio.obj):
6750 ($(BLD)/fns.obj):
6751 ($(BLD)/indent.obj):
6752 ($(BLD)/insdel.obj):
6753 ($(BLD)/intervals.obj):
6754 ($(BLD)/minibuf.obj):
6755 ($(BLD)/print.obj):
6756 ($(BLD)/scroll.obj):
6757 ($(BLD)/sysdep.obj):
6758 ($(BLD)/textprop.obj):
6759 ($(BLD)/widget.obj):
f3d3c491
AI
6760 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6761 ($(BLD)/term.obj): Add dependency on dispextern.h.
6762
52283633
SM
6763 * makefile.nt ($(BLD)\dispnew.obj):
6764 ($(BLD)\keyboard.obj):
6765 ($(BLD)\w32inevt.obj):
6766 ($(BLD)\w32bdf.obj):
6767 ($(BLD)\alloc.obj):
6768 ($(BLD)\buffer.obj):
6769 ($(BLD)\editfns.obj):
6770 ($(BLD)\emacs.obj):
6771 ($(BLD)\fileio.obj):
6772 ($(BLD)\fns.obj):
6773 ($(BLD)\indent.obj):
6774 ($(BLD)\insdel.obj):
6775 ($(BLD)\intervals.obj):
6776 ($(BLD)\minibuf.obj):
6777 ($(BLD)\print.obj):
6778 ($(BLD)\scroll.obj):
6779 ($(BLD)\sysdep.obj):
6780 ($(BLD)\textprop.obj):
6781 ($(BLD)\widget.obj):
f3d3c491
AI
6782 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6783 ($(BLD)\term.obj): Add dependency on dispextern.h
6784
18ad4821
EZ
67852000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6786
6787 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6788 with an additional argument of Qt.
6789
de54681a
MB
67902000-10-21 Miles Bader <miles@gnu.org>
6791
6792 * window.c (pos_fully_visible_in_window_p): New function.
6793 (Fpos_visible_in_window_p): Add FULLY argument.
6794 Use pos_fully_visible_in_window_p.
6795 (window_scroll_pixel_based, window_scroll_line_based): Update
6796 calls to Fpos_visible_in_window_p.
6797 * lisp.h (Fpos_visible_in_window_p): Update prototype
6798
13c844fb
GM
67992000-10-20 Gerd Moellmann <gerd@gnu.org>
6800
6801 * alloc.c (toplevel): Conditionalize compilation of mem_*
6802 functions differently.
52283633 6803
d9506268
JR
68042000-10-20 Jason Rumney <jasonr@gnu.org>
6805
6806 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6807 mem_init where it used to be. mem_z etc not defined otherwise.
6808
8094989b
GM
68092000-10-20 Gerd Moellmann <gerd@gnu.org>
6810
6811 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6812 GC_MALLOC_CHECK.
6813 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6814 structure definition and related variabled to the top of the file.
6815 Include this code when GC_MALLOC_CHECK is defined.
6816 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
6817 register/unregister allocated region.
6818 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
6819 which isn't allocated.
6820 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
6821 something which is already in use.
6822 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
6823 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
6824 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
6825 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
6826
6827 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
6828 _malloc_internal instead of malloc.
6829 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
6830 of free.
6831
ea456eb4
AI
68322000-10-20 Andrew Innes <andrewi@gnu.org>
6833
6834 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
6835 Windows.
6836 (my_strftime) <macro>: Don't use macro arg list when redefining as
6837 _strftime_copytm.
6838 (my_strftime) <function>: Supply 0 as ut argument.
6839
e64c3a75
JR
68402000-10-19 Jason Rumney <jasonr@altavista.net>
6841
6842 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
6843 including dispextern.h, as it stops faces from working.
6844
6845 * w32fns.c (Fx_create_frame): Don't bother calling
6846 face-set-after-frame-default since the caller does it for us
6847 anyway. Clean up calls to x_get_arg to be consistent with X.
6848
6849 * w32term.c (x_produce_glyphs): Handle
6850 unibyte_display_via_language_environment correctly.
6851 (w32_draw_box_rect): Fix the calculation of width and height.
6852
6853 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
6854 as it has stopped working.
6855 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
6856 menu-bar.
6857
17401c97
GM
68582000-10-19 Gerd Moellmann <gerd@gnu.org>
6859
6860 * eval.c (skip_debugger): Prevent a compiler warning.
6861 (Fcondition_case): Likewise.
6862 (Fbacktrace_frame): Use a null interactive spec.
6863
773272d8
KH
68642000-10-19 Kenichi Handa <handa@etl.go.jp>
6865
6866 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6867
a42943e9
GM
68682000-10-18 Gerd Moellmann <gerd@gnu.org>
6869
e50517d9
GM
6870 * strftime.c: Sync with glibc, file version 1.78.
6871 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6872 should no longer be used according to ISO 8601.
6873
9035a35a
GM
6874 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6875 no map for meta_prefix_char, don't try to use it as a keymap.
6876 Instead, if T_OK is non-zero, look up a default binding, if any,
6877 otherwise, if T_OK is zero, return nil.
6878
a42943e9
GM
6879 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6880 (x_to_xcolors, png_load): Use x_query_color.
6881
52283633
SM
6882 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6883 New functions.
a42943e9
GM
6884 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6885 which can be slow.
6886 (x_copy_color, x_alloc_lighter_color): Likewise.
6887
6888 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6889 (x_query_color, x_query_colors): Add prototype.
6890
6891 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6892 check_string_bytes only if not noninteractive, increase count to 50.
6893
00de2987
MB
68942000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6895
6896 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6897 markers correctly.
6898
54918e2b
GM
68992000-10-17 Gerd Moellmann <gerd@gnu.org>
6900
1f0b3fd2
GM
6901 * alloc.c (pure_bytes_used): Renamed from pureptr.
6902 (ALIGN): New macro.
6903 (pure_alloc): New function.
6904 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6905 Use it.
6906 (Fpurecopy): Use PURE_POINTER_P.
6907
68c5d1db
GM
6908 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6909 PT has moved backward.
52283633 6910
9a038881
GM
6911 * xdisp.c (cursor_row_p): Take continued lines into account.
6912
361b097f
GM
6913 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6914 string's size_byte.
6915 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6916 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6917 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6918 string allocated.
6919
54918e2b
GM
6920 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6921 of selective display off while searching for the next line start.
6922
03ed0806
KH
69232000-10-17 Kenichi Handa <handa@etl.go.jp>
6924
6925 * Makefile.in (term.o): Depend on dispextern.h.
6926
7e05cdaf
SM
69272000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6928
6929 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6930
a6801fd1
GM
69312000-10-16 Gerd Moellmann <gerd@gnu.org>
6932
483de32b
GM
6933 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6934 the iterator at the beginning, so that they can be set later on,
6935 for instance in reseat_at_next_visible_line_start, without being
6936 overwritten.
6937
a6801fd1
GM
6938 * xfns.c (pbm_format): Add :foreground and :background keywords.
6939 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6940 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6941
dbf1fcc1
EZ
69422000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6943
6944 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6945
52283633 6946 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6947
6948 * msdos.c (IT_set_face): Compare highlighted face with the default
6949 face, and invert colors if these faces' colors are identical.
6950 (Fmsdos_remember_default_colors): Don't swap foreground and
6951 background colors in initial_colors[].
6952 (IT_set_frame_parameters): Don't swap frame's foreground and
6953 background pixels. If ALIST includes "(reverse . t)", swap
6954 foreground-color and background-color properties in frame's
6955 param_alist. If the original frame's param_alist doesn't specify
6956 the colors, store unspecified-fg and unspecified-bg, reversed if
6957 required.
6958
6959 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
6960 the colors are unspecified and reversed, reverse fore- and back-
6961 ground in the returned value.
6962 (Fframe_parameter): Ditto.
6963
b41fe2c3 69642000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 6965
3a6b59d9
GM
6966 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
6967 get_last_unchanged_at_beg_row.
6968 (find_first_unchanged_at_end_row): Renamed from
6969 get_first_unchanged_at_end_row.
6970 (find_first_unchanged_at_end_row): Convert assertions to
6971 unconditional tests which abort. When looking for a row in
6972 unchanged text, don't go further back than first_text_row.
6973
b41fe2c3
GM
6974 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
6975 Don't add in the last line's height when deciding if the new
6976 position is below the scroll margin.
9d1af64f 6977
b41fe2c3 69782000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
6979
6980 * editfns.c (Fconstrain_to_field): Check carefully for field
6981 boundaries if either OLD_POS or NEW_POS has a non-nil field
6982 property, even if they're the same.
6983
c412cb7b
KH
69842000-10-16 Kenichi Handa <handa@etl.go.jp>
6985
6986 * xterm.c (x_draw_box_rect): Fix the calculation of width and
6987 height for XFillRectangle.
6988
5586f3eb
SM
69892000-10-15 Stefan Monnier <monnier@cs.yale.edu>
6990
6991 * syntax.c (Fstring_to_syntax): New function extracted from
6992 Fmodify_syntax_entry.
6993 (Fmodify_syntax_entry): Use it and document the ! and | fences.
6994 (skip_chars, Fforward_comment): Remove unused variables.
6995 (syms_of_syntax): Add defsubr for string-to-syntax.
6996 (describe_syntax): Add code for comment and string fences.
6997
db785038
SM
69982000-10-14 Stefan Monnier <monnier@cs.yale.edu>
6999
7000 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7001 Do the meta->esc mapping. Call get_keyelt before returning.
7002 Start scanning from the second element (the first is always `keymap')
7003 to make it easier to detect when we reach a parent map.
7004 Handle the case of inheriting from a symbol whose function is a map.
7005 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7006 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7007 (get_keyelt, Flookup_key): Update call to access_keymap.
7008 Remove the meta->esc mappings.
7009 (define_as_prefix): Delete old disabled code.
7010 (menu_item_p): New function.
7011 (where_is_internal_1): Skip over the few remaining menu items.
7012 * lisp.h (access_keymap): Update prototype.
7013 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7014 Update call to access_keymap.
7015 (follow_key, read_key_sequence): Update calls to access_keymap.
7016 Remove the meta->esc mappings.
7017
cafafe0b
GM
70182000-10-13 Gerd Moellmann <gerd@gnu.org>
7019
a2e2a7f6
GM
7020 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7021 with additional argument.
7022
cafafe0b
GM
7023 * xdisp.c (cursor_row_p): New function.
7024 (try_cursor_movement, display_line): Use it.
52283633 7025
cafafe0b
GM
7026 * xdisp.c (append_space): Also save/restore iterator's current
7027 character and its length.
7028
7029 * xdisp.c (init_from_display_pos): Add an assertion.
7030 (handle_stop): Don't set iterator's add_overlay_start.
7031 (handle_invisible_prop): Likewise.
7032 (load_overlay_strings): If text under an overlay is invisible,
7033 take both before- and after-strings into account when the iterator
7034 is positioned either at the start or at the end of the overlay.
7035 (forward_to_next_line_start): Rewritten.
7036 (reseat_at_next_visible_line_start): Rewritten.
7037 (set_iterator_to_next): Add parameter RESEAT_P.
7038
7039 * dispextern.h (struct it): Remove member add_overlay_start.
7040 (set_iterator_to_next): Change prototype.
7041
c744452b
KH
70422000-10-13 Kenichi Handa <handa@etl.go.jp>
7043
7044 * coding.c (code_convert_region): Be sure to initialize
7045 coding->category_idx.
e4a3f4e1
KH
7046 (decode_coding_string): Set coding->src_multibyte and
7047 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7048 (encode_coding_string): Set coding->src_multibyte and
7049 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7050
321fd26f
SM
70512000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7052
7053 * xfns.c (Fx_create_frame): Don't bother calling
7054 face-set-after-frame-default since the caller does it for us anyway.
7055
76832439
EZ
70562000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7057
7058 * window.c (coordinates_in_window): Fix detection of vertical line
7059 on character terminals.
7060
2483cf58
GM
70612000-10-12 Gerd Moellmann <gerd@gnu.org>
7062
7063 * editfns.c (save_excursion_save): Additionally record the
7064 selected window.
7065 (save_excursion_restore): If buffer was visible in a window, and a
7066 different window was selected, and the old selected window is
7067 still live, restore point in that window.
7068
eb991b25
KH
70692000-10-12 Kenichi Handa <handa@etl.go.jp>
7070
8a0eba09
KH
7071 * xterm.c (x_produce_glyphs): Handle
7072 unibyte_display_via_language_environment correctly.
7073
20401fcc
KH
7074 * regex.c (regex_compile): Change the way of handling a range from
7075 unibyte char to multibyte char.
7076
7077 * syntax.c (skip_chars): Change the way of handling a range from
7078 unibyte char to multibyte char.
7079
eb991b25
KH
7080 * process.c (read_process_output): Cancel previous change.
7081
365dd325
EZ
70822000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7083
c1b096cb
EZ
7084 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7085
365dd325
EZ
7086 * charset.c (Ffind_charset_string): Doc fix.
7087 (Ffind_charset_region): Doc fix.
7088
eb483c2b
KH
70892000-10-11 Kenichi Handa <handa@mule.m17n.org>
7090
7091 * process.c (read_process_output): Fix previous change. Adjust
7092 multibyteness of text to insert in a buffer by
52283633 7093 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7094
b40bfb99
AS
70952000-10-10 Andreas Schwab <schwab@suse.de>
7096
7097 * alloc.c (mark_object): Remove all workarounds installed on
7098 1993-08-08.
7099
caff31d4
KH
71002000-10-10 Kenichi Handa <handa@etl.go.jp>
7101
52283633 7102 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7103 (base64_encode_1): Make it work for a text of multibyte form.
7104 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7105 case. Don't call str_to_multibyte because base64_decode_1
7106 produces correct multibyte form for eight-bit codes.
52283633 7107 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7108 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7109 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7110 codes.
7111
7112 * charset.h (CHAR_STRING): Optimized for single byte characters.
7113
cba026ef
AS
71142000-10-09 Andreas Schwab <schwab@suse.de>
7115
7116 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7117 -1 after socket is closed, to fall through to error processing.
7118
1e21fe48
EZ
71192000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7120
7121 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7122 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7123 background-color, change also the colors of the default face for
7124 this frame.
7125
a640322e
EZ
71262000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7127
7128 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7129 them extern (they are defined on xfaces.c).
7130 (syms_of_msdos): Don't intern and don't staticpro
7131 Qbackground_color and Qforeground_color.
7132
a115794c
EZ
71332000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7134
7135 * frame.c (Fframe_parameter): For non-windowed frames, if
7136 f->param_alist says foreground or background color is unspecified,
7137 call tty_color_name to return the color name computed from the
7138 frame's current colors.
7139
f5533b63
DL
71402000-10-06 Dave Love <fx@gnu.org>
7141
7142 * terminfo.c (ospeed): Don't declare.
7143
7144 * sysdep.c: Don't include string.h.
7145 (h_errno): Declare conditional also on TRY_AGAIN.
7146
7147 * charset.c (Ffind_charset_string): Doc fix.
7148
52283633 7149 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7150 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7151 error messages.
7152
2b06561a
DL
71532000-10-05 Dave Love <fx@gnu.org>
7154
7155 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7156 position like menu-bar.
7157
ca839c85
GM
71582000-10-05 Gerd Moellmann <gerd@gnu.org>
7159
7160 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7161
7162 * xdisp.c (handle_single_display_prop): Use safe_call1.
7163 (safe_call): Renamed from call_function.
7164 (safe_call1): New function.
7165 (handle_fontified_prop): Use safe_call1 instead of call1.
7166 (safe_eval): Renamed from eval_form.
7167 (safe_eval_handler): Renamed from eval_handler.
7168 (handle_single_display_prop, display_mode_element): Use safe_eval
7169 instead of eval_form.
7170
7171 * xfaces.c (merge_face_heights): Use safe_call instead of
7172 call_function.
7173
7174 * keyboard.c (show_help_echo): Use safe_call instead of
7175 call_function; use safe_eval instead of eval_form.
7176
7177 * lisp.h (safe_call): Renamed from call_function.
7178 (safe_eval): Renamed from eval_form.
7179 (safe_call1): Add prototype.
7180
a3489ece
MB
71812000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7182
7183 * xfns.c (image_ascent): Rearrange ascent calculation for the
7184 has-a-font case.
7185
35810b6f
SM
71862000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7187
7188 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7189 (where_is_internal_1): Don't bother ignoring menu-items any more.
7190
3dc78168
GM
71912000-10-04 Gerd Moellmann <gerd@gnu.org>
7192
7193 * keyboard.c (update_menu_bindings): New variable.
7194 (parse_menu_item): Use AREF. If update_menu_bindings
7195 is 0, don't update menu bindings.
7196 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7197
1efc2bb9
EZ
71982000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7199
7200 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7201 to `mark_object'.
7202
3f679f55
SM
72032000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7204
7205 * syntax.c (forw_comment): Match nestedness of ender/starter.
7206 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7207 (prev_char_comstart_first): Remove.
7208 (back_comment): Check two-char comment markers more carefully
7209 to better handle overlapping cases like *//* or /* */* */ ...
7210 Match nestedness of ender/starter.
7211
2021ab61
DL
72122000-10-02 Dave Love <fx@gnu.org>
7213
7214 * config.in (HAVE_GAI_STRERROR): Add undef.
7215
7216 * process.c (Fopen_network_stream): Use it.
7217
7218 * m/alpha.h (NO_REMAP): Don't define.
7219
64e6cc18
GM
72202000-10-02 Gerd Moellmann <gerd@gnu.org>
7221
7222 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7223 return with a string converted to an integer or vice versa when
7224 Vmocklisp_arguments is t.
7225 (Fsignal): Likewise. The function can return for `quit'.
7226 (struct gcpro): Declare member `var' to point to a volatile
7227 Lisp_Object.
7228
7229 * eval.c (error): Prevent compiler warning.
7230
b1904cd9
SM
72312000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7232
7233 * keymap.c (keymap_memberp): New function.
7234 (Fset_keymap_parent): Use it.
7235 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7236 Use keymap_memberp to avoid creating cycles.
7237 (access_keymap): Use KEYMAPP.
7238
71c9ec51
GM
72392000-09-30 Gerd Moellmann <gerd@gnu.org>
7240
7241 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7242 gai_strerror. Make sure xerrno is set if connect fails. Improve
7243 error recovery.
71c9ec51 7244
c70c6b58
JR
72452000-09-29 Jason Rumney <jasonr@gnu.org>
7246
7247 * w32term.c (w32_char_font_type, w32_encode_char)
7248 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7249 (w32_bdf_per_char_metric): New function.
7250 (w32_per_char_metric): Use it.
7251 (x_draw_glyph_string_background): Always draw background for BDF
7252 glyphs.
7253
7254 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7255 GDI object which is a scarce resource.
7256
7257 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7258 (get_quoted_string): Fix limit on memchr search.
7259 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7260 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7261 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7262 (get_cached_font_char, cache_char_offset): Use macro
7263 BDF_CODEPOINT_RANGE_COVER_P.
7264 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7265 (clear_cached_bitmap_slots): New function.
7266 (GET_HEX_VALUE): G-Z, g-z are not hex.
7267 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7268 (get_bitmap_with_cache): Use new cache implementation.
7269 (create_offscreen_bitmap): New function.
7270 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7271
7272 * w32term.c (x_produce_glyphs): If the distance from the current
7273 position to the next tab stop is less than a canonical character
7274 width, use the tab stop after that.
7275 (x_draw_glyphs): Handle case START and END are out of bounds more
7276 carefully.
7277 (x_clear_mouse_face): Block/unblock input.
7278 (x_display_and_set_cursor): Don't show a hollow box cursor for
7279 buffers whose cursor_type is nil.
7280
fe01239f
GM
72812000-09-29 Gerd Moellmann <gerd@gnu.org>
7282
52283633 7283 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7284
7285 * dispextern.h (updating_frame): Declare extern.
7286
e7c52f1f
AS
72872000-09-29 Andreas Schwab <schwab@suse.de>
7288
7289 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7290
de6e1f7c
GM
72912000-09-29 Gerd Moellmann <gerd@gnu.org>
7292
25126faa
GM
7293 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7294 use its function definition.
7295 (tool_bar_items): Likewise.
7296
de6e1f7c 7297 * lisp.h (fatal): Declare NO_RETURN.
52283633 7298
454ee39b
KH
72992000-09-29 Kenichi Handa <handa@etl.go.jp>
7300
7301 * keymap.c: Remove the line "#undef NULL".
7302
96301c5f
GM
73032000-09-28 Gerd Moellmann <gerd@gnu.org>
7304
52283633 7305 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7306
efffeeb4
DL
73072000-09-28 Dave Love <fx@gnu.org>
7308
ecb8b666
DL
7309 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7310
dc3cd20f
DL
7311 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7312
7313 * .gdbinit (xreload): Note its need on GNU/Linux.
7314
efffeeb4
DL
7315 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7316 r_alloc, r_alloc_free.
7317
8610d903
KH
73182000-09-28 Kenichi Handa <handa@etl.go.jp>
7319
7320 * syntax.c (skip_chars): Handle negation correctly.
7321
8901d1ac
GM
73222000-09-27 Gerd Moellmann <gerd@gnu.org>
7323
6f22f1ad
GM
7324 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7325 with non-zero FORCE_P argument.
7326
52283633 7327 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7328 Add assertions.
7329
7330 * xdisp.c (window_box_height): Add an assertion.
7331
7332 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7333 tool-bar than is available.
7334 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7335
36f1966f
DL
73362000-09-27 Dave Love <fx@gnu.org>
7337
efffeeb4 7338 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7339
31d929e5
GM
73402000-09-26 Gerd Moellmann <gerd@gnu.org>
7341
c98863bf
GM
7342 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7343 instead of BITS_PER_INT.
7344 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7345 EMACS_UINT, respectively.
7346 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7347
7348 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7349
7350 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7351
77072ab1
GM
7352 * window.c (freeze_window_starts): Construct last argument for
7353 foreach_window differently.
7354
7355 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7356
7357 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7358 EMACS_UINT instead of `int' and `unsigned int'.
7359 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7360
7361 * frame.h (struct frame): Make the `nothing' member of union
7362 output_data an EMACS_INT.
7363
52283633 7364 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7365 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7366 size in the sdata structure.
7367 (SDATA_NBYTES, SDATA_DATA): New macros.
7368 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7369 differently for the different layout of the sdata structure.
7370 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7371 in sdata.
7372 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7373 Check that size recorded in the string size and size recorded in
7374 the sdata structure agree.
7375
3e60b029
DL
73762000-09-25 Dave Love <fx@gnu.org>
7377
7378 * buffer.c: Include stdio.h.
7379
7380 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7381
3e60b029
DL
7382 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7383
7384 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7385 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7386 (__malloc_extra_blocks): Declare as __malloc_size_t.
7387
8ff16b4e
GM
73882000-09-25 Gerd Moellmann <gerd@gnu.org>
7389
755a2ccd
GM
7390 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7391
d8b4516f
GM
7392 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7393 (read_char): If help-echo is showing, preserve the echo area
7394 when redisplaying.
7395
7396 * xdisp.c (help_echo_showing_p): New variable.
7397 (set_message): Reset it to 0.
7398 (init_xdisp): Initialize help_echo_showing_p.
7399
7400 * dispextern.h (help_echo_showing_p): Declare extern.
7401
7402 * config.in: Fix typo in __GNUC_MINOR__.
7403
7404 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7405
b11af2dd
GM
7406 * s/freebsd.h (POSIX_SIGNALS): Define.
7407
8ff16b4e
GM
7408 * xterm.c (x_clear_mouse_face): Block/unblock input.
7409
844eb643
DL
74102000-09-24 Dave Love <fx@gnu.org>
7411
7412 * fns.c (base64_encode_1): Fix last change.
7413
b30ab1b3
GM
74142000-09-22 Gerd Moellmann <gerd@gnu.org>
7415
7416 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7417
7418 * xdisp.c (try_window_reusing_current_matrix): More fixes
7419 for the case window has a header-line.
7420
c6cbe5f0
DL
74212000-09-22 Dave Love <fx@gnu.org>
7422
4c7c1f3f
DL
7423 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7424 a doc string.
7425
7426 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7427
c6cbe5f0
DL
7428 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7429
550a625e
GM
74302000-09-21 Gerd Moellmann <gerd@gnu.org>
7431
4c7c1f3f 7432 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7433 for GCC >= 2.5.
7434
52283633
SM
7435 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7436 Declare NO_RETURN.
fca99116 7437
80d26f99
GM
7438 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7439 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7440 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7441 warnings.
52283633 7442
80d26f99
GM
7443 * marker.c (byte_char_debug_check): Return void.
7444
623a0aae
GM
7445 * xfns.c (Fx_create_frame): Set default frame parameter value
7446 for tool-bar-lines to 1.
7447
7448 * dispnew.c (scrolling_window): Compare y-positions of rows
7449 equal at the start. Some simplification.
7450
7451 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7452 reused rows' y-position in the case window has a header-line, and
7453 new window start is greater than old window start.
7454
42ac0ae5
GM
7455 * process.c (process_sent_to): New variable.
7456 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7457 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7458 Declare more parameters volatile.
7459
550a625e
GM
7460 * lread.c (Vrecursive_load_depth_limit): New variable.
7461 (Fload): Check recursive loads whose recursion depth exceeds
7462 Vrecursive_load_depth_limit.
7463 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7464
8320414c
GM
74652000-09-20 Gerd Moellmann <gerd@gnu.org>
7466
f46c275e
GM
7467 * fileio.c (Fread_file_name): Doc fix.
7468
7469 * editfns.c (Fmessage_or_box): Doc fix.
7470
7471 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7472
b7e11c5b 7473 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7474
8320414c
GM
7475 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7476 symbols are specified, add color translations to the cache.
52283633 7477 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7478 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7479 xpm_cache_color.
7480 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7481 structures to xpm_init_color_cache.
7482
da1608d9
GM
74832000-09-19 Gerd Moellmann <gerd@gnu.org>
7484
52283633 7485 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7486
6badfa25
AI
74872000-09-19 Andrew Innes <andrewi@gnu.org>
7488
7489 * makefile.nt (bootstrap-emacs): Don't change directory.
7490
3a5f42bb
KH
74912000-09-19 Kenichi Handa <handa@etl.go.jp>
7492
1b7649bd
KH
7493 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7494
3a5f42bb
KH
7495 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7496 If output buffer is too small, signal an appropriated error.
7497
9f83cf0b
DL
74982000-09-18 Dave Love <fx@gnu.org>
7499
52283633 7500 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7501 (current_active_maps): Remove redundant get_local_map call.
7502
28c7826c
GM
75032000-09-18 Gerd Moellmann <gerd@gnu.org>
7504
5cefa566
GM
7505 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7506 cursor for buffers whose cursor_type is nil.
52283633 7507
6fed3546
GM
7508 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7509 a feature to implement that is already implemented.
7510 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7511 warnings.
7512
7513 * xfns.c (x_clear_image_1): New function.
7514 (x_clear_image): Use it.
52283633 7515 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7516
05b1f851
GM
7517 * dispnew.c (update_window): Move test for invisible lines
7518 at the top to update_window_line.
7519 (update_window_line): Handle invisible lines here.
7520
f4779de9
GM
7521 * xfns.c (clear_image_cache): Clear current matrices of all
7522 frames sharing an image cache. Block input while freeing
7523 images. Fix timestamp comparison.
7524 (x_clear_image): Also free the mask.
7525
28c7826c
GM
7526 * xfns.c (lookup_image): Block input while loading the image so
7527 that we won't get interrupted in a state where the image isn't yet
7528 set up completely.
7529 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7530 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7531 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7532 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7533
b7412313
GM
75342000-09-16 Gerd Moellmann <gerd@gnu.org>
7535
7536 * dispnew.c (update_window): Make sure to make desired rows
7537 current even if they are completely invisible at the top
7538 of a window.
7539
47e351a3
GM
75402000-09-15 Gerd Moellmann <gerd@gnu.org>
7541
7f8f1edc
GM
7542 * xfns.c (lookup_image): Build mask before applying an algorithm.
7543 Recognize algorithm `disabled'.
7544 (cross_disabled_images): New variable.
7545 (COLOR_INTENSITY): New macro.
7546 (x_detect_edges): Use COLOR_INTENSITY.
7547 (x_disable_image): New function.
7548 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7549
7550 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7551 disabled state, don't apply an image transformation algorithm if
7552 the user specified an image for the disabled state. Use
28c7826c 7553 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7554 user hasn't specified an image.
7555
ebb8f116
GM
7556 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7557 allocation functions with the XPM lib.
7558 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7559 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7560 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7561 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7562 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7563 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7564 functions, if possible, because these handle color allocation
7565 failure more gracefully.
7566 (Fimage_mask_p): New function.
7567
47e351a3
GM
7568 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7569 (Qedge_detection, Qheuristic): New symbols.
7570 (syms_of_xfns): Initialize new symbols.
7571 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7572 `algorithm (edge-detection ...)'.
7573 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7574 (tiff_format, gif_format, gs_format): Add `:mask'.
7575 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7576 (GIF_MASK, GS_MASK): New enumerators.
7577 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7578 (emboss_matrix, laplace_matrix): New variables.
7579 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7580 (x_edge_detection): New functions.
7581 (x_laplace): Rewritten in terms of x_detect_edges.
7582 (x_build_heuristic_mask): If image has a mask, free it.
7583
fe83b953
AI
75842000-09-14 Andrew Innes <andrewi@gnu.org>
7585
7586 * makefile.w32-in: Revert to Unix line endings.
7587
3021e816
AI
75882000-09-14 Andrew Innes <andrewi@gnu.org>
7589
7590 * makefile.w32-in: Standardize indentation somewhat.
7591 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7592 cater for differences between shells.
7593
7594 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7595
2a32b5ea
GM
75962000-09-14 Gerd Moellmann <gerd@gnu.org>
7597
7598 * xterm.c (x_produce_glyphs): If the distance from the current
7599 position to the next tab stop is less than a canonical character
7600 width, use the tab stop after that.
7601
b4331e96
DL
76022000-09-14 Dave Love <fx@gnu.org>
7603
7604 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7605
ef9e4345
GM
76062000-09-14 Gerd Moellmann <gerd@gnu.org>
7607
085536c2
GM
7608 * xdisp.c (handle_fontified_prop): While running fontification
7609 functions, bind `fontification-functions' and
7610 `after-change-functions' to nil.
7611
ef9e4345
GM
7612 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7613 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7614
7615 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7616
7617 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7618 USE_MMAP_FOR_BUFFERS.
7619
7620 * insdel.c (make_gap): Use enlarge_buffer_text.
7621
7622 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7623 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7624 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7625 from former r_alloc_* functions in ralloc.c.
52283633 7626 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
7627 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7628 (mmap_init) [REL_ALLOC_MMAP]: New function.
7629 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7630 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7631 BUFFER_FREE.
7632
7633 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7634 (enlarge_buffer_text): Add prototype.
7635
7636 * ralloc.c: Remove everything having to do with the use of mmap.
7637
f8608968
GM
76382000-09-13 Gerd Moellmann <gerd@gnu.org>
7639
2a494b2d
GM
7640 * sound.c (Fplay_sound): Doc fix.
7641
8c907a56
GM
7642 * keyboard.c: Avoid some more compiler warnings.
7643 (parse_tool_bar_item): Ignore cached key bindings.
7644
f8608968
GM
7645 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
7646 and allocation of Lisp data.
7647
6ab70e9a
GM
76482000-09-12 Gerd Moellmann <gerd@gnu.org>
7649
d12d0a9b
GM
7650 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
7651 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
7652 defaults first.
7653
6ab70e9a
GM
7654 * lread.c (Fload): Put code checking for recursive loads in #if 0.
7655
63c36c3c
KH
76562000-09-12 Miyashita Hisashi <himi@meadowy.org>
7657
7658 * ccl.c: Comment fixed.
7659 (MAX_MAP_SET_LEVEL): Increased to 30.
7660 (PUSH_MAPPING_STACK): Enclose with do-while block.
7661 (POP_MAPPING_STACK): Likewise.
7662 (stack_idx_of_map_multiple): New variable.
7663 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
7664 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 7665 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
7666 (ccl_driver) <CCL_MapSingle>: Likewise.
7667 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
7668 with the case where looking up process reaches to the end of
7669 map-set, and call CCL programs as the above change.
7670
7ee3bd7b
GM
76712000-09-11 Gerd Moellmann <gerd@gnu.org>
7672
8ec8a5ec
GM
7673 * xfns.c (png_load, jpeg_load): Declare some variables volatile
7674 that might be clobbered by longjmp.
7675 (check_x_display_info, x_decode_color, create_frame_xic)
7676 (Fx_display_backing_store, Fx_display_visual_class)
52283633 7677 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 7678
f74b0705
GM
7679 * lread.c (init_lread): Set Vloads_in_progress to nil.
7680 (Fload): Show list of recursively loaded files, when signaling an
7681 error.
7682
7ee3bd7b
GM
7683 * lread.c (Vloads_in_progress): New variable.
7684 (record_load_unwind): New function.
7685 (Fload): Check for recursive loads.
7686 (syms_of_lread): Initialize Vloads_in_progress.
7687 (read_integer, read1): Avoid some compiler warnings.
7688
7689 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7690 compiler warnings.
7691
974e1e5b
MB
76922000-09-11 Miles Bader <miles@gnu.org>
7693
7694 * editfns.c (Fbuffer_string): Doc fix.
7695
9824c4e3
GM
76962000-09-10 Gerd Moellmann <gerd@gnu.org>
7697
7698 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7699
6a72fdd1
KR
77002000-09-09 Ken Raeburn <raeburn@gnu.org>
7701
7702 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7703 whether to include other header files.
7704
28e6fb66
GM
77052000-09-09 Gerd Moellmann <gerd@gnu.org>
7706
52283633 7707 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 7708 by Fmemq as a boolean.
28e6fb66 7709
7f8b6551
SM
77102000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7711
7712 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7713
a8710abf
GM
77142000-09-08 Gerd Moellmann <gerd@gnu.org>
7715
d1a02881
GM
7716 * ralloc.c (mmap_fd): Remove initializer which can make it
7717 read-only in a dumped Emacs.
7718 (mmap_fd_1): New variable.
7719 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7720 restore it from there.
7721 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7722 unconditionally so that mmap_fd can be initialized there.
7723 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7724 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7725 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7726
c454aac1
GM
7727 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7728
7729 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 7730 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 7731
fc653ef2
GM
7732 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7733
3015eec0
GM
7734 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7735 inheritance.
7736
bfe0ee88
GM
7737 * xdisp.c (try_window_id): When trying to locate cursor in
7738 unchanged rows at the top, handle the case that we can't find it.
7739
a8710abf
GM
7740 * xterm.c (x_draw_glyphs): Handle case START and END are out
7741 of bounds more carefully.
7742
6b7d4ae4
DL
77432000-09-08 Dave Love <fx@gnu.org>
7744
423193c5
DL
7745 * s/sol2.h (REL_ALLOC_MMAP): Define.
7746 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7747
7748 * ralloc.c: Don't include string.h (redundant).
7749 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7750 [!MAP_ANON]: Include fcntl.h.
7751 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7752 (r_alloc, r_re_alloc, r_alloc_free)
7753 (mmap_enlarge, mmap_set_vars): Use it.
7754 (r_alloc_init_fd): New function.
7755 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7756 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7757 malloc type.
7758
7759 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7760 Remove vm-limit.o.
7761
6b7d4ae4
DL
7762 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7763 change to __NetBSD__.
7764
44d31981
KH
77652000-09-08 Kenichi Handa <handa@etl.go.jp>
7766
7767 * search.c (compile_pattern): Check the multibyteness of cached
7768 string and PATTERN.
7769
aad40737
MB
77702000-09-08 Miles Bader <miles@gnu.org>
7771
7772 * xfaces.c (default_face_vector): Function removed.
7773 (Finternal_merge_in_global_face): Restore old global/local
7774 attribute override order. Use inline loop instead of calling
7775 default_face_vector.
7776
91a211b5
GM
77772000-09-07 Gerd Moellmann <gerd@gnu.org>
7778
7779 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7780 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7781 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7782 where necessary, in case POINTER_TYPE is `void'.
7783
03419440
EZ
77842000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7785
7786 * frame.c (make_terminal_frame): Initialize frame foreground and
7787 background colors to unspecified, for the initial instance of an
7788 MSDOS frame.
7789
f46f845b
GM
77902000-09-07 Gerd Moellmann <gerd@gnu.org>
7791
24f76fbf
GM
7792 * ralloc.c (mmap_find): Fix overlap computation.
7793 (mmap_enlarge): Compute nbytes before trying to find an
7794 overlapping region.
7795
f46f845b
GM
7796 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7797 instead of `!='.
7798
7799 * lread.c (syms_of_lread): Change value of regexp
7800 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7801
7802 * xmenu.c (xdialog_show): When looking up the selection in
7803 menu_items, take `quote' boundaries into account; this corresponds
7804 to a nil ITEM in x-popup-dialog.
7805
3c014385
KH
78062000-09-07 Kenichi Handa <handa@etl.go.jp>
7807
fd6f711b
KH
7808 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7809 not 0x81.
7810 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7811
3c014385 7812 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
7813 encoding, not decoding. Fix the handling of latin-jisx0201.
7814 Check for the charset katakana-jisx0201 too.
3c014385 7815 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 7816 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 7817
0da3ecef
GM
78182000-09-07 Gerd Moellmann <gerd@gnu.org>
7819
ab0ee409
GM
7820 * xfaces.c (Vparam_value_alist): New variable.
7821 (syms_of_xfaces): Initialize it.
7822 (Finternal_set_lisp_face_attribute): Avoid more consing.
7823
7824 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
7825 specially.
7826 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
7827 (Qbackground_mode): New variable.
7828 (syms_of_frame_1): Initialize Qbackground_mode.
7829
7830 * lisp.h (Qdisplay): Declare extern.
1091dd67 7831
0da3ecef
GM
7832 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
7833 change face on all frames, and change the default for new frames.
7834
b14654b9
DL
78352000-09-07 Dave Love <fx@gnu.org>
7836
7837 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
7838
d24fd56f
KH
78392000-09-07 Kenichi Handa <handa@etl.go.jp>
7840
794f3670
KH
7841 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
7842
0fddd0dc
KH
7843 * charset.c: Include composite.h
7844 (lisp_string_width): New function.
7845 (Fstring_width): Call lisp_string_width instead of strwidth.
7846
7847 * Makefile.in (charset.o): Depends on composite.h.
7848
d24fd56f
KH
7849 * process.c (read_process_output): Before inserting the decoded
7850 text in the buffer, adjust the multibyteness.
7851
fa0b693c
GM
78522000-09-06 Gerd Moellmann <gerd@gnu.org>
7853
52283633 7854 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
7855 buffer's text buffer is null, map new memory.
7856
0a58f946
GM
7857 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
7858 POINTER_TYPE and size_t.
7859 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
7860 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7861 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7862 [REL_ALLOC_MMAP]: New macros.
7863 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7864 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7865 [REL_ALLOC_MMAP]: New functions.
7866
7867 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7868 before and after unexec.
7869
7870 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7871 text buffers if necessary.
7872
7873 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7874 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7875 in prototypes.
7876
fa0b693c
GM
7877 * config.in (HAVE_MMAP): Add #undef.
7878
877055f6
GM
78792000-09-05 Gerd Moellmann <gerd@gnu.org>
7880
08ba3862
GM
7881 * frame.c (Qdisplay_type): New variable.
7882 (syms_of_frame_1): Initialize it.
7883 (Fframe_parameter): New function that avoids consing.
7884 (syms_of_frame): Defsubr it.
7885
66ffe51c
GM
7886 * buffer.c (Fother_buffer): Consider buffers as invisible when
7887 they are displayed in a window on an invisible frame.
7888
877055f6
GM
7889 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7890 get-largest-window always return nil.
7891
bb970e67
GM
78922000-09-04 Gerd Moellmann <gerd@gnu.org>
7893
7894 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7895 variable; recognize Emacs 19 elc files.
7896
7a3d0e0e
MB
78972000-09-04 Miles Bader <miles@gnu.org>
7898
7899 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7900 before initially popping up the menu, so the menu doesn't flash
52283633 7901 when the face settings are significantly different from the defaults.
7a3d0e0e 7902
14473664
SM
79032000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7904
7905 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7906 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7907 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7908 (BIT_UNIBYTE): Remove.
7909 (re_match_2_internal): Delete corresponding code and streamline the
7910 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7911 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7912 (re_wctype_t): New type.
7913 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7914 (regex_compile): Use them and fix handling of overly long char classes.
7915
c1174479
AI
79162000-09-03 Andrew Innes <andrewi@gnu.org>
7917
f8803e97
AI
7918 * makefile.w32-in: Change to DOS line endings.
7919
c1174479
AI
7920 * s/ms-w32.h (ORDINARY_LINK): New define.
7921
7922 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7923 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7924
7925 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7926 (distclean): Delete them here instead.
7927
44ef7cf6
AI
7928 * w32proc.c (compare_env): Convert to uppercase for comparison,
7929 not lowercase, to match how the native Windows shell works.
7930
49b3bd82
JR
79312000-09-03 Jason Rumney <jasonr@gnu.org>
7932
7933 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7934 CVS changes the line-ends when checking in/out on DOS/Windows.
7935
7936 * makefile.nt (emacs): Do not change directory to run temacs, as
7937 the load-path is set relative to current directory.
7938
a3d35a39
MB
79392000-09-03 Miles Bader <miles@gnu.org>
7940
7941 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7942
d276b0cf
GM
79432000-09-02 Gerd Moellmann <gerd@gnu.org>
7944
715e84c9
GM
7945 * xdisp.c (redisplay_mode_lines): New function.
7946 (display_mode_lines): Return number of mode lines displayed.
7947 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7948 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7949
8892f40b
GM
7950 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7951 string.h and strings.h.
7952 (index) [HAVE_INDEX]: Add prototype.
7953
d276b0cf
GM
7954 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
7955 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
7956
7957 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
7958 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7959
38404229
GM
79602000-09-01 Gerd Moellmann <gerd@gnu.org>
7961
7962 * lread.c (read1): Accept `?' as symbol constituent, for
7963 compatiblity with XEmacs.
7964
c0f9ea08
SM
79652000-08-31 Stefan Monnier <monnier@cs.yale.edu>
7966
7967 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
7968 (struct re_pattern_buffer): Remove newline_anchor.
7969 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
7970 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
7971 (re_max_failures, fail_stack): Use size_t rather than unsigned.
7972 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
7973 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
7974 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
7975 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
7976 Get rid of references to newline_anchor.
7977 (regcomp): Allocate and precompute a fastmap.
7978
8c0f83fe
GM
79792000-08-31 Gerd Moellmann <gerd@gnu.org>
7980
7981 * lread.c (openp): GCPRO local variable `filename'.
7982
4bb91c68
SM
79832000-08-30 Stefan Monnier <monnier@cs.yale.edu>
7984
7985 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
7986
7987 * regex.c: Merge some changes from GNU libc. Add prototypes.
7988 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
7989 Use memcmp and memcpy instead of bcopy and bcmp.
7990 (init_syntax_once): Use ISALNUM.
7991 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
7992 (REG_UNSET_VALUE): Remove. Use NULL instead.
7993 (REG_UNSET, re_match_2_internal): Use NULL.
7994 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
7995 New macros.
7996 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
7997 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
7998 (regex_compile): In handle_interval, return an error rather than try to
7999 unfetch the interval if we can't find the closing brace.
8000 Obey the RE_NO_GNU_OPS syntax bit.
8001 (TOLOWER): New macro.
8002 (regcomp): Use it.
8003 (regexec): Allocate regs.start and regs.end as one block.
8004
5226a931
GM
80052000-08-30 Gerd Moellmann <gerd@gnu.org>
8006
868dd24b
GM
8007 * xdisp.c (echo_area_display): Check display_completed instead
8008 of calling detect_input_pending.
8009
8010 * dispnew.c (update_frame): Only set display_completed here; move
8011 the update_begin and update_end calls here from update_frame_1.
8012 (update_frame_1): Don't set display_completed here, don't call
8013 update_begin/update_end.
8014
5226a931
GM
8015 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8016 instead of store_frame_param.
8017
2a8bd25f
GM
80182000-08-29 Gerd Moellmann <gerd@gnu.org>
8019
8020 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8021 desired window matrix hasn't been displayed, use the current row
8022 instead. Make sure that only those frame rows are updated for
8023 which there exists a corresponding enabled desired row.
52283633 8024
ba3478d9
MB
80252000-08-29 Miles Bader <miles@gnu.org>
8026
8027 * xfaces.c (default_face_vector): New function.
8028 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8029
87d0f685
GM
80302000-08-29 Gerd Moellmann <gerd@gnu.org>
8031
8032 * lread.c (openp): Prevent temporary string passed to
8033 Ffile_readable_p from being garbage collected.
8034
6fa86045
DL
80352000-08-28 Dave Love <fx@gnu.org>
8036
8037 * keymap.c (store_in_keymap): Add `static' to declaration.
8038
bb17930d
GM
80392000-08-28 Gerd Moellmann <gerd@gnu.org>
8040
8041 * emacs.c, callint.c, doc.c, editfns.c
8042 (toplevel) [HAVE_STRING_H]: Include string.h.
8043 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8044 (index): Remove prototypes which might conflict with non-standard
8045 definitions of index/strchr.
8046
8047 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8048 (rindex): Define only if !HAVE_RINDEX.
8049
8050 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8051
8052 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8053
87188200
MB
80542000-08-28 Miles Bader <miles@gnu.org>
8055
8056 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8057 made inconsistent by a font-related attribute in FROM.
8058 (merge_face_inheritance): Add function comment.
8059
41a68aef
KH
80602000-08-28 Kenichi Handa <handa@etl.go.jp>
8061
8062 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8063 the 4th arg (PREV_EVENT) Qt to suppress input method.
8064
f7c436c1
SM
80652000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8066
0b32bf0e
SM
8067 * regex.c: Indent cpp directives and remove parens after `defined'.
8068 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8069 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8070 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8071 (re_compile_pattern): Use size_t for length.
8072 (init_syntax_once): Move to a better place.
8073 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8074 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8075
f7c436c1
SM
8076 * syntax.c (back_comment): Detect cases where a comment-starter is
8077 actually inside another comment as in: /* a // b */ c // d \n.
8078 Make it clear that `comstart_pos' is unused for nested comments.
8079
8080 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8081 (KEYMAPP): New macro.
8082 (Fkeymap_parent, Fset_keymap_parent): Use it.
8083 (fix_submap_inheritance): Mark it static.
8084 (define_as_prefix, describe_buffer_bindings, describe_command)
8085 (describe_translation, describe_map): Complete prototypes.
8086
8087 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8088
8089 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8090 to better match the key-lookup behavior.
8091
6288c62f
GM
80922000-08-27 Gerd Moellmann <gerd@gnu.org>
8093
8094 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8095 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8096
e931344e
EZ
80972000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8098
8099 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8100 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8101 (xterm.o): Depend on coding.h
8102
d10dfeef
KH
81032000-08-26 Kenichi Handa <handa@etl.go.jp>
8104
8105 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8106 the corresponding '#endif'.
8107
2d73e8d3
MB
81082000-08-26 Miles Bader <miles@gnu.org>
8109
8110 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8111 * xfaces.c (QCinherit): New variable.
8112 (syms_of_xfaces): Initialize it.
8113 (LFACE_INHERIT): New macro.
8114 (Finternal_get_lisp_face_attribute)
52283633 8115 (merge_face_vector_with_property)
2d73e8d3
MB
8116 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8117 (check_lface_attrs): Allow new types of face height. Check
8118 inherit attribute.
8119 (CYCLE_CHECK): New macro.
8120 (merge_face_inheritance): New function.
8121 (merge_face_vectors): Merge inherited faces too. Add F and
8122 CYCLE_CHECK arguments.
8123 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8124 (lookup_named_face, lookup_derived_face, realize_named_face)
8125 (face_at_string_position, face_at_buffer_position): Supply
8126 new F and CYCLE_CHECK arguments to merge_face_vectors.
8127 (merge_face_heights): New function.
52283633 8128 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8129 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8130 handle relative face heights.
8131 (lface_same_font_attributes_p): Compare heights using EQ.
8132
6ce974d4
KH
81332000-08-26 Kenichi Handa <handa@etl.go.jp>
8134
8135 * charset.c (char_to_string): Check the character validity.
52283633 8136 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8137
dc1e502d
SM
81382000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8139
8140 * regex.c (PUSH_FAILURE_COUNT): New macro.
8141 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8142 Handle popping of a register's or a counter's data.
8143 (POP_FAILURE_POINT): Use the new name.
8144 (re_match_2_internal): Push counter data on the stack for succeed_n,
8145 jump_n and set_number_at and remove misleading dead code in succeed_n.
8146
bd9d0f3f
GM
81472000-08-25 Gerd Moellmann <gerd@gnu.org>
8148
8149 * xdisp.c (redisplay_internal): If considering all windows on all
8150 frames, update the display for each frame as soon as possible,
8151 instead of first building all desired matrices for all frames, and
8152 then updating them all.
8153 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8154
aa5b8e15
GM
81552000-08-24 Gerd Moellmann <gerd@gnu.org>
8156
17494071
GM
8157 * bytecode.c (mark_byte_stack): Add a comment.
8158
52283633
SM
8159 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8160 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8161 a graphical frame.
8162
c543db81
KH
81632000-08-24 Kenichi Handa <handa@etl.go.jp>
8164
d246d5f5
KH
8165 * minibuf.c (do_completion): Always use compare-string, not
8166 string-equal because the latter doesn't pay attention to
8167 multibyteness of strings.
8168
c543db81
KH
8169 * process.c (create_process): Don't setup raw-text coding here.
8170 (Fopen_network_stream): Don't set coding->src_multibyte and
8171 coding->dst_multibyte here.
8172 (read_process_output): For process filter, return unibyte string
8173 if default-enable-multibyte-characters is nil.
8174 (send_process): If OBJECT is multibyte text, be sure to encoded it
8175 by the specified coding system for the process. Otherwise, setup
8176 raw-text coding.
52283633 8177 (init_process): Don't initialize default-process-coding-system here.
c543db81 8178
9b47cfe0
EZ
81792000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8180
8181 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8182 <scroll-down-aggressively>: Likewise.
8183
f5a36960
KH
81842000-08-23 Kenichi Handa <handa@etl.go.jp>
8185
8186 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8187 zero. Set coding->produced_char correctly.
8188
69a7ffa7
AI
81892000-08-22 Andrew Innes <andrewi@gnu.org>
8190
8191 * makefile.w32-in: New file.
8192
8193 * unexw32.c (unexec): Ignore old_name, and use the actual location
8194 of the current executable instead. Base new_name on this.
8195
8196 * w32proc.c (create_child): Remove reference to security
8197 descriptor, which isn't needed and doesn't compile with mingw32.
8198
8199 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8200 up dllimport attributes.
8201 (x_update_window_end): Update prototype.
8202
8203 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8204 extern, which screws up dllimport attributes.
8205
8206 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8207 up dllimport attributes.
8208
8209 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8210 screws up dllimport attributes.
8211
8212 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8213 up dllimport attributes.
8214 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8215 screws up dllimport attributes.
8216
8217 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8218 up dllimport attributes.
8219
8220 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8221 screws up dllimport attributes.
8222
8223 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8224 screws up dllimport attributes.
8225
8226 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8227 up dllimport attributes.
8228
8229 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8230 unnecessary extern, which screws up dllimport attributes.
8231 (main): Ditto.
8232
8233 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8234 up dllimport attributes.
8235
8236 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8237 unnecessary extern, which screws up dllimport attributes.
8238
8239 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8240 screws up dllimport attributes.
8241
8242 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8243 up dllimport attributes.
8244
8245 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8246
52283633
SM
8247 * w32bdf.c (search_file_line):
8248 (set_bdf_font_info):
8249 (seek_char):
8250 (w32_get_bdf_glyph):
69a7ffa7
AI
8251 (w32_BDF_to_x_font): Fix compile warnings.
8252
52283633 8253 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8254
8255 * w32select.c: Include keyboard.h before frame.h.
8256
8257 * w32fns.c (max): Define macro.
8258 (JOHAB_CHARSET): Define if not known.
8259 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8260 (Fx_show_tip): Synch with X version.
8261
8262 * w32xfns.c: Include keyboard.h before frame.h.
8263
8264 * w32fns.c: Include keyboard.h before frame.h.
8265
8266 * w32term.c: Include keyboard.h before frame.h.
8267
8268 * fontset.c: Include keyboard.h before frame.h.
8269
8270 * w32inevt.c: Include keyboard.h before frame.h.
8271 (MOUSE_MOVED): Define if not known.
8272
8273 * minibuf.c: Include keyboard.h before frame.h.
8274
8275 * keyboard.c: Include keyboard.h before frame.h.
8276
8277 * indent.c: Include keyboard.h before frame.h.
8278
8279 * dispnew.c: Include keyboard.h before frame.h.
8280
8281 * buffer.c: Include keyboard.h before frame.h.
8282
8283 * alloc.c: Include keyboard.h before frame.h.
8284
8285 * print.c: Include keyboard.h before frame.h.
8286
8287 * process.c: Include keyboard.h before frame.h.
8288
8289 * scroll.c: Include keyboard.h before frame.h.
8290
8291 * sysdep.c: Include keyboard.h before frame.h.
8292
8293 * term.c: Include keyboard.h before frame.h.
8294
8295 * window.c: Include keyboard.h before frame.h.
8296
8297 * xdisp.c: Include keyboard.h before frame.h.
8298 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8299
8300 * frame.c: Include keyboard.h before frame.h.
8301
8302 * w32heap.h: Undefine min, max.
8303
8304 * w32gui.h: Undefine min, max.
8305
8306 * unexw32.c: Change PUCHAR to PCHAR.
8307 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8308 (relocate_offset):
8309 (get_section_info):
69a7ffa7
AI
8310 (copy_executable_and_dump_data): Remove unnecessary static defs.
8311 (copy_executable_and_dump_data): Fix compile warnings.
8312
8313 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8314
8315 * w32console.c (min): Define macro.
8316 (clear_frame, write_glyphs): Fix compile warning.
8317
52283633 8318 * w32proc.c (compare_env):
69a7ffa7
AI
8319 (find_child_console): Fix compile warning.
8320
8321 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8322 sys_errlist instead of _sys_errlist.
8323 (get_emacs_configuration_options): New function.
8324
8325 * s/ms-w32.h (sys_nerr): Provide default definition.
8326 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8327 name with _ prepended.
8328 (NSIG): Define if not known.
8329 (get_emacs_configuration): Provide extern declaration.
8330 (get_emacs_configuration_options): Provide extern declaration.
8331 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8332
8333 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8334 (map_w32_filename):
69a7ffa7
AI
8335 (read_unc_volume): Fix compile warning.
8336
8337 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8338 definitions from being used.
8339
8340 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8341
52283633 8342 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8343 (open_unc_volume): Make arg const.
8344
8345 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8346 (read_input_waiting): Remove excess parameter.
8347
8348 * w32.c (init_environment): Call _access.
8349 (check_windows_init_file): Call _close.
8350 (init_user_info): Call _putenv.
8351 (init_environment): Call _putenv and _strdup.
8352 (init_ntproc): Reset volume info cache on startup.
8353
8354 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8355 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8356 cannot override the CRT malloc.
8357
8358 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8359 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8360
8361 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8362 unless we are linking with a static CRT.
8363 (RVA_TO_PTR): Cast result to unsigned char*.
8364
8365 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8366 (add_volume_info): Use xstrdup.
8367
25060080
SM
83682000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8369
8370 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8371 (do_completion, Fminibuffer_complete_word): Use it.
8372 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8373 var so it can take non-boolean values.
8374
6917e6bb
GM
83752000-08-21 Gerd Moellmann <gerd@gnu.org>
8376
acb7cc89 8377 * editfns.c (find_field): Formatting changes.
52283633 8378 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8379 changed to prototypes, some new protypes added, some functions
8380 made static.
8381
8382 * lisp.h (set_time_zone_rule): Add prototype.
8383 (use_dialog_box): External declaration.
8384
0bbfdc25
GM
8385 * keyboard.c (gen_help_event): Add parameter SIZE.
8386 (kbd_buffer_events_waiting): Slightly rewritten.
8387 (clear_event): New function.
8388 (kbd_buffer_get_event): Use it, and clear the input_events of
8389 HELP_EVENTs.
8390 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8391 don't fill the newly created array with nils.
8392 (toplevel): Convert some old-style function forward declarations
8393 to prototypes.
8394
8395 * keyboard.h (gen_help_event): Change prototype.
8396
8397 * xterm.c (XTread_socket): Change calls to gen_help_event.
8398
8399 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8400
6917e6bb
GM
8401 * eval.c (Fmacroexpand): Doc fix.
8402
e5cd3d11
JR
84032000-08-20 Jason Rumney <jasonr@gnu.org>
8404
8405 * w32term.h (x_display_info_for_display): Remove as this function
8406 does not exist on W32.
8407
8408 * w32term.c (help_echo_window): New variable.
8409 (syms_of_w32term): staticpro it.
8410 (note_mode_line_highlight): Set it.
8411 (XTextExtents16): Removed as there is no equivalent on W32.
8412 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8413 the X way of doing this will not work for W32.
8414 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8415 (x_draw_image_foreground): Avoid drawing outside of the clip area
8416 when image doesn't have a mask.
8417 (note_mouse_highlight): Process overlays in the right order of
8418 priority. Set help_echo_window.
8419 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8420 because that's more visible for large images.
8421
8422 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8423 name to single_keymap_panes.
8424 (w32_menu_show): Set wv->title when dealing with titles.
8425 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8426
6e69ab8c
MB
84272000-08-21 Miles Bader <miles@gnu.org>
8428
8429 * minibuf.c (do_completion): Try again if we rewrite the input
8430 string, but no completion was done, so that any completion message
8431 will be correct.
8432
511bd4eb
GM
84332000-08-20 Gerd Moellmann <gerd@gnu.org>
8434
8435 * xfaces.c (lface_equal_p): Compare strings differently.
8436 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8437 (realize_tty_face): Use them.
8438 (syms_of_xfaces): Initialize new variables.
8439 (map_tty_color): New function, extracted from realize_tty_face.
8440 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8441 foreground or background color, store the new color name in the
8442 realized face; previous code trying to do this had no effect.
8443 (realize_tty_face): Use map_tty_color.
8444 (Fclear_face_cache): Set face_change_count and ensure thorough
8445 redisplay.
8446
1433385f
GM
84472000-08-19 Gerd Moellmann <gerd@gnu.org>
8448
511bd4eb
GM
8449 * undo.c (record_first_change, record_marker_adjustment): Don't
8450 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8451
419ac0a2
KH
84522000-08-18 Kenichi Handa <handa@etl.go.jp>
8453
8454 * coding.c (decode_coding_string): Set members consumed,
8455 consumed_char, produced, produced_char of *coding correctly. If
8456 decode_coding doesn't consume any byte, don't try anymore.
8457 (encode_coding_string): Likewise.
8458
7eb9e30d
GM
84592000-08-18 Gerd Moellmann <gerd@gnu.org>
8460
511bd4eb
GM
8461 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8462 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8463
8464 * xdisp.c (redisplay_internal): Compare windows for equality with
8465 EQ, instead of applying XWINDOW to something that might not
8466 be a window.
52283633 8467
dd34a735
KH
84682000-08-18 Kenichi Handa <handa@etl.go.jp>
8469
8470 * fontset.c (Finternal_char_font): Search only the selected frame
8471 for a window of the current buffer.
8472
385ff9e3
GM
84732000-08-18 Gerd Moellmann <gerd@gnu.org>
8474
511bd4eb 8475 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8476 Lisp_Objects.
8477
385ff9e3
GM
8478 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8479 second half of a HELP_EVENT is found at the start of kbd_buffer.
8480
d6abb4c7
MB
84812000-08-18 Miles Bader <miles@gnu.org>
8482
4618074a
MB
8483 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8484
d6abb4c7
MB
8485 * editfns.c (save_restriction_save): Rewrite to use markers.
8486 (save_restriction_restore): Rewrite to understand new form of data
8487 saved by save_restriction_save.
8488 (Fsave_restriction): Remove cautionary note in doc-string.
8489
a7b28523
GM
84902000-08-17 Gerd Moellmann <gerd@gnu.org>
8491
8492 * fileio.c (build_annotations): Add a comment explaining the
8493 return value of format-annotate-function. Replace a spurious call
8494 to Flength with a CONSP test. Call format-annotate-function with
8495 a fifth arg specifying how many times the function is been called
8496 in a row, to let it choose temporary buffers appropriately.
8497
03c9ed77
DL
84982000-08-17 Dave Love <fx@gnu.org>
8499
8500 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8501 declare make_temp_name twice.
8502
52283633 8503 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8504 (unreadpure): Give it an arg.
8505
8506 * unexalpha.c: Prototype fatal_unexec, mark_x,
8507 update_dynamic_symbols. Declare unexec as void.
8508
8509 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8510 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8511
8512 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8513 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8514
8515 * alloca.c: Use #error.
8516 [POINTER_TYPE]: Use it.
8517
8518 * eval.c (Fdefvar): Doc fix.
8519
8520 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8521 INITIALIZE_INTERVAL.
8522
8523 * buffer.h: Avoid DECLARE_INTERVALS.
8524
8525 * config.in: Add size_t.
8526
aae41d97
EZ
85272000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8528
8529 * w16select.c (set_clipboard_data): If there's not enough memory
8530 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8531 expects. In case of other failures, return 3.
8532 (system_error_msg): New error message.
8533 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8534 system_error_msg.
8535
65aa5e85
GM
85362000-08-16 Gerd Moellmann <gerd@gnu.org>
8537
8538 * term.c (write_glyphs): Also turn off inverse video after turning
8539 off other appearances in case TS_exit_attribute_mode is not equal
8540 to TS_end_standout_mode.
8541 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8542 with the same face.
8543 (turn_off_face): Reset standout_mode only if
8544 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8545 is equal to TS_end_standout_mode.
8546
ece23901
KH
85472000-08-16 Kenichi Handa <handa@etl.go.jp>
8548
9d7bcb2e
KH
8549 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8550 sequence at the end of the source block.
8551
ece23901
KH
8552 * ccl.c (Fccl_program_p): Docstring modified.
8553 (Fccl_execute): Likewise.
8554 (Fccl_execute_on_string): Likewise.
8555
5e30eaa2
EZ
85562000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8557
8558 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8559
290602fd
KH
85602000-08-16 Kenichi Handa <handa@etl.go.jp>
8561
8562 The following changes are mainly to fix bugs of
8563 encode/decode-coding-string failing if encoding/decoding return
8564 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8565 variable conversion_buffer.
8566
8567 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8568 decrement dst_end to avoid buffer overflow in the later call of
8569 string_as_multibyte
8570
8571 * coding.h (conversion_buffer_size, conversion_buffer)
8572 (get_conversion_buffer): Extern deleted.
8573
8574 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8575 (conversion_buffer, conversion_buffer_size): Variables deleted.
8576 (get_conversion_buffer): Function deleted.
8577 (struct conversion_buffer): New structure.
8578 (MAX_ALLOCA): New macro.
8579 (allocate_conversion_buffer): New macro.
8580 (extend_conversion_buffer, free_conversion_buffer): New functions.
8581 (ccl_coding_driver): Set coding->result.
8582 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8583 this is the last block of source.
8584 (encode_coding): Likewise. Handle the source block as the last
8585 one only when the whole source text is consumed.
8586 (decode_coding_string): Handle the case that the output buffer is
8587 too small to decode the whole source text. Use
8588 allocate_conversion_buffer, extend_conversion_buffer and
8589 free_conversion_buffer, not get_conversion_buffer.
8590 (encode_coding_string): Likewise.
8591 (init_coding): Function deleted.
52283633 8592 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8593
8594 * emacs.c (main): Don't call init_coding.
8595
52283633 8596 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8597
8598 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8599 (insert_glyphs): Likewise.
8600
8601 * w32console.c (write_glyphs): Use a locally declared
8602 conversion_buffer.
8603
b9f80d41
EZ
86042000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8605
8606 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8607 member of display_info is NULL.
8608
32dc52f7
GM
86092000-08-15 Gerd Moellmann <gerd@gnu.org>
8610
52283633 8611 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8612
32dc52f7 8613 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8614 appearances with capability `me'.
32dc52f7
GM
8615 (write_glyphs): Switch on inverse video before each face change.
8616
4eb22d33
DL
86172000-08-14 Dave Love <fx@gnu.org>
8618
8619 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8620 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8621 (lisp_free): Declare and make static.
8622
8623 * window.c: Fix embedded comment.
8624 (syms_of_window): Fix doc string.
8625
90cbf47e
GM
86262000-08-14 Gerd Moellmann <gerd@gnu.org>
8627
52283633 8628 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
8629 make sure to print `C-' before `M-', like in the manual.
8630
440fc135
GM
86312000-08-11 Gerd Moellmann <gerd@gnu.org>
8632
8633 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8634 since they aren't relocated anymore.
52283633 8635 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
8636
8637 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 8638 partially visible line which is smaller than the window's height.
440fc135 8639
6e264fad
KH
86402000-08-11 Kenichi Handa <handa@etl.go.jp>
8641
8642 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 8643 the multibyte form of eight-bit-control characters.
6e264fad
KH
8644 (Fccl_execute_on_string): Initialize ccl->multibyte.
8645
8646 * ccl.h (struct ccl_program): New member multibyte.
8647
8648 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
8649
c371f69a
KH
86502000-08-11 Kenichi Handa <handa@etl.go.jp>
8651
8652 * regex.c (regex_compile) <normal_char>: Pay attention to
8653 multibyteness.
8654 (analyse_first) <exactn>: Setup fastmap correctly for
8655 eight-bit-control characters.
8656
86572000-08-11 Kenichi Handa <handa@etl.go.jp>
8658
52283633 8659 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
8660
8661 * keyboard.c (make_lispy_event): Handle the new event type
8662 multibyte_char_keystroke.
8663
8664 * xterm.c: Include coding.h.
8665 (XTread_socket): Work around a bug of XmbLookupString. If the
8666 input is from XIM, decode it according to the current locale. In
8667 that case, generate multibyte_char_keystroke events.
8668
b8ddbe71
KH
86692000-08-11 Kenichi Handa <handa@etl.go.jp>
8670
8671 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
8672 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
8673
47589c8c
GM
86742000-08-10 Gerd Moellmann <gerd@gnu.org>
8675
8676 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
8677 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
8678 (move_it_in_display_line_to): Record iterator's ascent and descent
8679 before producing glyphs, and restore them when we know the glyph
8680 doesn't fit on the line.
8681 (move_it_to): Restructured so that it's easier to debug. If
8682 moving to a vpos, and not moving to an x or character position,
8683 stop as soon as the specified vpos is reached; don't move further
8684 into that line because that might change the computed line height.
8685 (try_cursor_movement): New function, extracted from the cursor
8686 movement branch of redisplay_window. If ending on a partially
8687 visible line, don't try to scroll if the cursor line is taller
8688 than the window.
8689 (redisplay_window): Use try_cursor_movement.
8690
8691 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8692 because that function doesn't cope with variable-height lines.
8693
8694 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8695 box cursor because that's better visible for large images.
52283633 8696
c51bacd6
MB
86972000-08-10 Miles Bader <miles@gnu.org>
8698
8699 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8700
bea56df7
GM
87012000-08-10 Gerd Moellmann <gerd@gnu.org>
8702
8703 * xdisp.c (Vmessages_buffer_name): New variable.
8704 (message_dolog): Use it.
8705 (syms_of_xdisp): Initialize it.
8706
99cd7364
EZ
87072000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8708
52283633 8709 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
8710 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8711 redundant now that keyboard.h is included.
8712
7d093d56
EZ
87132000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8714
8715 * keyboard.c (kbd_buffer_events_waiting): New function.
8716
8717 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8718
8719 * msdos.c: Include keyboard.h.
8720 (XMenuActivate): Empty no_event events from the event buffer. If
8721 no events are left after that, call clear_input_pending.
8722 (mouse_clear_clicks): New function, code moved from mouse_init.
8723 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8724 mouse driver to ``forget'' any past clicks.
8725
8726 * Makefile.in (msdos.o): Depend on keyboard.h.
8727
41e757a6
GM
87282000-08-09 Gerd Moellmann <gerd@gnu.org>
8729
8e7bd231
GM
8730 * lisp.h (input_pending): External declaration.
8731
8732 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8733
8e7bd231
GM
8734 * xdisp.c (echo_area_display): Display thoroughly if input is
8735 pending. Bind redisplay-dont-pause to t during the redisplay.
8736 in case input is pending.
8737
8738 * dispnew.c (Qredisplay_dont_pause): New variable.
8739 (syms_of_display): Initialize and staticpro it.
8740 (update_frame_1): Don't interrupt the display for pending input if
8741 redisplay_dont_pause is set.
52283633 8742
43028b7e
GM
8743 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8744
41e757a6
GM
8745 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8746
2f2174fa
KH
87472000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8748
8749 * callproc.c (Fcall_process): Terminate the unwind-protect around
8750 the post-read-conversion of coding system.
8751
0a6fd67e
MB
8752 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8753 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8754 * buffer.h (overlays_at): Update prototype.
8755 * xdisp.c (next_overlay_change): Update call to overlays_at.
8756 * xfaces.c (face_at_buffer_position): Likewise.
8757 * textprop.c (Fget_char_property): Likewise.
8758 * xterm.c (note_mouse_highlight): Likewise.
8759
0c80756e
MB
8760 * minibuf.c (do_completion): Don't consider a simple change of
8761 case as `completion'.
8762
975f250a
KR
87632000-08-08 Ken Raeburn <raeburn@gnu.org>
8764
52283633 8765 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8766 * undo.c (record_delete): Make sure last_point_position_buffer is
8767 a buffer before comparing pointers.
8768
8769 * coding.h (decode_coding_string): Declare.
8770
8771 * intervals.h (Fprevious_single_char_property_change): Declare.
8772
8773 * textprop.c (Fprevious_single_char_property_change): Don't do
8774 arithmetic directly on lisp objects.
8775
52283633 8776 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
8777
8778 * keyboard.h (menu_item_eval_property): Declare.
8779
8780 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8781 reuse as buffer name, instead of recreating (and discarding) every
8782 time a message is logged.
8783 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
8784 (current_message_1, truncate_message_1, set_message_1)
8785 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8786 (current_message, truncate_echo_area, display_echo_area)
8787 (resize_echo_area_axactly): Changed calls.
b347b3fd 8788
975f250a 8789 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 8790 Lisp object.
975f250a 8791 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 8792 must be an integer, not a Lisp object.
975f250a 8793
46dc9912
KH
87942000-08-08 Kenichi Handa <handa@etl.go.jp>
8795
8796 * charset.c (Fchar_width): Doc fix.
8797
9f6d1a6c
GM
87982000-08-08 Gerd Moellmann <gerd@gnu.org>
8799
8800 * charset.c (Fstring_width): Doc fix.
8801
ff3d9573
GM
88022000-08-07 Gerd Moellmann <gerd@gnu.org>
8803
41e757a6 8804 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
8805 line, clear ascent and descent members of the iterator structure;
8806 the height of the continued line does not affect the height of the
8807 continuation line.
8808 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8809 line taller than the window.
8810 (redisplay_window) <forced window start>: Handle case that the
8811 middle of the window is not found in any row.
8812 (dump_glyph_row): Show more information.
8813 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8814 first text line in a glyph matrix.
8815
8816 * xterm.c (x_draw_image_foreground): Avoid drawing outside
8817 of the clip area when image doesn't have a mask.
8818
70fc58b3
GM
8819 * fns.c (sweep_weak_table): Fix survival conditions for
8820 key-or-value and key-and-value weakness.
8821
8822 * .gdbinit (xhashtable): New command.
8823
ac0e96ee
GM
8824 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
8825 tables out of the list of all weak hash tables.
8826
ff3d9573
GM
8827 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
8828 a new buffer is created, make sure echo_area_buffer[] references
8829 the new buffer.
8830
e0d8827b
EZ
88312000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
8832
8833 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
8834 the doc string.
8835
c6f35378
KH
88362000-08-07 Kenichi Handa <handa@etl.go.jp>
8837
8838 * syntax.c (skip_chars): Fix previous change. Make the handling
8839 of unibyte string consistent with that of regex search.
8840
1fd4c450
GM
88412000-08-05 Gerd Moellmann <gerd@gnu.org>
8842
e49aa397
GM
8843 * xmenu.c (popup_get_selection): Use xfree instead of free.
8844
8845 * fileio.c (Finsert_file_contents): Use xfree instead of free.
8846
8847 * editfns.c (Ftranspose_regions): Use xfree instead of free.
8848
8849 * callproc.c (child_setup): Use xfree instead of free.
8850
8851 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
8852 instead of malloc.
8853 (run_mac_command, closedir): Use `xfree' instead of `free'.
8854
8855 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
8856
8857 * eval.c (error): Use xfree instead of free.
8858
1fd4c450
GM
8859 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
8860
8861 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8862 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8863
82d497fc
KH
88642000-08-05 Kenichi Handa <handa@etl.go.jp>
8865
8866 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8867 conversion.
8868
59f953a2
NF
88692000-08-04 Noah Friedman <friedman@splode.com>
8870
8871 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8872 docstring.
8873
688351f2
GM
88742000-08-04 Gerd Moellmann <gerd@gnu.org>
8875
8876 * syntax.c (skip_chars): Fix typo in error message.
8877
2dad51cc
AS
88782000-08-04 Andreas Schwab <schwab@suse.de>
8879
8880 * m/ia64.h: Moved from s/ia64.h.
8881
99bb2c60
KH
88822000-08-04 Kenichi Handa <handa@etl.go.jp>
8883
082a1df2
KH
8884 * process.c (read_process_output): Big simplification. Handle
8885 composition and post-read-conversion of coding system correctly.
8886 (send_process): Handle composition correctly.
8887
8888 * callproc.c (Fcall_process): Handle post-read-conversion of
8889 coding system if any.
8890
99bb2c60
KH
8891 * coding.c (decode_coding_iso2022): More strict check for handling
8892 single shifting.
082a1df2
KH
8893 (coding_restore_composition): Pay attention to the case that
8894 cmp_data is not set properly (because of invalid code in the
8895 source text).
8896 (run_pre_post_conversion_on_str): Include text properties in the
8897 resulting string.
8898 (decode_coding_string): Set members of coding correctly.
99bb2c60 8899
f4988be7
GM
89002000-08-03 Gerd Moellmann <gerd@gnu.org>
8901
8902 * s/ia64.h: New file.
8903
8904 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8905 Use NULL instead of 0 at the end of variable argument list of
8906 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8907 sizeof (int) < sizeof (void *).
8908
8909 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8910 of variable argument lists of XtVaGetValues and XtVaSetValues.
8911
8912 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8913 variable argument lists of XtVaGetValues and XtVaSetValues.
8914
ead53494
GM
89152000-08-02 Gerd Moellmann <gerd@gnu.org>
8916
8917 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8918 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8919
8920 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8921 prototype.
8922
8923 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8924 in call to Fsingle_key_description.
8925
8926 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8927 Callers changed.
8928
89292000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8930
8931 * window.c (display_buffer_reuse_frames): New variable.
8932 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8933 frames displaying BUFFER.
52283633 8934 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8935
10b0f752
MB
89362000-08-01 Miles Bader <miles@gnu.org>
8937
8938 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8939 when to constrain NEW_POS (they were pretty screwed up before).
8940
16425c4a
EZ
89412000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8942
8943 * msdos.c (run_msdos_command): Save and restore the master
8944 environment, for the case that child_setup signals an error.
8945 When mirroring slashes in DOS shell commands, don't fail when
8946 argv[2] has embedded blanks.
da288c14
EZ
8947 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8948 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8949 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8950
8951 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
8952 using alloca; free it after run_msdos_command returns.
8953
27f73852
DL
89542000-07-27 Dave Love <fx@gnu.org>
8955
52283633
SM
8956 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
8957 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
8958
8959 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
8960
c0261b5e
EZ
89612000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
8962
8963 * editfns.c (lisp_time_argument): Fix last change.
8964
b548072f
GM
89652000-07-27 Gerd Moellmann <gerd@gnu.org>
8966
3ab82477
GM
8967 * fns.c (Fdelete): Make it work on vectors and strings in addition
8968 to lists.
8969
b548072f
GM
8970 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
8971 (syms_of_fns): Initialize new variables.
52283633 8972 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
8973 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
8974 weakness, with t meaning the same as `key-and-value'.
8975
91ae8751
KH
89762000-07-27 Kenichi Handa <handa@etl.go.jp>
8977
8978 * coding.h (struct coding_system): Member safe_charset deleted.
8979
8980 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
8981 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
8982 New variables.
91ae8751
KH
8983 (coding_safe_chars): New function.
8984 (CODING_SAFE_CHAR_P): New macro.
8985 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 8986 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
8987 (detect_coding_iso2022): New local variable safe_chars.
8988 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
8989 safe_charsets member of the coding system.
8990 (decode_coding_iso2022): New local variable safe_chars.
8991 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
8992 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
8993 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
8994 (ENCODE_UNSAFE_CHARACTER): New macro.
8995 (encode_coding_iso2022): New local variable safe_chars. Check
8996 unsafe chars.
8997 (setup_coding_system): Delete the code to initialize
8998 coding->safe_charses
8999 (intersection, find_safe_codings): New functions.
9000 (Ffind_coding_systems_region_internal): New function.
9001 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9002 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9003 variable and initialize it.
9004
9005 * fns.c (char_table_ref_and_index): New function.
9006
9007 * lisp.h (char_table_ref_and_index): Add prototype.
9008
34a7a267
SS
90092000-07-26 Sam Steingold <sds@gnu.org>
9010
9011 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9012 (Ffloat_time): New built-in Lisp function.
34a7a267 9013
a95cb10a
GM
90142000-07-26 Gerd Moellmann <gerd@gnu.org>
9015
3353ef5a
GM
9016 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9017 for the character code.
9018
9019 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9020 GNU/Linux.
9021
a95cb10a
GM
9022 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9023 if called for a popup menu.
9024 (xmenu_show): Store help string in widget values.
9025
b4a12321
DL
90262000-07-26 Dave Love <fx@gnu.org>
9027
9028 * syswait.h: Move some definitions.
9029 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9030 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9031 perspicuous definitions.
9032 (WTERMSIG): Fix bit pattern used.
9033
13f5ad37
KH
90342000-07-26 Kenichi Handa <handa@etl.go.jp>
9035
9036 * print.c (print_object): If vector printing is truncated, print
9037 "..." to indicate it as well as the case of list printing.
9038
070fe99c
GM
90392000-07-25 Gerd Moellmann <gerd@gnu.org>
9040
969065c3
GM
9041 * xdisp.c (next_element_from_display_vector): Improve comments.
9042
9043 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9044 for the character code, and the rest for the face id as in 20.x.
9045 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9046
9047 * window.c (window_display_table): Cleaned up.
9048
070fe99c
GM
9049 * syntax.c (Fforward_word): Add last arg nil in call of
9050 Fconstrain_to_field.
9051
bad77ef7
EZ
90522000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9053
969065c3 9054 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9055 identical but for the letter-case, don't call
9056 barf_or_query_if_file_exists.
bad77ef7 9057
c28da489
MB
90582000-07-25 Miles Bader <miles@gnu.org>
9059
9060 * editfns.c (find_field): Honor special `boundary' fields.
9061 (Qboundary): New variables.
9062 (syms_of_editfns): Initialize Qboundary.
9063 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9064 Use scan_buffer instead of find_before_next_newline, because it
9065 allows us to detect the boundary case where there's a newline at
9066 the search limit.
9067 * lisp.h (Fconstrain_to_field): Update external declaration.
9068
e3c31fd5
GM
90692000-07-24 Gerd Moellmann <gerd@gnu.org>
9070
9071 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9072 if that is nil.
c28da489 9073
c66c29a2
DL
90742000-07-24 Dave Love <fx@gnu.org>
9075
9076 * s/sunos4-0.h, s/sol2.h:
9077 (LIBS_TERMCAP): Move from m/sparc.h.
9078
9079 * m/sparc.h (TERMINFO): Moved to system files (probably only
9080 relevant for sunos4 judging by its vintage).
9081 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9082 __arch64__.
9083
fbe0a958
EZ
90842000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9085
9086 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9087 name to single_keymap_panes.
9088
7d88e5c9
AS
90892000-07-24 Andreas Schwab <schwab@suse.de>
9090
9091 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9092
e024b101
GM
90932000-07-24 Gerd Moellmann <gerd@gnu.org>
9094
9095 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9096 parameters instead of using int parameters. Expect FN to accept
9097 EMACS_INT parameters.
9098 (display_echo_area, resize_echo_area_axactly, current_message)
9099 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9100 with new argument list.
9101 (resize_mini_window_1): New callback function.
9102 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9103 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9104
25c1a9ce
KH
91052000-07-24 Kenichi Handa <handa@etl.go.jp>
9106
9107 * fontset.c (fontset_ref): Remove INLINE declaration.
9108 (fontset_ref_via_base): Likewise.
9109 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9110 to downcase.
9111
7f987ac0
EZ
91122000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9113
9114 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9115 correct order of priority. If help echo was found in an overlay,
9116 use that overlay as the object in which the help echo was found.
9117
e2db3069
MB
91182000-07-22 Miles Bader <miles@gnu.org>
9119
9120 * textprop.c (Fprevious_single_char_property_change): The initial
9121 property value should be from the position preceding POSITION, not
9122 following it.
9123
5e3203e4
EZ
91242000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9125
9126 * coding.c (syms_of_coding): Doc fix for
9127 inhibit-iso-escape-detection.
9128
62145073
GM
91292000-07-21 Gerd Moellmann <gerd@gnu.org>
9130
c20aeb83
GM
9131 * xterm.c (note_mouse_highlight): Process overlays in the right
9132 order of priority.
34a7a267 9133
743934db
GM
9134 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9135
9136 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9137 overlay, use that overlay as the object in which the help was found.
743934db 9138
d1dc7e43 9139 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9140
62145073
GM
9141 * window.c (foreach_window): Instead of a fake variable argument
9142 list, take one USER_DATA argument.
9143 (foreach_window_1): Likewise, and call callback functions with two
9144 args, the window and USER_DATA.
9145 (struct check_window_data): New struct.
9146 (check_window_containing): Use it.
9147 (window_from_coordinates): Set up a struct check_window_data for
9148 foreach_window.
9149 (add_window_to_list, freeze_window_start): Change parameters
9150 according to new calling convention.
9151
9152 * window.h (foreach_window): Change prototype.
9153
9154 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9155
91562000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9157
9158 * xmenu.c (menu_help_callback): Call show_help_echo with
9159 additional arguments OBJECT and POS.
9160
11270583
KH
91612000-07-21 Kenichi Handa <handa@etl.go.jp>
9162
07b14857
KH
9163 * data.c (Faset): Allow storing any multibyte character in a
9164 string. Convert unibyte string to multibyte if necessary.
9165
11270583
KH
9166 * xfns.c (x_encode_text): New function.
9167 (x_set_name): Use x_encode_text.
9168 (x_set_title): Likewise.
9169
9170 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9171
9172 * xterm.h (x_encode_text): Add prototype.
9173
bc75b4fd
DL
91742000-07-20 Dave Love <fx@gnu.org>
9175
9176 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9177 xfree, not free.
9178
48c14970
EZ
91792000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9180
9181 * msdos.c (help_echo_window): New variable.
9182 (syms_of_msdos): Initialize and staticpro it.
9183 (IT_note_mode_line_highlight): Set help_echo_window.
9184 (IT_note_mouse_highlight): Ditto.
9185 (dos_rawgetc): Store help_echo_window in the second event produced
9186 for HELP_EVENTs.
9187
9188 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9189 Record the object that generated the help echo and the position of
9190 that object in help_echo_object and help_echo_pos. Record that
9191 some glyphs in a row are displayed in mouse-face.
9192 (IT_update_begin): Don't clear mouse highlight unless one of the
9193 enabled glyph rows is marked as being displayed in mouse-face.
9194 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9195 and position recorded in help_echo_object and help_echo_pos to the
9196 event queue.
9197 (IT_menu_display): Accept a new argument PN: the pane number of
9198 the current menu pane. Record the pane number and the item
9199 number of the item which has associated help string.
9200 (XMenuActivate): Update the prototype for help_callback in
9201 function declaration. Call IT_menu_display with the current menu
9202 pane number as an additional argument. Call help_callback with
9203 two additional arguments: the pane number and the item number of
9204 the menu item associated with the help text.
9205 (help_echo_object, help_echo_pos): New variables.
9206 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9207
9208 * msdos.h (XMenuActivate): Update prototype.
9209
4279296d
GM
92102000-07-19 Gerd Moellmann <gerd@gnu.org>
9211
47db06aa
GM
9212 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9213 Add some more prototypes.
9214
9215 * xterm.c, xterm.h: Add some more prototypes.
9216
9217 * lisp.h (Fnext_single_char_property_change): Add prototype.
9218
9219 * dispnew.c (direct_output_for_insert): Remove confusing
9220 outer local variable mouse_face_overwritten_p.
9221 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9222
4279296d
GM
9223 * alloc.c (allocate_string_data): Don't copy old string contents.
9224
670acd62
KH
92252000-07-19 Kenichi Handa <handa@etl.go.jp>
9226
9227 * coding.c (code_convert_region): Delete text properties before
9228 shrinking the conversion region.
9229
7cea38bc
GM
92302000-07-18 Gerd Moellmann <gerd@gnu.org>
9231
dc1cac59
GM
9232 * dispnew.c (update_text_area): Write the whole row if it
9233 has mouse-face in it.
9234
85a8aca9
GM
9235 * xfaces.c (face-alternative-font-family-alist): Remove
9236 DEFVAR_LISP; staticpro instead.
9237
34a7a267 9238 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9239 new arguments.
9240
9241 * keyboard.c (show_help_echo): Add parameter WINDOW.
9242 (read_char): Call show_help_echo with window extracted from Lisp
9243 help event.
9244 (gen_help_event): Add parameter WINDOW.
9245
9246 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9247
9248 * xterm.c (help_echo_window): New variable.
52283633 9249 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9250 (XTread_socket): Pass help_echo_window to gen_help_event.
9251 (syms_of_xterm): Initialize and staticpro help_echo_window.
9252
f8276b77
DL
92532000-07-18 Dave Love <fx@gnu.org>
9254
52283633 9255 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9256
088831a6
GM
92572000-07-18 Gerd Moellmann <gerd@gnu.org>
9258
3d6cd763
GM
9259 * alloc.c (allocate_string_data): If string had already data
9260 assigned, copy old contents to new string data.
9261
9262 * coding.c (syms_of_coding): Fix typo in spelling of variable
9263 `inhibit-iso-escape-detection'.
9264
088831a6
GM
9265 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9266
9267 * Makefile.in: Add dependencies on dispextern.h.
9268 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9269 `free'; both can conflict with system header files.
9270
bc8a8d55
KH
92712000-07-18 Kenichi Handa <handa@etl.go.jp>
9272
9273 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9274 undefined.
9275
069f5950
DL
92762000-07-18 Dave Love <fx@gnu.org>
9277
9278 * window.c (Fwindow_list): Declare arg `window'.
9279
aa96c820
KH
92802000-07-18 Kenichi Handa <handa@etl.go.jp>
9281
9282 * coding.c (setup_coding_system): Don't override the explicitly
9283 specified designations.
9284
06be8d32
MB
92852000-07-15 Miles Bader <miles@gnu.org>
9286
9287 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9288 from `text_property_eq' and `text_property_stickiness', respectively.
9289 (find_field, Fconstrain_to_field, char_property_eq)
9290 (char_property_stickiness): Changed to call char-property functions
9291 instead of text-property-only ones.
9292
9293 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9294 `next_single_char_property_change'). Do more error checking, and
9295 cleanup limit behavior.
9296 (Fprevious_single_char_property_change): New function.
9297 (syms_of_textprop): Initialize new subrs.
9298
9299 * xdisp.c (display_prop_end, invisible_text_between_p):
9300 Call Fnext_single_char_property_change instead of
9301 next_single_char_property_change.
9302
3fddcdc3
JR
93032000-07-15 Jason Rumney <jasonr@gnu.org>
9304
9305 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9306 after menu is finished with.
9307 (add_menu_item): Only consider wv->title as a menu title.
9308 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9309
9310 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9311 null title.
9312 (FONT_REGEXP): Remove unused macro, and its sub-components.
9313 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9314
9315 * w32term.c (help_echo_object, help_echo_pos): New variables.
9316 (note_mode_line_highlight): Store additional information about the
9317 help-echo in help_echo_object and help_echo_pos. Check both
9318 `local-map' and `keymap' properties for changing the cursor
9319 (note_mouse_highlight): Store additional information about the
9320 help-echo in help_echo_object and help_echo_pos.
9321 (note_tool_bar_highlight): Set help_echo_object to nil and
9322 help_echo_pos to -1.
9323 (w32_read_socket): Use gen_help_event instead of filling
9324 input_events manually.
9325 (syms_of_w32term): Staticpro help_echo_object.
9326 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9327 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9328 (x_clear_mouse_face): New function.
9329 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9330 (x_update_window_begin): No need to turn off the mouse
9331 highlight here.
9332 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9333 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9334 (x_fill_stretch_glyph_string): Consume runs of stretch
9335 glyphs instead of a single one.
9336 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9337 with new argument list.
9338 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9339 (x_append_glyph, x_append_composite_glyph)
9340 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9341 changes in struct glyph starting 1999-12-27. See comments for
9342 xterm.c on 2000-07-05.
9343
178c5d9c
SS
93442000-07-14 Sam Steingold <sds@gnu.org>
9345
9346 * xfaces.c (realize_x_face): Fix the last patch:
9347 check `default_face' before dereferencing.
9348
6fe533f6
DL
93492000-07-14 Dave Love <fx@gnu.org>
9350
069f5950 9351 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9352
dd7b81cf
KH
93532000-07-14 Kenichi Handa <handa@etl.go.jp>
9354
0693904a 9355 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9356 default_face's fontset, not using the default fontset.
0693904a 9357
dd7b81cf
KH
9358 * coding.c (inhibit_iso_escape_detection): New variable.
9359 (syms_of_coding): Make it a Lisp variable.
9360 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9361 nonzero, ignore ISO2022's escape sequence.
9362
d5aa31d8
GM
93632000-07-14 Gerd Moellmann <gerd@gnu.org>
9364
e5acf0ca
GM
9365 * alloca.c (malloc) [emacs]: Define as xmalloc.
9366
bd23a692
GM
9367 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9368 use that instead of the mouse position. Add parameters DX and DY.
9369
9370 * dispextern.h (Fx_show_tip): Adjust number of parameters
9371 in prototype.
9372
9662da0b
GM
9373 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9374 if HELP is a function, call it with OBJECT and POS as parameters
9375 to get the help to display.
9376 (gen_help_event, kbd_buffer_store_help_event): New functions.
9377 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9378 (read_char): Call show_help_echo with new parameters.
9379
178c5d9c 9380 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9381 Add prototypes.
9382
9383 * xterm.c (help_echo_object, help_echo_pos): New variables.
9384 (note_mode_line_highlight): Store additional information about the
9385 help-echo in help_echo_object and help_echo_pos. Check both
9386 `local-map' and `keymap' properties for changing the cursor
9387 (note_mouse_highlight): Store additional information about the
9388 help-echo in help_echo_object and help_echo_pos.
9389 (note_tool_bar_highlight): Set help_echo_object to nil and
9390 help_echo_pos to -1.
9391 (XTread_socket): Use gen_help_event instead of filling
9392 input_events manually.
9393 (syms_of_xterm): Staticpro help_echo_object.
9394
9395 * xmenu.c (menu_highlight_callback): Use
9396 kbd_buffer_store_help_event instead of setting up and input_event
9397 structure manually.
9398
9399 * xdisp.c (eval_form): GCPRO argument sexpr.
9400 (call_function): New function.
9401 (handle_single_display_prop): Use call_function and FUNCTIONP
9402 instead of checking whether if font_height is a symbol and
9403 using eval_form.
9404
9405 * eval.c (internal_condition_case_2): New function.
9406
9407 * lisp.h (FUNCTIONP): New macro.
9408 (internal_condition_case_2, call_function): Add prototypes.
9409
d5aa31d8
GM
9410 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9411 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9412 Always set `arg' member of input_events.
9413 (construct_menu_click): Unused function removed.
9414
9415 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9416
9417 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9418 (construct_drag_n_drop, x_scroll_bar_handle_click)
9419 (w32_read_socket): Always set `arg' member of input_events.
9420
9421 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9422
9423 * lisp.h (eval_form): Add prototype.
9424
9425 * xdisp.c (eval_form): Make it externally visible.
9426
0f1a9b23
GM
94272000-07-13 Gerd Moellmann <gerd@gnu.org>
9428
9429 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9430 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9431 consing. For prefix events, store the frame in the `arg' slot of
9432 the event, otherwise store the key there.
9433 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9434 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9435
9436 * xmenu.c (menu_highlight_callback): Store help string in the
9437 `arg' member of the input event; don't cons.
9438 (menubar_selection_callback): Use the `arg' slot of input events
9439 to queue additional information, instead of consing.
9440
9441 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9442
9443 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9444 TOOL_BAR_EVENTs.
9445 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9446
9447 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9448 input events to queue additional information, instead of consing.
9449
9450 * keyboard.c (kbd_buffer_gcpro): Renamed from
9451 kbd_buffer_frame_or_window. Now used for all Lisp objects
9452 referenced from the input queue.
9453 (kbd_buffer_store_event): Always use structure assignment for
9454 copying input events. Record all Lisp objects referenced from
9455 events in kbd_buffer_gcpro.
9456 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9457 differently from input events. Test for prefix menu_bar_events
9458 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9459 event in kbd_buffer_gcpro to nil.
9460 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9461 frame_or_window is equal to its arg member as prefix events.
9462 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9463 used by an input event to nil.
9464 (init_keyboard): Use two times the size of the input queue
9465 for kbd_buffer_gcpro.
9466 (syms_of_keyboard): Likewise.
9467
52283633
SM
9468 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9469 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9470
9471 * termhooks.h (struct input_event): Add member `arg'.
9472 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9473 (USER_SIGNAL_EVENT): Renamed from user_signal.
9474
9475 * xfaces.c (ASET): Remove definition.
9476
9477 * lisp.h (AREF, ASET, ASIZE): New macros.
9478
9479 * fontset.c (AREF, ASIZE): Remove definitions.
9480
9481 * fns.c (AREF): Remove definition.
178c5d9c 9482
0f1a9b23
GM
9483 * composite.c (AREF): Remove definition.
9484
712eaef2
GM
94852000-07-12 Gerd Moellmann <gerd@gnu.org>
9486
d8ee7803
GM
9487 * dispnew.c (redraw_overlapped_rows): Add missing local.
9488 (scrolling_window): Remove debug code.
9489
712eaef2
GM
9490 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9491 Before scrolling, turn off a mouse-highlight in the window
9492 being scrolled.
9493
9494 * xterm.c (x_update_window_end): Add parameter
9495 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9496 redisplay in XTframe_up_to_date.
9497 (x_clear_mouse_face): New function.
9498 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9499
9500 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9501 current glyph row.
9502 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9503 it when any row is written to that contains glyphs highlighted in
9504 mouse-face.
9505 (update_window): Call the window update end hook with new
9506 parameter MOUSE_FACE_OVERWRITTEN_P.
9507 (direct_output_for_insert): Give up if row contains mouse-face.
9508
9509 * dispextern.h (struct redisplay_interface): Add parameter
9510 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9511 (clear_mouse_face): New function pointer member.
9512
02010917
SM
95132000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9514
9515 * syntax.c (back_comment): Use one switch rather than a few `if's.
9516 Obey open_paren_in_column_0_is_defun_start.
9517 When reverting to the `slow' method, try to nicely handle the case
9518 of nested comments by checking that the comment-starter we found
9519 does indeed match the comment-ender.
9520 (scan_sexps_forward, scan_sexps_forward):
9521 Ignore excessive opening parenthesis rather than throwing an error.
9522
d76c03ea
GM
95232000-07-11 Gerd Moellmann <gerd@gnu.org>
9524
9525 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9526 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9527
9528 * dispnew.c (direct_output_forward_char): Give up if currently
9529 displaying a message instead of the minibuffer contents.
9530
9531 * xterm.c (x_update_window_begin): No need to turn off the mouse
9532 highlight here.
9533 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9534 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9535
9536 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9537 compare the mouse_face_p flags of both rows.
9538
9539 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9540
d55ead18
EZ
95412000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9542
9543 * keyboard.c (show_help_echo): Accept additional parameter
9544 ok_to_overwrite_keystroke_echo.
9545 (read_char): Call show_help_echo with a zero
9546 ok_to_overwrite_keystroke_echo argument.
52283633 9547 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9548 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9549 ok_to_overwrite_keystroke_echo argument.
9550 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9551 non-zero ok_to_overwrite_keystroke_echo argument.
9552
df75b1a3
GM
95532000-07-10 Gerd Moellmann <gerd@gnu.org>
9554
4b92c49a
GM
9555 * xdisp.c (try_window_id): If changes are all below what is
9556 displayed in the window, and point is in the window, we still
9557 might have to find point on the display.
9558
9559 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9560 glyphs instead of a single one.
9561 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9562 with new argument list.
9563 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9564
df75b1a3
GM
9565 * keymap.c (get_keymap_1): Add comment that this function can GC.
9566 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9567 comment that functions can GC.
9568 (Fset_keymap_parent): GCPRO arg KEYMAP.
9569
4314cf3e
EZ
95702000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9571
9572 * msdos.c (XMenuActivate): After exiting the menu, restore the
9573 echo area message and erase it.
9574
ab49ce15
KH
95752000-07-10 Kenichi Handa <handa@etl.go.jp>
9576
9577 * fontset.c (Ffontset_info): Make the return value more compatible
9578 with that of Emacs 20.
9579
090a072f
GM
95802000-07-07 Gerd Moellmann <gerd@gnu.org>
9581
9582 * eval.c (Fsignal): Handle case that backtrace_list is null.
9583
f92de4a6
KH
95842000-07-07 Kenichi Handa <handa@etl.go.jp>
9585
9586 * ccl.c (Fccl_execute): Typo fixed.
9587
dd8888a1
GM
95882000-07-06 Gerd Moellmann <gerd@gnu.org>
9589
e5c81191 9590 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9591
dd8888a1
GM
9592 * window.c (Fwindow_list): Reverse list at the end.
9593 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9594 means allow windows on OWINDOW's frame, only.
9595 (window_loop): Simplified; use Fwindow_list.
9596
9597 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9598
485266d0
GM
95992000-07-05 Gerd Moellmann <gerd@gnu.org>
9600
9601 * xterm.c (XTread_socket): Increment handling_signal at the start,
9602 decrement it at the end.
9603
9604 * eval.c (handling_signal): New variable.
9605 (Fsignal): Abort if handling_signal is non-zero.
9606
9607 * lisp.h (handling_signal): External declaration.
178c5d9c 9608
485266d0
GM
9609 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9610
80fcd514
KR
96112000-07-05 Ken Raeburn <raeburn@gnu.org>
9612
9613 Sound support for NetBSD through "Linux emulation" support:
9614 * config.in (HAVE_SOUNDCARD_H): Undef.
9615 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9616 * Makefile.in (LIBSOUND): New variable.
9617 (LIBES): Include it.
52283633
SM
9618 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9619 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9620 (vox_open): Use DEFAULT_SOUND_DEVICE.
9621 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9622
d5c5cddd
GM
96232000-07-05 Gerd Moellmann <gerd@gnu.org>
9624
9625 * print.c (print_error_message): If Vsignaling_function is set,
9626 show it in *Messages*.
9627
9628 * lisp.h (Vsignaling_function): External declaration.
9629
9630 * eval.c (Vsignaling_function): New variable.
9631 (Fsignal): Compute it.
9632 (syms_of_eval): Staticpro it.
9633
65171e3a
DL
96342000-07-05 Dave Love <fx@gnu.org>
9635
9636 * syswait.h: Use the autoconf recommended approach. Old code
9637 #if'd out in case we need to revert.
9638
178c5d9c 9639 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 9640
e2c46326
AI
96412000-07-05 Andrew Innes <andrewi@gnu.org>
9642
9643 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
9644 when non-NULL instead of __morecore, to take account of buffer
9645 memory. This also solves a problem with spurious memory warnings
9646 on Windows.
9647
9648 * ralloc.c: Make real_morecore non-static.
9649
9650 * eval.c (internal_condition_case): Comment out abort if
9651 interrupt_input_blocked is not zero.
9652
9653 * makefile.nt: Add support for `bootstrap' and related targets.
9654 Include minimal debug info in emacs.exe in release build.
9655 Remove all dependencies on lisp.h, and fixup some others.
9656
9657 * w32.c (init_environment): Install code from 20.7 for providing
9658 default values for environment variables, based on the
9659 executable's own location.
52283633 9660 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
9661 (sys_socket): Install socket inheritance bug fix from 20.7.
9662
9663 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
9664 here via blockinput.h).
9665
a027a91b
SM
96662000-07-05 Stefan Monnier <monnier@cs.yale.edu>
9667
e4b31601
SM
9668 * w32menu.c (w32_menu_display_help):
9669 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
9670
9671 * keyboard.h (show_help_echo): Declare.
9672
9673 * keyboard.c (show_help_echo): New function, extracted from read_char.
9674 Feval its `msg' argument if it's a cons cell.
9675 (read_char): Use it.
4cf8d9d5 9676 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 9677
178c5d9c 9678 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 9679 (note_tool_bar_highlight, XTread_socket):
178c5d9c 9680 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
9681 (dos_rawgetc):
9682 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9683 (note_tool_bar_highlight, w32_read_socket):
9684 Do not gratuitously ignore non-string `help-echo' properties.
9685
88d75730
GM
96862000-07-05 Gerd Moellmann <gerd@gnu.org>
9687
969f7e79
GM
9688 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9689
71201b00
GM
9690 * window.c (delete_all_subwindows): Reset Vwindow_list.
9691
88d75730
GM
9692 * xterm.c (x_append_glyph, x_append_composite_glyph)
9693 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9694 changes in struct glyph starting 1999-12-27. Some bit-fields of
9695 struct glyph were not set, which made glyphs unequal when compared
9696 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9697 effects were the result. This also depended on the contents of
9698 memory returned by xmalloc. If flickering happens again, activate
9699 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9700 gone with that, chances are that it is caused by something similar.
88d75730
GM
9701
9702 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9703
88d75730
GM
9704 * dispextern.h: Add some comments.
9705
9706 * window.c (add_window_to_list): Add parameter LIST.
9707 (window_list): Order list so that, for each frame, windows are
9708 in canonical order, and so that frames appear in the list in
9709 the order given by Vframe_list.
9710 (next_window): Reverse the handling of NEXT_P.
9711
53654733
GM
97122000-07-04 Gerd Moellmann <gerd@gnu.org>
9713
87efd256
GM
9714 * window.c (Vwindow_list): New variable.
9715 (make_window, delete_window): Set Vwindow_list to nil.
9716 (check_window_containing): New function.
9717 (window_from_coordinates): Rewritten.
9718 (add_window_to_list, window_list, candidate_window_p)
9719 (decode_next_window_args, next_window): New functions.
52283633 9720 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
9721 (Fwindow_list): New function.
9722 (Fother_window): Cleaned up.
9723 (foreach_window): Add a longer "variable argument list". Let
9724 callback function return 0 to indicate that cycling over windows
9725 should stop.
9726 (foreach_window_1): Likewise.
9727 (freeze_window_start): Return int.
9728 (init_window): New function.
9729 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9730
9731 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9732 input_event with bzero.
9733 (main): Call init_window.
9734
53654733
GM
9735 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9736 a menu filter.
9737
4a8c194f
KH
97382000-07-04 Kenichi Handa <handa@etl.go.jp>
9739
9740 * composite.h (make_composition_value_copy): Extern it.
9741
9742 * composite.c (make_composition_value_copy): New function.
9743
9744 * editfns.c (Fformat): While copying text properties, make each
9745 composition property value a copy.
9746
9747 * fns.c (concat): While copying text properties, make each
9748 composition property value a copy.
9749
831a6cb0
GM
97502000-07-03 Gerd Moellmann <gerd@gnu.org>
9751
2f516940
GM
9752 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9753
178c5d9c 9754 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9755 marked already.
9756
831a6cb0
GM
9757 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9758 include those frames as candidates which have their focus
9759 redirected to the minibuffer frame.
9760
d9c4f922
SM
97612000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9762
9763 * fns.c (Fputhash): Return `value' rather than nil.
9764
3780bc22
GM
97652000-06-30 Gerd Moellmann <gerd@gnu.org>
9766
97d176db
GM
9767 * frame.c (next_frame): Don't check focus redirection in case
9768 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9769 unless their focus is redirected, which contradicts the
9770 specification of next-frame, and leads to infinite loops in
9771 certain situations when cycling through windows with next-window.
9772
dca9961d
KH
97732000-06-30 Kenichi Handa <handa@etl.go.jp>
9774
9775 * coding.c (code_convert_region): Even if the length of text is
9776 zero, try to convert it if coding->type is coding_type_ccl.
9777 (decode_coding_string, encode_coding_string): Likewise.
9778
d5483ab1
GM
97792000-06-28 Gerd Moellmann <gerd@gnu.org>
9780
af5c25e1 9781 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 9782 the display if windows_or_buffers_changed.
af5c25e1
GM
9783
9784 * dispnew.c (struct row_entry): New structure.
9785 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9786 (row_table_size, old_lines, new_lines, old_lines_size)
9787 (new_lines_size, run_pool, runs_size, runs): New variables.
9788 (add_row_entry): New function.
9789 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 9790 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
9791 holding them in local variables. Use a larger hash table whose
9792 size depends on glyph matrix sizes. Don't use bzero to clear the
9793 hash table; instead, clear used slots only.
9794
9795 * fns.c (next_almost_prime): Make it externally visible.
9796
9797 * lisp.h (next_almost_prime): Add prototype.
9798
d5483ab1
GM
9799 * s/isc4-0.h (sigunblock): Define.
9800
9801 * s/sco5.h (sigunblock): Define.
9802
93e40f40
DL
98032000-06-27 Dave Love <fx@gnu.org>
9804
9805 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9806 (moved to osf5-0.h).
9807 [!NOT_C_CODE]: Protect string.h stuff.
9808
9809 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9810 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9811
3c4b7685
GM
98122000-06-27 Gerd Moellmann <gerd@gnu.org>
9813
97d176db 9814 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
9815 below the last line from the needed window height.
9816
32cad0aa
SM
98172000-06-26 Stefan Monnier <monnier@cs.yale.edu>
9818
9819 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
9820 (Fwidget_get): Use it.
9821 (syms_of_fns): Defsubr it.
9822
2c69ced2
GM
98232000-06-26 Gerd Moellmann <gerd@gnu.org>
9824
178c5d9c 9825 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
9826 display info for XIM.
9827 (xim_open_dpy): Likewise.
9828 (xim_close_dpy): Don't free the display info's XIM.
9829
9830 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
9831
9832 * config.in (USE_XIM): New define.
9833
3fc720e4
GM
9834 * keymap.c (get_keyelt): For menu-items containing a `:filter
9835 FILTER', apply FILTER to the menu-item's definition to get the
9836 real definition to use.
9837
9838 * lisp.h (QCfilter): External declaration.
9839
2c69ced2
GM
9840 * xfns.c (Fimage_size): New function.
9841 (syms_of_xfns): Defsubr it.
9842
f978b2a2
AS
98432000-06-26 Andreas Schwab <schwab@suse.de>
9844
9845 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
9846 Fstring_as_unibyte.
9847
94cc7892
DL
98482000-06-25 Dave Love <fx@gnu.org>
9849
52283633 9850 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
9851
9852 * Makefile.in (blockinput.h): Depend on atimer.h.
9853 (atimer.h): Depend on systime.h.
9854
52283633 9855 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 9856
52283633 9857 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
9858
9859 * lisp.h (swap_in_global_binding): Declare.
9860
b8c24556
KR
98612000-06-24 Ken Raeburn <raeburn@gnu.org>
9862
9863 * process.c (Fopen_network_stream): Turn off atimers for duration
9864 of call to connect. (Patch from Gerd.)
9865
8cf8560b
DL
98662000-06-23 Dave Love <fx@gnu.org>
9867
511c7541
DL
9868 * ralloc.c: Maybe include unistd.h
9869
8cf8560b
DL
9870 * emacs.c (setgrp): Undefine before defining.
9871 (malloc_warning, set_time_zone_rule, index): Prototype.
9872
9873 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9874 HAVE_STRUCT_TIMEZONE.
9875
9876 * s/osf1.h: Move string.h hack here from alpha.h and make it
9877 conditional.
9878 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9879 _XOPEN_SOURCE.
9880 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9881 (SOCKLEN_TYPE): Don't define.
9882
9883 * m/alpha.h: Remove string.h hack.
9884
9885 * s/osf5-0.h: New file.
9886
9887 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9888 include time.h, done by systime.h.
9889 [__FreeBSD__]: Remove redundant includes.
9890
3fc720e4 9891 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9892 (delete_temp_file): Return Qnil to avoid warning.
9893
9894 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9895
9896 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9897 HAVE_X_WINDOWS.
9898
9899 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9900
9901 * composite.h (compose_text): Declare.
9902
9903 * xterm.c: Don't include sys/types.h unconditionally. Don't
9904 protect its inclusion with !USG (following xmenu.c).
9905
ea055732
GM
99062000-06-23 Gerd Moellmann <gerd@gnu.org>
9907
9908 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9909 in x_create_frame.
9910
74b01b80
EZ
99112000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9912
9913 * coding.c (decode_eol_post_ccl): Special handling for undecided
9914 and inconsistent EOL types.
9915
64f3a166
GM
99162000-06-22 Gerd Moellmann <gerd@gnu.org>
9917
16cf31f7
GM
9918 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9919 trough color and main window's background color.
9920
52283633 9921 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9922
9923 * xterm.h (Xt_app_con): External declaration.
9924
9925 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9926
486a103d
GM
9927 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9928
64f3a166
GM
9929 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9930 (handle_invisible_prop): Record the start of invisible text in
9931 it->add_overlay_start.
9932 (struct overlay_entry): Add member `overlay'.
9933 (handle_overlay_change): Simplify.
9934 (next_overlay_string): After having processed overlay strings at the
9935 end of the buffer, record that fact in
9936 it->overlay_strings_at_end_processed_p.
9937 (compare_overlay_entries): If before- and after-strings come
9938 from the same overlay, let before-strings come first.
9939 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9940 (load_overlay_strings): Take it->add_overlay_start into account
9941 when adding overlay strings.
9942
9943 * dispextern.h (struct it): Add member add_overlay_start.
9944
bb746ea6
DL
99452000-06-22 Dave Love <fx@gnu.org>
9946
9947 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9948
9949 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9950
a8f573f3
KH
99512000-06-22 Kenichi Handa <handa@etl.go.jp>
9952
9953 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
9954 is greater than 0.
9955
9f2bbc92
DL
99562000-06-21 Dave Love <fx@gnu.org>
9957
178c5d9c 9958 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 9959
3ee5041c
SM
99602000-06-21 Stefan Monnier <monnier@cs.yale.edu>
9961
9962 * syntax.c (back_comment): Simplify string-parity counting (with
9963 the added benefit of handling multiple string-styles as long as
9964 they are not intertwined).
9965 Jump to the slow code as soon as a comment starter is found in
9966 a "string_lossage" position. Fixes the case: " /* " /* " */.
9967
4c343001
DL
99682000-06-21 Dave Love <fx@gnu.org>
9969
9970 * Makefile.in: Use GETLOADAVG_LIBS.
9971
9972 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
9973 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
9974
e6365855
SM
99752000-06-20 Stefan Monnier <monnier@cs.yale.edu>
9976
9977 * syntax.c (describe_syntax): Recognize the `n'estable bit.
9978 (Fforward_comment, scan_lists):
9979 Check the comstyle of single-char comment-starters.
9980 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
9981 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
9982 Check the comstyle of single-char comment-starters.
9983 Clarify control-flow around the Scomment case.
e6365855 9984
5700d2cc
DL
99852000-06-20 Dave Love <fx@gnu.org>
9986
d355bd8a
SM
9987 * fns.c (make_hash_table, maybe_resize_hash_table):
9988 Cast arg of next_almost_prime.
5700d2cc 9989
178c5d9c 9990 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
9991
9992 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
9993 and unistd.h.
9994
4a27bdfb
GM
99952000-06-20 Gerd Moellmann <gerd@gnu.org>
9996
a61d762c 9997 * keyboard.c (adjust_point_for_property): Check if display
52283633 9998 property should be treated as intangible by looking at its value.
a61d762c 9999
178c5d9c 10000 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10001 (display_prop_intangible_p): New functions.
10002
10003 * dispextern.h (display_prop_intangible_p): Add prototype.
10004
10005 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10006
4a27bdfb
GM
10007 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10008 argument to sigprocmask.
10009
10010 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10011 argument to sigprocmask.
10012
10013 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10014 sigprocmask_set, and pass a pointer to it to sigprocmask.
10015
10016 * sysdep.c (sigprocmask_set): New variable.
10017
10018 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10019 report_file_error.
10020
427ec082
SS
100212000-06-20 Sam Steingold <sds@gnu.org>
10022
10023 * xrdb.c: Don't declare xmalloc, xrealloc.
10024
8972fe79 100252000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10026
10027 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10028 (re_comp): Cast gettext return value to avoid complaints when
10029 !HAVE_LIBINTL.
10030
074b6efe
DL
100312000-06-20 Dave Love <fx@gnu.org>
10032
52283633 10033 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10034
5700d2cc 10035 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10036
d355bd8a 10037 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10038
10039 * m/alpha.h: Don't declare xmalloc, xrealloc.
10040
0af4f205
DL
10041 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10042
10043 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10044
10045 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10046
10047 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10048 HAVE_GETWD.
10049
074b6efe
DL
10050 * keyboard.h (poll_for_input_1): Declare.
10051
10052 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10053
10054 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10055
10056 * doprnt.c: Don't declare xmalloc, xrealloc.
10057
10058 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10059 (getenv, ctime, getwd): Removed.
10060 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10061
10062 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10063 x_set_tool_bar_lines.
10064
10065 * config.in: Add HAVE_GETWD. Move some definitions above
10066 machine/system includes.
10067
68a5e97b
KH
100682000-06-20 Kenichi Handa <handa@etl.go.jp>
10069
95417e1e
KH
10070 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10071
68a5e97b
KH
10072 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10073 contain information about ENCODING.
10074
10075 * fontset.c (FONTSET_ASCII): Use the first element of char table
10076 for an ASCII font, not defalt slot.
10077 (fontset_ref_via_base): If FONTSET doesn't contain information for
10078 C, try the default fontset.
10079 (make_fontset): Don't copy the default fontset.
10080 (fontset_font_pattern): Likewise.
10081 (accumulate_font_info): If ELT is nil, use the corresponding
10082 element in the default fontset.
10083
3b4fa1b2
DL
100842000-06-19 Dave Love <fx@gnu.org>
10085
943e731c
DL
10086 * syntax.c (Fparse_partial_sexp): Doc fix.
10087
10088 * regex.h: Test PROTOTYPES as well as __STDC__.
10089
3b4fa1b2
DL
10090 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10091 errno, strerror. Put text after #endif in comment.
10092
52283633 10093 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10094
10095 * xterm.c (x_frame_of_widget): Likewise.
10096
cdf0357b
GM
100972000-06-19 Gerd Moellmann <gerd@gnu.org>
10098
10099 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10100 to Vfundamental_mode_abbrev_table.
10101
10102 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10103 bogus objects are marked. This slows down GC by ~80 percent, but
10104 it might be worth trying when debugging GC-related problems.
10105 This feature requires conservative stack marking to be enabled.
10106
10107 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10108 returns XLookupChars, reset `modifiers' to zero.
10109
998e9f8c
DL
101102000-06-19 Dave Love <fx@gnu.org>
10111
10112 * mktime.c: Unprotoized.
10113
18e21ce8 101142000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10115
10116 * data.c (set_internal): If variable is frame-local,
10117 store the new value immediately into the frame parameter alist.
10118
140c4ac6
KR
101192000-06-19 Ken Raeburn <raeburn@gnu.org>
10120
14358466
KR
10121 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10122 in the custom handler pointer.
10123
140c4ac6
KR
10124 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10125 value, or checks for CHAR_META can fail when Lisp_Object is a
10126 union type.
10127 * keymap.c (get_keyelt): Likewise.
10128
10d7bf84
KH
101292000-06-19 Kenichi Handa <handa@etl.go.jp>
10130
10131 * ccl.h (struct ccl_program): New member eol_type.
10132 (struct ccl_spec): New member cr_carryover.
10133
10134 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10135 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10136
10137 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10138 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10139 (decode_eol_post_ccl): New function.
10140 (decode_coding): Don't detect EOL format here for CCL based coding
10141 systems.
10142 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10143 decode_eol_post_ccl after running the CCL program.
10144 (code_convert_region): Don't detect EOL format here for CCL based
10145 coding systems.
10146 (decode_coding_string): Likewise.
10147
52e386c2
KR
101482000-06-18 Ken Raeburn <raeburn@gnu.org>
10149
10150 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10151 when treating it as an integer.
10152
10153 * coding.h (encode_coding_string): Declare.
10154
10155 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10156 it as an integer.
10157
10158 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10159 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10160 to be passed to get_local_map.
10161
10162 * sound.c (Fplay_sound): Don't call make_number on
10163 Frun_hook_with_args count argument.
10164
10165 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10166 for lisp objects in X event structure data field, when lisp
10167 objects are represented with unions.
10168 (x_scroll_bar_to_input_event): Ditto.
10169
b357b9d4
KR
101702000-06-16 Ken Raeburn <raeburn@gnu.org>
10171
10172 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10173 termination of string. Fix sense of test whether
10174 Vline_number_display_limit is an integer.
b357b9d4 10175
a871441d
GM
101762000-06-16 Gerd Moellmann <gerd@gnu.org>
10177
a9021acd
GM
10178 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10179 only if HAVE_X_WINDOWS.
10180
6344985d
GM
10181 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10182 of titles.
10183
427ec082 10184 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10185 out of bounds.
10186
228b083e
EZ
101872000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10188
10189 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10190 of its headers.
10191
c25b53a2
KH
101922000-06-15 Kenichi Handa <handa@etl.go.jp>
10193
10194 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10195 start of the while loop.
10196
a6981b11
GM
101972000-06-15 Gerd Moellmann <gerd@gnu.org>
10198
e9924e52
GM
10199 * atimer.c (alarm_signal_handler): Add forward declaration.
10200
a6981b11
GM
10201 * data.c (set_internal): Remove debug code.
10202
25fa6deb
GM
102032000-06-14 Gerd Moellmann <gerd@gnu.org>
10204
dce6b995
GM
10205 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10206
9f817ea4
GM
10207 * unexec.c (toplevel) [COFF]: Include coff.h.
10208
10209 * s/lynxos.h: New file.
10210
10211 * keymap.c (Fsingle_key_description): Enclose function key and
10212 event symbol names in angle brackets.
10213
8a4e3c0c
GM
10214 * xdisp.c (setup_echo_area_for_printing): Call
10215 message_log_maybe_newline if message_buf_print is not set.
10216
10217 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10218 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10219 function does something useful even when message_buf_print is
10220 already set.
10221
52283633
SM
10222 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10223 New variables.
25fa6deb
GM
10224 (ensure_echo_area_buffers): Initialize echo buffer's
10225 truncate lines setting to nil.
10226 (with_echo_area_buffer): Don't set the echo buffer's truncate
10227 lines setting here.
8a4e3c0c 10228 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10229 of message_truncate_lines.
10230 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10231 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10232 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10233
10234 * keyboard.c (read_char): Bind message-truncate-lines to t
10235 while displaying a help-echo.
10236
10237 * lisp.h (Qmessage_truncate_lines): External declaration.
10238
163dcff3
GM
102392000-06-13 Gerd Moellmann <gerd@gnu.org>
10240
1681ead6
GM
10241 * xdisp.c (Vline_number_display_limit): Renamed from
10242 line_number_display_limit.
10243 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10244 Extend documentation string. Initialize
10245 Vline_number_display_limit to nil meaning no limit.
10246 (decode_mode_spec): Use Vline_number_display_limit with its new
10247 meaning.
10248
163dcff3
GM
10249 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10250
18e21ce8 102512000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10252
10253 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10254
163dcff3
GM
10255 * xfns.c (x_set_frame_parameters): Comment fix.
10256
10257 * frame.c (store_frame_param): Call swap_in_global_binding if the
10258 variable's current binding was chosen based on this frame.
10259
10260 * data.c (swap_in_global_binding): New function.
10261
a704139d
EZ
102622000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10263
10264 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10265 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10266
9b6610db
EZ
102672000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10268
10269 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10270
c68833d2
JR
102712000-06-12 Jason Rumney <jasonr@gnu.org>
10272
10273 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10274
10275 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10276
10277 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10278
10279 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10280
ed1056b3
GM
102812000-06-12 Gerd Moellmann <gerd@gnu.org>
10282
10283 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10284 (syms_of_xfaces): Defsubr Sdump_colors.
10285 (x_free_colors): Don't treat b&w specially on default visual.
10286 (x_free_dpy_colors): New function.
10287 (free_face_colors): Don't check visual class; it's done
10288 in x_free_colors.
10289
10290 * xterm.c (x_frame_of_widget): New function.
10291 (x_alloc_nearest_color_for_widget): Use it.
10292 (x_copy_dpy_color): New function.
10293 (x_destroy_window): Free various colors.
10294
5050a2ef
KH
102952000-06-12 Kenichi Handa <handa@etl.go.jp>
10296
10297 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10298
10299 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10300
10301 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10302
10303 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10304
10305 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10306
fb1b041d
DL
103072000-06-11 Dave Love <fx@gnu.org>
10308
10309 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10310
ff96b5f4
EZ
103112000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10312
10313 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10314
db8eeecd
GM
103152000-06-11 Gerd Moellmann <gerd@gnu.org>
10316
ed1056b3 10317 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10318 to `XEvent *'.
10319
49b71c5f
KH
103202000-06-10 Kenichi Handa <handa@etl.go.jp>
10321
c479bd55
KH
10322 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10323 (regex_compile): Fix the code for handling the case of single byte
10324 char and multibyte char being mixed in a range within [...].
10325
ff6a65c2
KH
10326 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10327 and dst_multibyte members of coding.
10328
49b71c5f
KH
10329 * charset.c (update_charset_table): Update the table
10330 bytes_by_char_head.
10331 (init_charset_once): Initialize elements of bytes_by_char_head to
10332 1 except for leading codes for private charases.
10333
10334 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10335 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10336
9e80b57d
KR
103372000-06-09 Ken Raeburn <raeburn@gnu.org>
10338
10339 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10340 access the data it doesn't point to.
10341
f83fe4b4
GM
103422000-06-08 Gerd Moellmann <gerd@gnu.org>
10343
10344 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10345 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10346 event queue. This is necessary because Emacs otherwise won't
10347 perform a switch-frame to a new frame until some other event, for
10348 example a keystroke event, forces it to do so. This has various
10349 effects, one visible being that the cursor of a frame created with
10350 C-x 5 2 or switched to with a window manager key binding like
10351 A-TAB stays hollow because selected_window isn't on the newly
10352 focused frame until the switch-frame is performed.
10353
10354 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10355 generating a switch-frame event if necessary.
10356
10357 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10358
10359 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10360 it's an integer.
10361
0890801b
KH
103622000-06-08 Kenichi Handa <handa@etl.go.jp>
10363
52283633 10364 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10365
173cbca8
GM
103662000-06-07 Gerd Moellmann <gerd@gnu.org>
10367
3091c2a6
GM
10368 * window.c (displayed_window_lines): Take empty lines at
10369 the bottom of a window into account.
427ec082 10370
f38952fe
GM
10371 * window.c (displayed_window_lines): New function.
10372 (Fmove_to_window_line): Use displayed_window_lines to determine
10373 the number of lines to move, instead of using the window's height.
10374
10375 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10376 to stop reading, even if the form read sets point to a different
10377 value when evaluated.
10378
427ec082 10379 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10380 put the cursor.
10381
6ba6c818
KH
103822000-06-07 Kenichi Handa <handa@etl.go.jp>
10383
10384 * fileio.c (e_write): Free composition data if stored in
10385 coding->cmp_data.
10386
5f1aea9a
GM
103872000-06-06 Gerd Moellmann <gerd@gnu.org>
10388
666852af
GM
10389 * xdisp.c (display_line): Set row's and iterator's
10390 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10391 Set cursor even if row ends in the middle of a character.
10392 (dump_glyph_row): Print values of new flags.
10393 (redisplay_window) <cursor movement in unchanged window>: When
10394 point has been moved forward, and PT is at the end of the cursor
10395 row, don't place the cursor in the next row if the cursor row ends
10396 in the middle of a character or at ZV.
10397
10398 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10399 (struct glyph_row): Add starts_in_middle_of_char_p and
10400 ends_in_middle_of_char_p.
10401 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10402 ends_in_middle_of_char_p flag.
10403 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10404
d13f3e2e
GM
10405 * term.c (append_glyph): Revert change of 2000-06-06.
10406
10407 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10408 padding glyph not fitting on line as whole character not
10409 fitting on line.
10410
5f1aea9a
GM
10411 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10412 this isn't true for images with `:ascent 100'.
10413
10cda9b0
KH
104142000-06-06 Kenichi Handa <handa@etl.go.jp>
10415
ed00559d
KH
10416 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10417 as modified if it is originally unmodified.
10418
10cda9b0
KH
10419 * term.c (encode_terminal_code): Change the way to check if
10420 terminal coding does any conversion.
10421 (append_glyph): Set glyph->pixel_width correctly.
10422
10423 * xdisp.c (display_line): While checking line continuation, pay
10424 attention to a padding glyph.
10425
1969fae2
GM
104262000-06-05 Gerd Moellmann <gerd@gnu.org>
10427
10428 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10429
162ccef4
DL
104302000-06-05 Dave Love <fx@gnu.org>
10431
f19f32dd
DL
10432 * xdisp.c: Include fontset.h.
10433
10434 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10435
10436 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10437
10438 * dispnew.c: Conditionally include term.h.
10439
10440 * coding.h: Declare code_convert_string_norecord.
10441
10442 * frame.h (struct frame): Use volatile unconditionally.
10443
10444 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10445
10446 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10447
10448 * systime.h: Protect against multiple inclusion.
10449 (timezone) [USG5_4]: Define as time_t.
10450
10451 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10452 (Foptimize_char_table, make_temp_name): Declare.
10453
10454 * Makefile.in (xdisp.o): Depend on fontset.h.
10455
10456 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10457
10458 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10459 (Foptimize_char_table, make_temp_name): Declare.
10460
427ec082 10461 * s/irix4-0.h:
162ccef4
DL
10462 * s/irix5-0.h:
10463 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10464
2082fe81
DL
104652000-06-02 Dave Love <fx@gnu.org>
10466
10467 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10468
dcf671d2
GM
104692000-06-02 Gerd Moellmann <gerd@gnu.org>
10470
10471 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10472 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10473 be freed.
10474
10475 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10476 glyph, use the ASCII NUL character to determine the face.
10477
d42122a3
DL
104782000-06-02 Dave Love <fx@gnu.org>
10479
10480 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10481 (VFORK_RETURN_TYPE): Remove.
427ec082 10482
d42122a3
DL
10483 * config.in: Add NO_MATHERR.
10484
dd432f16
DL
104852000-06-01 Dave Love <fx@gnu.org>
10486
90aa4ea8
DL
10487 * cmds.c (internal_self_insert): Don't check
10488 Vbefore_change_function, Vafter_change_function.
10489
10490 * insdel.c (signal_before_change, signal_after_change): Likewise.
10491
10492 * buffer.c (Vbefore_change_function, Vafter_change_function):
10493 Variables and their initializations deleted.
10494
2330c9d4
DL
10495 * callint.c (Fcall_interactively): Doc fix.
10496
dd432f16
DL
10497 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10498
bf9e8804
DL
104992000-05-31 Dave Love <fx@gnu.org>
10500
10501 * textprop.c: Revert last change -- duplicated.
10502
3694b4ab
GM
105032000-05-31 Gerd Moellmann <gerd@gnu.org>
10504
10505 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10506 in #if 0.
10507
10508 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10509
f14156cd
JR
105102000-05-31 Jason Rumney <jasonr@gnu.org>
10511
8119aab8
JR
10512 * search.c (Fre_search_forward, Fre_search_backward)
10513 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10514
f14156cd
JR
10515 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10516
4aab9be3
JR
105172000-05-30 Jason Rumney <jasonr@gnu.org>
10518
10519 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10520 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10521
52283633 10522 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10523
10524 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10525 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10526 expand a nil default_filename.
10527
10528 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10529 pointer to glyph_to_pixel_coords, not a frame.
10530
10531 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10532 coding.h to dependencies.
10533
10534 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10535
10536 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10537 window pointer to be consistent with w32term.c and xterm.c.
10538
10539 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10540 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10541 (Qline_spacing, Qcenter): New variables.
10542 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10543 (x_set_line_spacing): New function.
52283633 10544 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10545 (x_specified_cursor_type): New function.
10546 (x_set_cursor_type): Use it.
10547 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10548 and icon strings.
10549 (validate_x_resource_name, x_get_resource_string): Measure lengths
10550 of external strings in bytes.
10551 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10552 GetTextExtentPoint32 with NULL title.
10553 (Fx_create_frame): Initialize Qline_spacing.
10554 (w32_load_system_font): Initialize font->double_byte_p.
10555 (x_to_w32_charset): Use Vw32_charset_info_alist.
10556 (Image, busy cursor, tooltip functions): Merged changes from
10557 xfns.c. Not yet functional on Windows.
10558
10559 * w32gui.h (W32FontStruct): Add double_byte_p member.
10560
10561 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10562 (emacs_button_translation): Use it.
10563 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10564 in `mask' to be set.
10565
10566 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10567 menu strings.
10568
10569 * w32term.c: Format and doc changes to bring closer to xterm.c.
10570 (w32_char_font_type): New enum.
10571 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10572 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10573 (w32_encode_char): New function.
10574 (x_encode_char): Removed.
10575 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10576 x_encode_char and w32_font_is_double_byte.
10577 (x_produce_image_glyph): Use image_ascent.
10578 (x_produce_glyphs): Use new version of w32_per_char_metric and
10579 handle NULL return value. Allow extra line spacing.
10580 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10581 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10582 w32_font_type member of glyph instead.
10583 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10584 (fast_find_position): Make sure not to consider rows not visible
10585 in the window.
10586 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10587 w32_menu_display_help with input blocked, as it can abort.
10588 (x_display_and_set_cursor): Choose cursor depending
10589 on buffer-local value of cursor_type.
10590 (x_draw_bar_cursor): Add parameter WIDTH.
10591
10592 * w32term.h (CP_DEFAULT): Define.
10593 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10594
10fc3187
GM
105952000-05-30 Gerd Moellmann <gerd@gnu.org>
10596
10597 * search.c (Fre_search_forward, Fre_search_backward)
10598 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10599
d0555360
KH
106002000-05-30 Kenichi Handa <handa@etl.go.jp>
10601
10602 * coding.c (detect_coding_iso2022): Fix code for checking
10603 CODING_CATEGORY_MASK_ISO_8_2.
10604
f1ad044f
SM
106052000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10606
10607 * regex.c (PREFETCH_NOLIMIT): New function.
10608 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10609
84ec3b4b
GM
106102000-05-29 Gerd Moellmann <gerd@gnu.org>
10611
66254a13
GM
10612 * syntax.c (find_defun_start): Move test for
10613 open_paren_in_column_0_is_defun_start outside of the loop.
10614
49e70dec
GM
10615 * xdisp.c (redisplay_window): Really switch buffers when
10616 displaying mode lines, and temporarily set selected_frame to the
10617 frame of the window that's redisplayed.
10618
84ec3b4b
GM
10619 * xfaces.c (free_realized_faces): Block/unblock input.
10620 (free_realized_multibyte_face): Ditto.
10621
869a3a14
DL
106222000-05-29 Dave Love <fx@gnu.org>
10623
10624 * textprop.c (Qkeymap): New variable.
10625 (syms_of_textprop): Intern it.
10626
10627 * keymap.c: Include intervals.h.
10628 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10629
10630 * Makefile.in (keymap.o): Depend on intervals.h.
10631
10632 * keyboard.c (menu_bar_items, tool_bar_items)
10633 (Fexecute_extended_command): Deal with `keymap' property.
10634 (read_key_sequence): Track map from `keymap' property as well as
10635 `local_map'.
10636
10637 * intervals.c (get_local_map): Extra arg to allow looking for
10638 `keymap' too.
10639
10640 * intervals.h (map_property): New enum.
10641 (get_local_map): Extra arg using it.
10642 (Qkeymap): Declare.
10643
84ec3b4b 10644 * lisp.h (get_local_map): Don't declare here.
869a3a14 10645
89d0c844
KH
106462000-05-29 Kenichi Handa <handa@etl.go.jp>
10647
10648 * Makefile.in (callproc.o): Depend on composite.h.
10649
10650 * callproc.c: Include composite.h.
10651 (Fcall_process): Handle composition correctly.
10652
10653 * coding.h (coding_allocate_composition_data): Extern it.
10654 (coding_restore_composition): Likewise.
10655
10656 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
10657 yet allocated, finish decoding with result
10658 CODING_FINISH_INSUFFICIENT_CMP.
10659 (coding_allocate_composition_data): Make it non-static.
10660 (coding_restore_composition): Likewise.
10661
797a084a
EZ
106622000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
10663
10664 * charset.c (syms_of_charset): Revert last change.
10665
cf872af5
EZ
106662000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10667
10668 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
10669 charsets as unibyte, with 1-column screen width. Sent by Kenichi
10670 Handa.
cf872af5 10671
5b1ae051
EZ
106722000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10673
10674 * charset.c (syms_of_charset): Set width of character sets
10675 eight-bit-control and eight-bit-graphic to 1 column.
10676
34ec9ebe
GM
106772000-05-26 Gerd Moellmann <gerd@gnu.org>
10678
10679 * config.in (HAVE_SPEED_T): New define.
10680
10681 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10682 `extern speed_t'.
10683
dd854dc2
DL
106842000-05-26 Dave Love <fx@gnu.org>
10685
10686 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10687
10688 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10689 (Fsubr_arity): New function.
10690 (syms_of_data): Install them.
10691
ba9f8f95
KH
106922000-05-26 Kenichi Handa <handa@etl.go.jp>
10693
0f3e0672
KH
10694 * charset.c (init_charset_once): Set the table bytes_by_char_head
10695 correctly.
10696
cebefb44
KH
10697 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10698 the default fontset to what Emacs uses by default.
0f3e0672
KH
10699 (check_registry_encoding): This function deleted.
10700 (Fset_fontset_font): Remove the adhoc condition for the default
10701 fontset. Allow cons in FONTNAME.
cebefb44 10702
0f3e0672
KH
10703 * fns.c (map_char_table): Ignore char-table entries for
10704 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 10705
7a18af49
KR
107062000-05-25 Ken Raeburn <raeburn@gnu.org>
10707
10708 * emacs.c (main): Initialize keyboard syms before initializing
10709 window code, so face names are available.
10710
d2af47df
SM
107112000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10712
10713 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10714 of an anchor at the beginning of a shy-group.
10715
fc6a6a4e
GM
107162000-05-25 Gerd Moellmann <gerd@gnu.org>
10717
10718 * xdisp.c (handle_invisible_prop): Don't try to skip over
10719 invisible text if end of text is already reached.
10720
005f0d35
DL
107212000-05-25 Dave Love <fx@gnu.org>
10722
02513cdd
DL
10723 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10724
005f0d35
DL
10725 * coding.c (encode_eol): Add null statement after label.
10726
89f6ca4e
EZ
107272000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10728
10729 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10730 2000-05-20.
10731
a4e1759e
KH
107322000-05-25 Kenichi Handa <handa@etl.go.jp>
10733
10734 * ccl.c (ccl_driver): Fix previous change.
10735
eacfd7fe
KH
107362000-05-25 Kenichi Handa <handa@etl.go.jp>
10737
46ab33a9
KH
10738 * coding.c (run_pre_post_conversion_on_str): Set point to the
10739 beginning of buffer before calling coding->post_read_conversion.
10740 (decode_coding_string): Give correct args to
10741 run_pre_post_conversion_on_str.
10742 (encode_coding_string): Likewise.
10743
eacfd7fe
KH
10744 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10745 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10746 eight-bit-graphic correctly.
10747
f8569325
DL
107482000-05-24 Kenichi HANDA <handa@etl.go.jp>
10749
10750 * fileio.c (Finsert_file_contents): Even if a file is not found,
10751 execute codes for setting up coding system. Call
10752 after-insert-file-functions unconditionally.
10753
04545643
GM
107542000-05-24 Gerd Moellmann <gerd@gnu.org>
10755
10756 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10757 BSD_PGRPS are not defined.
10758
747d90ea
KH
107592000-05-24 Kenichi Handa <handa@etl.go.jp>
10760
10761 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10762 DESCRIPTION.
10763 (syms_of_charset): Avoid building same strings.
10764
716e3b88
GM
107652000-05-23 Gerd Moellmann <gerd@gnu.org>
10766
10767 * lread.c (Fload): Add a comment about the meaning of
10768 Vuser_init_file being t.
10769
10770 * puresize.h (BASE_PURESIZE): Increase to 675000.
10771
10772 * s/gnu-linux.h (setpgrp): Don't define it here because this
10773 prevents compilation on GNU/Linux systems with glib 2.2.
10774
10775 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10776 as setpgid.
427ec082 10777
9aeb39fa
EZ
107782000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10779
10780 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10781 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10782 version.
10783 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10784
29ced61b
KH
107852000-05-23 Kenichi Handa <handa@etl.go.jp>
10786
52283633 10787 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 10788
3d80f24d
KH
10789 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10790
52283633 10791 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 10792
29ced61b
KH
10793 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10794
d7e00792
KH
107952000-05-22 Kenichi Handa <handa@etl.go.jp>
10796
c9d80d38
KH
10797 * keyboard.c (read_char): Allow character codes 128..255 to be
10798 handled by input-method-function.
10799
d7e00792
KH
10800 * insdel.c (adjust_markers_for_replace): Fix previous change.
10801 (adjust_after_replace): If PREV_TEXT is nil, call
10802 adjust_markers_for_insert, not adjust_markers_for_replace.
10803
087121cc 108042000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 10805
087121cc
GM
10806 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10807 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10808 [HAVE_GRANDPT]: Define.
10809 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10810
10811 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10812 like SYSV_PTYS.
10813
10814 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10815
10816 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
10817
c9671f81
KH
108182000-05-20 Kenichi Handa <handa@etl.go.jp>
10819
10820 The following changes are to handle 8-bit characters in a
10821 multibyte buffer/string without facing with byte combining
10822 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
10823 eight-bit-graphic (for 0xA0..0xFF) are introduced.
10824
10825 * Makefile.in (fns.o): Depend on charset.h.
10826
10827 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
10828 convert it to unibyte.
10829 (make_string): Use parse_str_as_multibyte, not chars_in_text.
10830
10831 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
10832 apparent char boundary.
10833 (Fset_buffer_multibyte): Convert 8-bit characters in the range
10834 0x80..0x9F to/from multibyte form.
10835
10836 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
10837 to unibyte.
10838
10839 * callproc.c (Fcall_process): Always encode an argument string if
10840 it is multibyte. Setup src_multibyte and dst_multibyte members of
10841 process_coding properly.
ce75fd23 10842
c9671f81
KH
10843 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
10844 SPLIT_NON_ASCII_CHAR.
10845
10846 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
10847 as is.
10848 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
10849
52283633 10850 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 10851 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 10852 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
10853 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
10854 and eight-bit-graphic.
10855 (char_to_string): Likewise. Signal an error for too large
10856 character code.
10857 (char_printable_p): Return 0 for 8-bit characters.
10858 (update_charset_table): Update iso_charset_table only when a final
10859 character is non-negative.
10860 (find_charset_in_text): Renamed from find_charset_in_str.
10861 Arguments and return value changed. Callers changed.
10862 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10863 be -1 if CHARSET is used only internally.
10864 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10865 eight-bit-graphic.
10866 (Fcharset_after): Simplified.
10867 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10868 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10869 (multibyte_chars_in_text): Simplified by assuming there's no
10870 invalid multibyte sequence.
52283633
SM
10871 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10872 (str_as_unibyte): New functions.
10873 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10874 (init_charset_once): Initialization for
10875 LEADING_CODE_8_BIT_CONTROL.
10876 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10877 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10878 eight-bit-control and eight-bit-graphic.
10879
52283633
SM
10880 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10881 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10882 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10883 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10884 (CHARSET_REVERSE_CHARSET): Likewise.
10885 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10886 eight-bit-graphic.
10887 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10888 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10889 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10890 encounter an invalid multibyte sequence.
10891 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10892 sequence is always valid.
10893 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10894 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10895 (CHAR_STRING): For 8-bit characters, call char_to_string.
10896 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10897 multibyte sequence is always valid.
10898 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10899 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10900 (str_as_unibyte): Extern them.
c9671f81 10901 (BCOPY_SHORT): Fix a bug.
52283633 10902 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10903 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10904 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10905 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10906
bd4bde7f 10907 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10908 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10909 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10910 (EMIT_BYTES): New macros.
10911 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10912 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10913 macros deleted.
10914 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10915 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10916 check the validity of multibyte sequence.
10917 (decode_coding_emacs_mule): New function.
10918 (encode_coding_emacs_mule): New macro.
10919 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10920 the source.
10921 (DECODE_ISO_CHARACTER): Just return a character code.
10922 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10923 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10924 EMIT_CHAR to produced decoded characters. Exit the loop only by
10925 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10926 block here.
10927 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10928 only position codes for an invalid character.
10929 (encode_designation_at_bol): Return new destination pointer. 5th
10930 arg DSTP is changed to DST.
10931 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10932 from the source by ONE_MORE_CHAR. Don't handle the case of last
10933 block here.
10934 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10935 macros deleted.
52283633
SM
10936 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10937 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10938 TWO_MORE_BYTES to fetch a byte from the source.
10939 (encode_eol): Pay attention to coding->src_multibyte.
10940 (detect_coding, detect_eol): Preserve members src_multibyte and
10941 dst_multibyte.
10942 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10943 (encoding_buffer_size): Set magnification to 3 for all coding
10944 systems that require encoding.
10945 (ccl_coding_driver): For decoding, be sure that the result is
10946 valid multibyte sequence.
10947 (decode_coding): Initialize coding->errors and coding->result.
10948 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10949 and raw-text, always call decode_eol. Handle the case of last
10950 block here. If not coding->dst_multibyte, convert the resulting
10951 sequence to unibyte.
10952 (encode_coding): Initialize coding->errors and coding->result.
10953 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
10954 and raw-text, always call encode_eol. Handle the case of last
10955 block here.
10956 (shrink_decoding_region, shrink_encoding_region): Detect cases
10957 that we can't skip data more rigidly.
10958 (code_convert_region): Setup src_multibyte and dst_multibyte
10959 members of coding. For decoding, if the buffer is multibyte,
10960 convert the source sequence to unibyte in advance. For encoding,
10961 if the buffer is multibyte, convert the resulting sequence to
10962 multibyte afterward.
10963 (run_pre_post_conversion_on_str): New function.
10964 (code_convert_string): Deleted and divided into the following two.
10965 (decode_coding_string, encode_coding_string): New functions.
10966 (code_convert_string1, code_convert_string_norecord): Call one of
10967 above.
10968 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
10969 MAKE_NON_ASCII_CHAR.
52283633
SM
10970 (Fset_terminal_coding_system_internal)
10971 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
10972 and dst_multibyte members.
10973 (init_coding_once): Initialize iso_code_class with new enum
10974 ISO_control_0 and ISO_control_1.
10975
10976 * coding.h (enum iso_code_class_type): Member ISO_control_code is
10977 devided into ISO_control_0 and ISO_control_1.
10978 (struct coding_system): New members src_multibyte, dst_multibyte,
10979 errors, and result. Delete member fake_multibyte.
10980 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
10981 nonzero.
10982 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
10983 nonzero.
10984
10985 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
10986 (Faset): Likewise.
10987
10988 * editfns.c (Fformat): Be sure to convert 8-bit characters to
10989 multibyte form.
10990 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
10991 combining occurs.
10992 (Ftranspose_region): Delete codes for handling byte combining.
10993
10994 * fileio.c (Finsert_file_contents): Setup src_multibyte and
10995 dst_multibyte members of coding. On handling REPLACE on unibyte
10996 buffer, convert the result of decode_coding to unibyte. On
10997 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 10998 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
10999 multibyteness of the source (buffer or string).
11000
11001 * fns.c (concat): Handle 8-bit characters correctly.
11002 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11003 unibyte in the result.
11004 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11005 valid multibyte form in the result.
11006 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11007 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11008 return -1, signal an error.
11009 (base64_encode_1): New arg MULTIBYTE. Get each character by
11010 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11011 character is found, return -1.
11012 (Fbase64_decode_region): Delete codes for handling byte-combining.
11013 Treat each decoded byte as a unibyte character.
11014 (Fbase64_decode_string): Return unibyte string.
11015 (Fcompare_strings, concat, string_byte_to_char): Use
11016 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11017 FETCH_STRING_CHAR_ADVANCE.
11018 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11019 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11020
11021 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11022 SPLIT_NON_ASCII_CHAR.
11023 (fontset_ref_via_base, fontset_set): Likewise
11024
11025 * insdel.c (adjust_markers_for_record_delete): Deleted.
11026 (adjust_markers_for_insert): Argument changed. Caller changed.
11027 (adjust_markers_for_replace): Likewise.
52283633
SM
11028 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11029 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11030 (copy_text): Delete unused local varialbe c_save. For converting
11031 to multibyte, be sure to make all 8-bit characters in valid
11032 multibyte form.
11033 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11034 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11035 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11036 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11037 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11038 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11039 handling byte combining.
11040 (adjust_before_replace): Deleted.
427ec082 11041
c9671f81
KH
11042 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11043 SPLIT_NON_ASCII_CHAR.
11044 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11045 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11046 (Fkey_description): Likewise.
11047
11048 * lread.c (read1): On reading multibyte string, be sure to make
11049 all 8-bit chararacters in valid multibyte form.
11050 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11051
11052 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11053 unconditionally.
11054
11055 * process.c (Fstart_process): GCPRO current_dir before calling
11056 Ffind_operation_coding_system. Encode arguments here.
11057 (create_process): Don't encode arguments here. Setup
11058 src_multibyte and dst_multibyte members of struct coding.
11059 (read_process_output): Setup src_multibyte and dst_multibyte
11060 members of struct coding. If the output is to multibyte buffer,
11061 always decode the output of the process. Adjust the
52283633 11062 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11063 (send_process): Setup coding->src_multibyte according to the
11064 multibyteness of the source.
11065
52283633 11066 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11067 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11068 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11069
52283633 11070 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11071
11072 * w16select.c (Fw16_set_clipboard_data): Setup members
11073 src_multibyte and dst_multibyte of coding. Adjusted for the
11074 change for find_charset_in_str.
11075 (Fw16_get_clipboard_data): Likewise.
11076
11077 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11078 dst_multibyte of coding.
11079 (x_to_w32_font): Likewise.
11080
11081 * w32select.c (Fw32_set_clipboard_data): Setup members
11082 src_multibyte and dst_multibyte of coding. Adjusted for the
11083 change for find_charset_in_str.
11084 (Fw32_get_clipboard_data): Likewise.
11085
11086 * xdisp.c (get_next_display_element): Handle 8-bit characters
11087 correctly.
52283633
SM
11088 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11089 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11090
11091 * xselect.c (selection_data_to_lisp_data): Setup members
11092 src_multibyte and dst_multibyte of coding. Adjusted for the
11093 change for find_charset_in_str.
11094 (lisp_data_to_selection_data): Likewise.
11095
5f64c9e0
GM
110962000-05-19 Gerd Moellmann <gerd@gnu.org>
11097
52283633 11098 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11099
5f64c9e0
GM
11100 * dispextern.h (Vimage_types): Add extern declaration.
11101
11102 * xdisp.c (Vimage_types): Moved here from xfns.c.
11103 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11104
11105 * xfns.c (Vimages_types): Moved to xdisp.c.
11106 (syms_of_xfns): Move `image-types' to xdisp.c.
11107
11108 * w32fns.c (Vimage_types): Removed.
11109 (syms_of_w32fns): Remove `image-types'.
11110
813086ea
KH
111112000-05-18 Kenichi Handa <handa@etl.go.jp>
11112
11113 * fns.c (map_char_table): Pay attention to character number of
11114 charset. Check the validity of charset at the first level. For
11115 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11116 the default value.
11117
11118 * fontset.c: Include "buffer.h".
11119 (fs_load_font): If the face has fontset, record the face ID in
11120 that fontset.
11121 (Finternal_char_font): New function.
11122 (accumulate_font_info): New function.
11123 (Ffontset_info): Rewritten for the new fontset implementation.
11124 (syms_of_fontset): Register Vdefault_fontset in the first element
11125 of Vfontset_table. Include Vdefault_fontset in
11126 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11127 function.
11128
bdaebbf0
DL
111292000-05-16 Dave Love <fx@gnu.org>
11130
11131 * m/iris5d.h: Deleted -- unused.
11132
cb613bb8
GM
111332000-05-16 Gerd Moellmann <gerd@gnu.org>
11134
b15f3b77
GM
11135 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11136 `invalid' instead of `illegal'.
11137
11138 * indent.c (Fmove_to_column): When ending within a tab, insert
11139 spaces first so that markers at the end of the tab get adjusted.
11140
835c1b36
GM
11141 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11142 buffer list that wasn't selected in that frame.
11143
cb613bb8
GM
11144 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11145 is needed on mescaline, use a 2 char prefix, and call
11146 make_temp_name with second arg non-zero.
11147
11148 * fileio.c (make_temp_name): New function, extracted from
11149 Fmake_temp_name.
11150 (Fmake_temp_name): Use it.
11151
f685bea9
EZ
111522000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11153
52283633 11154 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11155
a1b8d58b
GM
111562000-05-15 Gerd Moellmann <gerd@gnu.org>
11157
11158 * Makefile.in (lisp): Add env.elc.
11159
11160 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11161
a265079f
GM
111622000-05-12 Gerd Moellmann <gerd@gnu.org>
11163
11164 * search.c (Freplace_match): Handle case of `\N' in the
11165 replacement when there's no group N.
11166
da4496b6
GM
111672000-05-11 Gerd Moellmann <gerd@gnu.org>
11168
0ace421a
GM
11169 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11170 of the message to message_dolog.
11171
1172eb8d
GM
11172 * keyboard.c (read_char): Don't clear current message for help
11173 events; let the code handling help events handle this. Change
11174 code detecting help events that should be ignored.
11175
da4496b6
GM
11176 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11177 we're interating over a string.
11178
0623e40f
DL
111792000-05-09 Dave Love <fx@gnu.org>
11180
11181 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11182 that offset before writing. Move gcpro region past call of
11183 Ffile_regular_p.
11184
bae2503b
DL
111852000-05-04 Dave Love <fx@gnu.org>
11186
11187 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11188
ec82fb2f
GM
111892000-05-04 Gerd Moellmann <gerd@gnu.org>
11190
11191 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11192 of inserted characters when BUF equals the current buffer, and PT
11193 is in front of or equal to FROM.
11194
cbf18892
GM
111952000-05-03 Gerd Moellmann <gerd@gnu.org>
11196
4ff40dd0
GM
11197 * xdisp.c (handle_single_display_prop): If display property value
11198 is invalid, or something not supported on the frame, restore
11199 iterator's position to what it was initially. Make sure to return
11200 0 for invalid and unsupported property values.
11201
cbf18892
GM
11202 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11203 that x_per_char_metric returns null.
11204
1b0672c3
GM
112052000-05-02 Gerd Moellmann <gerd@gnu.org>
11206
576da55d
GM
11207 * xterm.h (struct face): Add forward declaration.
11208 (struct image): Ditto.
11209 (image_ascent): Add prototype.
11210
11211 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11212 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11213 image_ascent instead of using IMAGE_ASCENT.
11214
11215 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11216 (IMAGE_ASCENT): Removed.
11217
11218 * xfns.c (Qcenter): New variable.
11219 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11220 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11221 (image_ascent): New function.
11222 (lookup_image): Recognize `:ascent center'.
11223 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11224 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11225 (xbm_load): Don't set image's ascent here.
11226 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11227 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11228 check ascent values here.
11229 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11230 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11231 (syms_of_xfns): Initialize Qcenter.
11232
1b0672c3
GM
11233 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11234 to the limits, increase the limits.
11235
0d7811ed
KH
112362000-05-01 Kenichi Handa <handa@etl.go.jp>
11237
11238 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11239 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11240
a943a5ca
GM
112412000-04-28 Gerd Moellmann <gerd@gnu.org>
11242
11243 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11244 taller than the window.
11245
5dba1e29
KH
112462000-04-28 Kenichi Handa <handa@etl.go.jp>
11247
11248 * xfaces.c (realize_x_face): Fix the argument of the second
11249 xassert. BASE_FACE may not be a face for ASCII.
11250
353964e3
GM
112512000-04-27 Gerd Moellmann <gerd@gnu.org>
11252
c76e04a8
GM
11253 * print.c (print_object): Treat print-length < 0 as nil.
11254
11255 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11256
11257 * s/freebsd.h (TERMCAP_OBJ): Removed.
11258 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11259
11260 * lread.c (read1): Don't treat period followed by certain
11261 characters as symbol start.
11262
11263 * xfns.c (slurp_file): New function.
11264 (xbm_image_p): Handle case of in-memory XBM files.
11265 (xbm_scan): Rewritten to work on memory buffers instead of files.
11266 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11267 Work on memory buffers instead of files. If DATA is null test
11268 if buffer looks like an in-memory XBM file.
11269 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11270 memory buffers instead of files.
11271 (xbm_file_p): New function.
11272 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11273
353964e3
GM
11274 * lread.c (end_of_file_error): New function.
11275 (read1): Call it instead of signaling `end-of-file' directly.
11276
427ec082 11277 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11278 with Fprinc instead of Fprin1.
11279
24d744ac
KR
112802000-04-26 Ken Raeburn <raeburn@gnu.org>
11281
11282 * window.c (freeze_window_start): Check that minibuffer scroll
11283 window isn't nil before extracting the window structure pointer
11284 from it.
11285
11286 * undo.c (record_delete): If we hit the end of the undo list, stop
11287 picking elements apart.
11288
7464346d
GM
112892000-04-26 Gerd Moellmann <gerd@gnu.org>
11290
11291 * xdisp.c (display_line): If lines are continued, restore
11292 iterator's ascent/descent information to the values before the
11293 first glyph not fitting on the line.
11294
612839b6
GM
112952000-04-25 Gerd Moellmann <gerd@gnu.org>
11296
11297 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11298 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11299
11300 * dispnew.c (increment_matrix_positions): Renamed from
11301 increment_glyph_matrix_buffer_positions.
11302 (increment_row_positions): Renamed from
11303 increment_glyph_row_buffer_positions.
11304
11305 * dispextern.h: Change names of renamed functions from dispnew.c
11306 in prototypes.
11307
cc181e95
GM
113082000-04-24 Gerd Moellmann <gerd@gnu.org>
11309
abfcc168
GM
11310 * fileio.c (Fdo_auto_save): Create directories for auto-save
11311 list file if necessary.
11312
cc181e95
GM
11313 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11314 from buffer or frame.
11315 (automatic_hscrolling_p): New variable.
11316 (hscroll_windows): Scroll windows horizontally only if automatic
11317 hscrolling is allowed.
11318 (syms_of_xdisp): New variable `automatic-hscrolling'.
11319
11320 * frame.h (struct frame): Add member extra_line_spacing.
11321
11322 * xfns.c (x_set_line_spacing): New function.
11323 (Fx_create_frame): Set line spacing from resources.
11324 (Qline_spacing): New variable.
11325 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11326
cc181e95
GM
11327 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11328
11329 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11330 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11331 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11332 extra_line_spacing from default value.
11333 (init_buffer_once): Initialize default value of extra_line_spacing.
11334
11335 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11336 and extra3.
11337
11338 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11339 prompt_width. Add extra line spacing.
11340
11341 * term.c (produce_glyphs): Remove reference to struct it's
11342 prompt_width.
11343
11344 * dispextern.h (struct it): Remove member prompt_width, add
11345 extra_line_spacing.
11346
58827478
GM
113472000-04-22 Gerd Moellmann <gerd@gnu.org>
11348
11349 * dispnew.c (update_frame_line): When writing a whole line, make
11350 sure cursor is in the right row afterwards, otherwise a use of
11351 capability `ch' in cmgoto might leave the cursor in the row below.
11352
25a87f42
GM
113532000-04-21 Gerd Moellmann <gerd@gnu.org>
11354
11355 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11356
11357 * keyboard.c (timer_check): Fix typo in comment.
11358
54edf5c2
KH
113592000-04-21 Kenichi Handa <handa@etl.go.jp>
11360
11361 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11362 name change: ch -> character.
11363
3a64eef5
GM
113642000-04-20 Gerd Moellmann <gerd@gnu.org>
11365
11366 * keyboard.c (echo_message_buffer): New variable.
11367 (echo_now): Set echo_message_buffer to the echo area buffer used
11368 to display the echo.
11369 (cancel_echoing): Reset echo_message_buffer to nil.
11370 (read_char): Code rewritten that handles canceling an echo or
11371 echoing a dash, respectively.
11372
11373 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11374 directory doesn't exist.
11375
6142fdcb
DL
113762000-04-19 Dave Love <fx@gnu.org>
11377
11378 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11379 (concat): Don't allow numeric args.
11380 (Fconcat): Doc change.
6142fdcb 11381
ac6b5352
SM
113822000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11383
11384 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11385 instead define end_match(1|2) more carefully.
11386 Use GET_CHAR_BEFORE_2 for `begline'.
11387
cb9215e4
GM
113882000-04-19 Gerd Moellmann <gerd@gnu.org>
11389
5e3dac3f
GM
11390 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11391 on 64-bit systems where NULL is defined as `0'.
11392
11393 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11394 the `variable argument list' to make it work on Alpha.
11395
cb9215e4
GM
11396 * m/alpha.h (_LP64) [!_LP64]: Define.
11397 (ORDINARY_LINK): Define for NetBSD.
11398
11399 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11400
f532dca0
DL
114012000-04-19 Dave Love <fx@gnu.org>
11402
c750667e
DL
11403 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11404 change.
11405
11406 * Makefile.in (LIBS): Don't use.
11407 (GETLOADAVG_OBJ): Define again.
11408 (otherobj): Add GETLOADAVG_OBJ.
11409
f532dca0
DL
11410 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11411
1c7e22fd
GM
114122000-04-18 Gerd Moellmann <gerd@gnu.org>
11413
f6d3257b
GM
11414 * lread.c (read_filtered_event): Cancel and start busy cursor.
11415
427ec082 11416 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11417 that the per-character metrics may be null.
11418
e10f64e7
GM
114192000-04-17 Gerd Moellmann <gerd@gnu.org>
11420
0daee095
GM
11421 * buffer.c (clone_per_buffer_values): New function.
11422 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11423 clone_per_buffer_values if CLONE is not nil.
11424
e10f64e7
GM
11425 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11426
38687d43
DL
114272000-04-16 Dave Love <fx@gnu.org>
11428
11429 * Makefile.in: Remove obsolete localcpp stuff.
11430 (GETLOADAVG_OBJ): Don't define.
11431 (obj): Move LIBOBJS...
11432 (otherobj): ... to here.
11433 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11434 whitespace-only lines after the continuation (Irix).
11435
c21c7262
GM
114362000-04-14 Gerd Moellmann <gerd@gnu.org>
11437
11438 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11439
11440 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11441
314767c0
DL
114422000-04-14 Dave Love <fx@gnu.org>
11443
11444 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11445 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11446 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11447 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11448 NLIST_STRUCT.
11449
11450 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11451 autoconfiscated HAVE_GETLOADAVG.
11452
11453 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11454 BROKEN_MKTIME.
11455
a2522dca
GM
114562000-04-14 Gerd Moellmann <gerd@gnu.org>
11457
11458 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11459 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11460
33744b5d
DL
114612000-04-14 Dave Love <fx@gnu.org>
11462
c21c7262 11463 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11464 (INTERVAL_SRC): Convert to make variable.
11465 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11466 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11467 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11468 add LIBOBJS.
11469 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11470 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11471 (shortlisp): Add facemenu, float-sup, frame.
11472 (SOME_MACHINE_LISP): Remove them from here.
11473 (LIBES): Change unused LDLIBS to autoconf LIBS.
11474
11475 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11476
9d3d5916
KH
114772000-04-14 Kenichi Handa <handa@etl.go.jp>
11478
11479 * composite.c (update_compositions): If FROM and TO are not in a
11480 valid range, do nothing.
11481
198e3c7a
GM
114822000-04-13 Gerd Moellmann <gerd@gnu.org>
11483
52283633 11484 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11485
52283633 11486 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11487
11488 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11489 as TERMCAP_OBJ.
11490
055a28c9
EZ
114912000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11492
11493 * fileio.c (a_write): Remove redundant semi-colons.
11494 (e_write): Return -1 if failed to write all the data.
11495 This fixes the changes made at 1999-12-15.
11496
f5c75033
DL
114972000-04-12 Dave Love <fx@gnu.org>
11498
11499 * fns.c (mapcar1): Test for null vals to support mapc.
11500 (Fmapc): New function.
11501
0c3cfc51
EZ
115022000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11503
11504 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11505 (IT_frame_up_to_date): Support the buffer local value of
11506 cursor-type, if defined.
11507
33465a31
DL
115082000-04-10 Dave Love <fx@gnu.org>
11509
11510 * editfns.c (preceding-char, following-char): Doc fix.
11511
6ed56568
KR
115122000-04-10 Ken Raeburn <raeburn@gnu.org>
11513
11514 * Makefile.in (temacs): Revert 2000-03-12 change.
11515
7cf80d4e
JR
115162000-04-10 Jason Rumney <jasonr@gnu.org>
11517
11518 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11519
34f3f342
GM
115202000-04-10 Gerd Moellmann <gerd@gnu.org>
11521
1a1b1895
GM
11522 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11523 area buffer, if it's not set up yet.
11524
34f3f342
GM
11525 * indent.c (compute_motion): Set immediate_quit.
11526
be0dbdab
GM
115272000-04-09 Gerd Moellmann <gerd@gnu.org>
11528
52283633 11529 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11530 (realize_tty_face): Suppress boldness if colors are the inverse of
11531 the default colors, and tty_suppress_bold_inverse_default_colors_p
11532 is set.
11533 (Ftty_suppress_bold_inverse_default_colors): New function.
11534 (syms_of_xfaces): Defsubr it.
11535
be0dbdab
GM
11536 * buffer.c (Frestore_buffer_modified_p): New function.
11537 (syms_of_buffer): Defsubr it.
11538
e8413c3b
KR
115392000-04-08 Ken Raeburn <raeburn@gnu.org>
11540
87f67317
KR
11541 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11542 charset id (int) argument, not a charset (Lisp_Object).
11543
e8413c3b
KR
11544 * coding.h (code_convert_string): Declare.
11545 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11546 object, as the fourth argument to code_convert_string.
11547
52283633 11548 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11549 (Fset_fontset_font): Use EQ to compare lisp objects.
11550
7c752c80
KR
115512000-04-05 Ken Raeburn <raeburn@gnu.org>
11552
c0333abc
KR
11553 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11554 a pointer that looks like a lisp object.
11555 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11556 zero, instead see whether it's an integer object, since they can't
11557 have intervals.
11558 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11559
52283633
SM
11560 * dispnew.c (allocate_matrices_for_frame_redisplay)
11561 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11562 to convert between (unsigned) int values and lisp integers.
11563 * keyboard.c (read_key_sequence): Likewise.
11564 * lread.c (substitute_object_recurse): Likewise.
11565 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11566 * minibuf.c (do_completion, Fminibuffer_complete_word)
11567 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11568 * term.c (produce_special_glyphs): Likewise.
11569
11570 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11571 * print.c (print_preprocess, print_object): Likewise.
11572
11573 * search.c (compile_pattern): Use NILP when checking for nil.
11574
74e49b38
KR
11575 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11576 __OPTIMIZE__]: Provide a GNU C macro version that handles
11577 lisp-object unions.
11578 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11579 field, to better cope with ENABLE_CHECKING and calls that modify a
11580 Lisp_Object using its old value.
11581
685e5ed2
GM
115822000-04-04 Gerd Moellmann <gerd@gnu.org>
11583
c407c570
GM
11584 * window.c (compare_window_configurations): Signal an error
11585 if parameters C1 or C2 aren't window configurations.
11586
685e5ed2
GM
11587 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11588 AFTER_POTENTIAL_GC calls around calls to functions that can
11589 signal an error and thus invoke the debugger.
11590
587a49ab
GM
115912000-04-03 Gerd Moellmann <gerd@gnu.org>
11592
62f20204
GM
11593 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11594 an error if decoding fails.
11595
587a49ab
GM
11596 * keyboard.c (lispy_mouse_names): Variable removed.
11597 (Vlispy_mouse_stem): New variable.
11598 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11599 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11600 for any mouse button number. Increase size of mouse_syms and
11601 button_down_location as needed. Call modify_event_symbol with
11602 different arguments.
11603 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11604 Call modify_event_symbol with different arguments.
11605 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11606 for any button number. Call modify_event_symbol with different
11607 arguments.
11608 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11609 Accept a string for NAME_ALIST_OR_STEM.
11610
11611 * lisp.h (larger_vector): Add prototype.
11612
11613 * fns.c (larger_vector): Make externally visible.
11614
11615 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11616
2d1675e4
SM
116172000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11618
11619 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11620 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11621 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11622 we are between str1 and str2.
11623 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11624 (PATFETCH): Use `TRANSLATE'.
11625 (PATFETCH_RAW): Fetch multibyte char if applicable.
11626 (PATUNFETCH): Remove.
11627 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11628 When writing a char, write it directly into the pattern buffer rather
11629 than going needlessly through a temp char-array.
11630 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11631 multibyte magic and remove the useless `#ifdef emacs'.
11632 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11633 buffer.
11634
11635 * regex.h (struct re_pattern_buffer): Make field `multibyte'
11636 conditional on `emacs'.
11637
11638 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
11639
cc2d8c6b
KR
116402000-04-01 Ken Raeburn <raeburn@gnu.org>
11641
11642 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
11643 non-union-type versions of XMARK and friends here, because XMARK
11644 and friends won't work on an integer field if NO_UNION_TYPE is not
11645 defined.
52283633 11646 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 11647
52283633 11648 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
11649 (syms_of_composite): Delete local var NARGS, pass an int as first
11650 argument to Fmake_hash_table.
11651
2387b382
KR
11652 * editfns.c (text_property_stickiness): Use NILP to test
11653 Lisp_Object boolean value.
11654 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
11655 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
11656 problems reading from and changing the same lisp value in an
11657 XSETSTRING call.
11658
27660e89
GM
116592000-04-01 Gerd Moellmann <gerd@gnu.org>
11660
11661 * term.c (TN_no_color_video): New variable.
11662 (term_init): Intitialize TN_no_color_video.
11663 (enum no_color_bit): New enumeration.
11664 (MAY_USE_WITH_COLORS_P): New macro.
11665 (turn_on_face): Use it to determine if attributes may be used
11666 combined with colors.
11667
3578db3c
KR
116682000-04-01 Ken Raeburn <raeburn@gnu.org>
11669
11670 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 11671 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
11672 (enlarge_window): Variable sizep now points to Lisp_Object. Use
11673 proper accessor macros.
11674 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
11675 (grow_mini_window): Fix typo getting int value of root->height.
11676
6fc556fd
KR
11677 * xdisp.c (compute_string_pos): Fix order of arguments to
11678 string_pos_nchars_ahead.
11679 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
11680 count arg to variable-arg routines like Frun_hook_with_args and
11681 Fformat.
587a49ab
GM
11682 (back_to_previous_visible_line_start)
11683 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
11684 fixed-arg routines like Fget_char_property and Fmake_string.
11685 (reconsider_clip_changes): Use XINT when comparing integer lisp
11686 objects, or passing them as int arguments.
587a49ab
GM
11687 (mark_window_display_accurate, insert_left_trunc_glyphs)
11688 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11689 storing or passing integer values as lisp objects.
11690 (set_cursor_from_row, highlight_trailing_whitespace): Use
11691 INTEGERP, not implicit test against zero, for glyph object.
11692 (try_window_id): Don't use make_number when we want an int value.
11693
11694 * xfaces.c (xlfd_symbolic_value): Make last argument a
11695 Lisp_Object, to be consistent with callers.
11696 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11697 (lface_hash): Apply XFASTINT to lisp values before folding in.
11698
11699 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11700 fill in window width and height. Pass an int, not a lisp object,
11701 as first arg to Finsert.
11702
6e7b2457
GM
117032000-04-01 Gerd Moellmann <gerd@gnu.org>
11704
610d841e
GM
11705 * xfaces.c (realize_basic_faces): Block input while realizing
11706 the faces.
11707
6e7b2457
GM
11708 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11709
11710 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11711
aa110c0c
GM
117122000-03-31 Gerd Moellmann <gerd@gnu.org>
11713
11714 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 11715 or ASCII, handle case that per-char metric is null.
aa110c0c 11716
8801a864
KR
117172000-03-30 Ken Raeburn <raeburn@gnu.org>
11718
c6129d7e
KR
11719 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11720
52283633
SM
11721 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11722 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
11723 pointer, using eassert.
11724 * frame.h (XFRAME): Likewise.
11725
52283633
SM
11726 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11727 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11728 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 11729 * data.c (set_internal): Likewise.
52283633
SM
11730 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11731 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
11732 * fileio.c (auto_save_1): Likewise.
11733 * insdel.c (check_markers): Likewise.
11734 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11735 * undo.c (record_insert): Likewise.
11736 * vmsproc.c (child_sig): Likewise.
11737 * window.c (unshow_buffer, window_loop): Likewise.
11738 * xterm.c (x_erase_phys_cursor): Likewise.
11739
8e7af858
GM
117402000-03-30 Gerd Moellmann <gerd@gnu.org>
11741
11742 * xfns.c (free_image_cache): Free the cache structure itself
11743 last, after all its members have been freed.
11744
11745 * lisp.h (xstrdup): Add prototype.
11746
11747 * alloc.c (xstrdup): Moved here from xfaces.c.
11748 (allocating_for_lisp): Variable removed.
52283633 11749 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11750
11751 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11752 of Fsymbol_value.
11753 (xstrdup): Moved to alloc.c.
11754
e0b8c689
KR
117552000-03-29 Ken Raeburn <raeburn@gnu.org>
11756
b96f9fb7
KR
11757 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11758
11759 * emacs.c (main): Fix sense of no-loadup test.
11760
e0b8c689
KR
11761 * config.in (ENABLE_CHECKING): Undef.
11762
11763 * lisp.h (struct interval): Replace "parent" field with a union of
11764 interval pointer and Lisp_Object; add new bitfield to use as
11765 discriminant. Change other flag fields to bitfields.
11766 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11767 is defined and the supplied test fails, print a message and abort.
11768 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11769
11770 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11771 pointers; abort if the value looks like a lisp object.
52283633
SM
11772 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11773 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11774 Modify for new interval parent definition.
11775
52283633
SM
11776 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11777 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
11778 addressable lisp object in the interval structure.
11779 (die): New function.
11780 (suppress_checking): New variable.
11781
11782 * intervals.c (interval_start_pos): Just return 0 if there's no
11783 parent object.
11784
f83c5440
GM
117852000-03-29 Gerd Moellmann <gerd@gnu.org>
11786
11787 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11788 and earlier Emacs versions.
11789
11790 * keyboard.c (Ftop_level): Cancel busy-cursor.
11791
11792 * eval.c (call_debugger): Cancel busy-cursor.
11793
fdce64ff
KH
117942000-03-29 Kenichi Handa <handa@etl.go.jp>
11795
11796 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 11797 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 11798
f6a3f532
SM
117992000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11800
11801 * regex.c (analyse_first): New function obtained by ripping out most
11802 of re_compile_fastmap and generalizing it a little bit so that it
11803 can also just return whether a given (sub)pattern can match the empty
11804 string or not.
11805 (regex_compile): Use `analyse_first' to decide whether the loop-check
11806 needs to be done or not for *, +, *? and +? (the loop check is costly
11807 for non-greedy repetition).
11808 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11809
e9b309ac
DL
118102000-03-28 Dave Love <fx@gnu.org>
11811
52283633 11812 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 11813
e9b309ac
DL
11814 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11815
ed0767d8
SM
118162000-03-27 Stefan Monnier <monnier@cs.yale.edu>
11817
11818 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
11819 an expression.
11820 (enum re_opcode_t): Update description of succeed_n.
11821 (PATFETCH): Always define.
11822 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
11823 operators, char classes, shy-groups and intervals).
11824 Optimize special cases of intervals so as to only use succeed_n and
11825 jump_n when really needed.
11826 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
11827 that we don't have to handle the special cases any more.
11828 Simplify on_failure_jump handling as well.
11829
e11e7e46
JR
118302000-03-28 Jason Rumney <jasonr@gnu.org>
11831
11832 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
11833
88faab89
GM
118342000-03-27 Gerd Moellmann <gerd@gnu.org>
11835
182ff242
GM
11836 * s/freebsd.h (GC_SETJMP_WORKS): Define.
11837
11838 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 11839
182ff242
GM
11840 * alloc.c (mark_maybe_object): New function.
11841 (mark_memory): Use it.
11842 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
11843 (setjmp_tested_p, longjmp_done): New variables.
11844 (test_setjmp): New function.
11845 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
11846 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
11847
c1005d06
GM
11848 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
11849 to DEC_TEXT_POS and INC_TEXT_POS.
11850
11851 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
11852 with parameter MULTIBYTE_P.
11853
52283633 11854 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 11855
7439e5b9 11856 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
11857 buffers because it looks for multibyte character byte sequences
11858 which don't exist in unibyte text.
7439e5b9 11859
d9c545da
GM
11860 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11861
11fd416e 11862 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11863 [DEBUG_X_COLORS]: New functions.
11864 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11865
11866 * xfns.c (x_set_cursor_color): Get color reference counts right.
11867
11868 * xterm.c (x_copy_color): New function.
11869 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11870
11871 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11872 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11873 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11874 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11875 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11876 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11877 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11878 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11879 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11880 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11881
11fd416e
GM
11882 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11883 names for handling per-buffer variables.
d9c545da
GM
11884
11885 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11886 instead of MAX_BUFFER_LOCAL_VARS.
11887 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11888
11889 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11890
88faab89
GM
11891 * xfns.c (x_specified_cursor_type): New function.
11892 (x_set_cursor_type): Use it.
11893
11894 * buffer.h (struct buffer): Add cursor_type.
11895
d80f42b7
SM
118962000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11897
11898 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11899 (print_partial_compiled_pattern, re_compile_fastmap):
11900 Handle new opcode.
d80f42b7
SM
11901 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11902 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11903 executing it as well as when popping it off the stack to find infinite
11904 loops in non-greedy repetition operators.
11905
89e80928
GM
119062000-03-26 Gerd Moellmann <gerd@gnu.org>
11907
3d4ff2dd
GM
11908 * doc.c (Qfunction_documentation): New variable.
11909 (syms_of_doc): Initialize Qfunction_documentation.
11910 (Fdocumentation): If FUNCTION is a symbol with non-nil
11911 `function-documentation' property, return a documentation derived
11912 from that.
11913
bd96bd79
GM
11914 * buffer.c (syms_of_buffer): Add default-cursor-type.
11915 (init_buffer_once): Don't let cursor_type have a local value
11916 in every buffer.
11917
19d1bc27
GM
11918 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11919 on buffer-local value of cursor_type.
11920 (x_draw_bar_cursor): Add parameter WIDTH.
11921
11922 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11923 (init_buffer_once): Set default cursor_type value to t.
11924 Mark cursor_type as local everywhere.
11925 (syms_of_buffer): New per-buffer variable cursor-type.
11926
89e80928
GM
11927 * buffer.h (struct buffer): Remove member local_var_flags,
11928 add local_flags.
11929 (MAX_BUFFER_LOCAL_VARS): New macro.
11930 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11931 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11932 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11933 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11934
52283633 11935 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11936
11937 * category.c (Fset_category_table): Use new macros for per-buffer
11938 variables.
11939
11940 * buffer.c (buffer_permanent_local_flags): Make a char array.
11941 (max_buffer_local_idx): New variable.
11942 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11943 for new handling of per-buffer variables.
11944 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11945 (init_buffer_once): Initialize per-buffer vars differently.
11946 Set max_buffer_local_idx.
11947
11948 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11949 variables.
11950
52283633 11951 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
11952
11953 * data.c (do_symval_forwarding, store_symval_forwarding)
11954 (find_symbol_value, set_internal, default_value, Fset_default)
11955 (Fkill_local_variable, Flocal_variable_p): Use new macros for
11956 per-buffer variables.
11957
11958 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
11959
9a0dd3dc
GM
119602000-03-24 Gerd Moellmann <gerd@gnu.org>
11961
b68c375f
GM
11962 * xterm.c (x_term_init): Unblock input around call1 of
11963 Qvendor_specific_keysyms.
11964
9a0dd3dc
GM
11965 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
11966 (find_defun_start): Consider an open parenthesis in column 0
11967 a defun start only if open_paren_in_column_0_is_defun_start is set.
11968 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
11969
7973e637
SM
119702000-03-24 Stefan Monnier <monnier@cs.yale.edu>
11971
11972 * eval.c (Fautoload): Add entry in load-history (if after dump).
11973 * lread.c (load-history): Update docstring.
11974
39210e90
GM
119752000-03-24 Gerd Moellmann <gerd@gnu.org>
11976
11977 * indent.c (Fvertical_motion): Always use the current buffer.
11978 Temporarily change the window's buffer, if necessary.
11979
72db3ab5
GM
119802000-03-23 Gerd Moellmann <gerd@gnu.org>
11981
11982 * xterm.c (fast_find_position): Make sure not to consider rows
11983 not visible in the window.
11984
990b2375
SM
119852000-03-22 Stefan Monnier <monnier@cs.yale.edu>
11986
11987 * regex.c (enum syntaxcode): Provide default for non-Emacs.
11988 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
11989
ff4df011
JR
119902000-03-22 Jason Rumney <jasonr@gnu.org>
11991
11992 * w32menu.c (single_submenu): Set help string to NULL if none.
11993 (w32_menu_show): Set help string correctly.
11994 (add-menu-item): Set help string in MIIM_DATA for menu item.
11995 Load SetMenuItemInfoA explicitly.
11996 (w32_menu_display_help): New function.
427ec082 11997
ff4df011
JR
11998 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
11999 (QCdata): Moved to xdisp.c.
12000
12001 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12002 (Vw32_charset_to_codepage_alist): Removed.
12003 (Vw32_charset_info_alist): New variable.
52283633
SM
12004 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12005 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12006 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12007 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12008 with TODO comment.
12009 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12010 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12011 Define Vw32_charset_info_alist and w32_charset symbols.
12012
120132000-03-22 Jason Rumney <jasonr@gnu.org>
12014
12015 * makefile.nt (w32bdf.obj): Update dependencies.
12016
12017 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12018
12019 * w32fns.c: Include fontset.h after dispextern.h.
12020 (Fx_create_frame): Do not create fontset.
12021 (w32_load_system_font): Doc fix.
12022 (Fx_close_connection): Free full_name if it is not shared.
12023
12024 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12025 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12026 Callers updated.
ff4df011
JR
12027 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12028 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12029 (w32_font_is_double_byte): New function, needs body.
12030 (x_append_glyph): Set glyph->glyph_not_available_p.
12031 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12032 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12033 character, convert it to a unibyte character.
12034 (struct glyph_string): Delete member `charset'.
12035 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12036 calculating it is found.
12037 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12038 the case that per char metric is not available correctly.
12039 (x_fill_glyph_string): Handle the case that the specific glyph is
12040 not available correctly.
12041 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12042 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12043 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12044 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12045 fontset. Don't call FS_LOAD_FONT.
12046
439d5cb4
KR
120472000-03-22 Ken Raeburn <raeburn@gnu.org>
12048
12049 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12050 (INT_LISPLIKE): New macro.
12051 (NULL_INTERVAL_P): Use it.
52283633
SM
12052 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12053 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12054 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12055
12056 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12057 explicit references to "parent" field of struct interval and
12058 associated unclean type conversions.
52283633
SM
12059 * intervals.c (create_root_interval, root_interval, rotate_right)
12060 (rotate_left, balance_possible_root_interval, split_interval_right)
12061 (split_interval_left, interval_start_pos, find_interval)
12062 (next_interval, previous_interval, update_interval)
12063 (adjust_intervals_for_insertion, delete_node, delete_interval)
12064 (adjust_intervals_for_deletion, merge_interval_right)
12065 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12066 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12067 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12068 Likewise.
12069 * syntax.c (update_syntax_table): Likewise.
12070
12071 * intervals.c (reproduce_tree_obj): New function, like
12072 reproduce_tree but takes a Lisp_Object for the parent. Declare
12073 with prototype.
12074 (graft_intervals_into_buffer): Use it when appropriate.
12075 (reproduce_tree): Declare with prototype.
12076 (balance_possible_root_interval): Check that the parent is a lisp
12077 object before trying to examine its type.
12078
ee1c5b21
GM
120792000-03-22 Gerd Moellmann <gerd@gnu.org>
12080
12081 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12082 as strings only if both are known to be strings.
12083
12084 * s/openbsd.h (LIBS_TERMCAP): Undef.
12085
1fb352e0
SM
120862000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12087
12088 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12089 definitions for non-Emacs compilation.
12090 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12091 outside of `#ifdef emacs'.
12092 (print_partial_compiled_pattern): Update.
12093 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12094 (re_compile_fastmap): Merge handling of charset and charset_not (for
12095 emacs and non-emacs compilation as well).
12096 Similarly for (not)categoryspec and (not)syntaxspec.
12097 Don't use the fastmap when reaching `anychar' since the added
12098 complexity is not justified.
12099 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12100 and (not)syntaxspec. Merge (not)categoryspec.
12101
fdaa1f77
KH
121022000-03-22 Kenichi Handa <handa@etl.go.jp>
12103
52283633
SM
12104 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12105 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12106 --without-x.
fdaa1f77 12107
d152fb46
DL
121082000-03-21 Dave Love <fx@gnu.org>
12109
12110 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12111 doc string.
12112
d2cafc8c
GM
121132000-03-21 Gerd Moellmann <gerd@gnu.org>
12114
12115 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12116 (lface_fully_specified_p): Don't check contents of
12117 LFACE_FONT_INDEX because that attribute is optional.
12118 (realize_x_face): Remove now unwarranted xassert.
12119
9111d4b5
KH
121202000-03-21 Kenichi HANDA <handa@etl.go.jp>
12121
12122 The following changes are to make font selection based on
12123 characters, not charset. In addition, they recover fontset
12124 facilities while utilizing the new font selection mechanism.
12125
6c4bfdc0
KH
12126 * Makefile.in (fontset.o): Depend on dispextern.h.
12127
12128 * alloc.c (mark_face_cache): Don't mark face->registry.
12129
9111d4b5
KH
12130 * dispextern.h (struct glyph): New member glyph_not_available_p.
12131 Use 22 bits for face_id.
12132 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12133 (struct face): Delete member registry, new member ascii_face.
12134 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12135 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12136 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12137 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12138
12139 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12140 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12141 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12142 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12143 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12144 (fs_free_face_fontset, fontset_font_pattern)
12145 (face_suitable_for_char_p, face_for_char)
12146 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12147 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12148 (FS_LOAD_FACE_FONT): New macro.
12149
12150 * fontset.c: All codes rewritten or adjusted for the change of
12151 fontset implementation. Now fontset is represented by char table.
52283633
SM
12152 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12153 Variables removed.
9111d4b5 12154 (my_strcasecmp): Function removed.
52283633 12155 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12156 (AREF, ASIZE): New macros.
52283633
SM
12157 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12158 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12159 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12160 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12161 (fontset_id_valid_p, font_family_registry, fontset_name)
12162 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12163 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12164 New functions.
12165 (fs_load_font): New arg FACE. Caller changed.
12166 (fs_query_fontset): Argument changed. Caller changed.
12167 (Fquery_fontset): call fs_query_fontset.
12168 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12169 Functions removed.
52283633
SM
12170 (clear_fontset_elements, check_registry_encoding)
12171 (check_fontset_name): New functions.
9111d4b5
KH
12172 (syms_of_fontset): Set char-table-extra-slots property of fontset
12173 to 3. Staticpro and initialize Vfontset_table and
12174 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12175
12176 * frame.h (struct frame): Member `fontset_data' removed.
12177 (FRAME_FONTSET_DATA): Macro removed.
12178
12179 * frame.c (make_frame): Don't allocate f->fontset_data.
12180 (Fdelete_frame): Don't free f->fontset_data.
12181
6c4bfdc0
KH
12182 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12183
9111d4b5
KH
12184 * xdisp.c (charset_at_position): Function removed.
12185 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12186 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12187 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12188 Likewise.
12189 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12190 FACE_FOR_CHARSET.
52283633
SM
12191 (get_next_display_element, append_space)
12192 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12193
12194 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12195 Variables removed.
12196 (clear_font_table, frame_update_line_height, load_face_font):
12197 Adjusted for the change of fontset implementation.
12198 (load_face_fontset_font): Function removed.
12199 (pixel_point_size): New function.
12200 (font_list): Argument type changed. Caller changed.
12201 (LFACE_FONT): New macro.
12202 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12203 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12204 Lisp_Object. Determine the font name by actually loading a font
12205 by the specified pattern. Set LFACE_FONT (lface) to the specified
12206 pattern. Even if a font is not found, don't try alternatives.
12207 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12208 (set_font_frame_param): If `font' is specified in lface, use it.
12209 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12210 (lface_same_font_attributes_p): Likewise.
12211 (make_realized_face): Arguent changed. Caller changed. Set
12212 face->ascii_face to face itself.
12213 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12214 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12215 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12216 (free_realized_multibyte_face): New function.
12217 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12218 changed. Caller changed.
12219 (try_font_list): Argument type changed.
12220 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12221 (choose_face_font): Argument changed. Handle fontset properly.
12222 (choose_face_fontset_font): Function removed.
12223 (realize_default_face, realize_named_face): Don't remove the
12224 former face here.
12225 (realize_face): Argument changed. Caller changed. Remove face
52283633 12226 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12227 (realize_x_face): Argument changed. Caller changed. For a
12228 multibyte character, share fontset with base_face. For a single
52283633 12229 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12230 (realize_tty_face): Argument changed. Caller changed.
12231 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12232 (face_at_buffer_position): Don't check multibyte_p for returning
12233 DEFAULT_FACE_ID.
12234 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12235 FACE_SUITABLE_FOR_CHARSET_P.
12236 (syms_of_xfaces): Remove code for Qx_charset_registry and
12237 Vface_default_registry.
12238
6c4bfdc0
KH
12239 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12240 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12241 (x_per_char_metric): Don't try FONT->default_char. Even if
12242 pcm->width is zero, glyph bits may exist.
12243 (x_encode_char): Always initialize char2b->byte1.
12244 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12245 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12246 (x_append_glyph): Set glyph->glyph_not_available_p.
12247 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12248 it->charset. Handle the case that per char metric is not
12249 available. If it->multibyte_p is zero and it->c is a multibyte
12250 character, convert it to a unibyte character.
12251 (struct glyph_string): Delete member `charset'.
12252 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12253 the case that per char metric is not available correctly.
12254 (x_fill_glyph_string): Handle the case that the specific glyph is
12255 not available correctly.
12256 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12257 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12258 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12259 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12260 fontset. Don't call FS_LOAD_FONT.
12261
12262 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12263 (x_create_tip_frame): Likewise.
12264 (Fx_close_connection): Free full_name of font_info.
12265
12266 * fns.c (optimize_sub_char_table): New function.
12267 (Foptimize_char_table): New function.
12268 (syms_of_fns): Defsubr Soptimize_char_table.
12269
b33dd3b0
GM
122702000-03-20 Gerd Moellmann <gerd@gnu.org>
12271
12272 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12273 only if buffer is displayed in some window.
12274
12275 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12276 (try_window_reusing_current_matrix): Don't call scroll run
12277 function if run's current and desired position are the same;
12278 this prevents cursor flickering.
12279
4e8a9132
SM
122802000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12281
12282 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12283
12284 * regex.c (RE_STRING_CHAR): New macro.
12285 (GET_CHAR_AFER_2): Remove.
12286 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12287 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12288 (print_partial_compiled_pattern, re_compile_fastmap)
12289 (re_match_2_internal): Remove on_failure_jump_exclusive.
12290 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12291 optimization only need to work for * (ie. can use of_keep_string_jump).
12292 Remove the special case for .*\n since it is now covered by the general
12293 optimization.
12294 (re_search_2): Don't bother with `room'.
12295 (skip_one_char): New function.
12296 (skip_noops): Simplify since `memory' is not needed any more.
12297 (mutually_exclusive_p): Restructure slightly to use `switch' and
12298 add handling for "all" remaining cases.
12299 (re_match_2_internal): Change on_failure_jump_smart to use
12300 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12301 rather than on_failure_jump_exclusive.
12302
2136fdd4
GM
123032000-03-19 Gerd Moellmann <gerd@gnu.org>
12304
12305 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12306 number of bits per RGB because it's everywhere used as the depth
12307 of the visual.
12308
12309 * term.c (calculate_costs): Remove code dealing with X frames.
12310
18e21ce8 123112000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12312
12313 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12314
d7b511c4
GM
123152000-03-18 Gerd Moellmann <gerd@gnu.org>
12316
12317 * lread.c (read_integer): Unread the last char not consumed.
12318
16b5d424
GM
123192000-03-17 Gerd Moellmann <gerd@gnu.org>
12320
12321 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12322 which are in the process of being deleted.
16b5d424 12323
1fa28578
GM
123242000-03-16 Gerd Moellmann <gerd@gnu.org>
12325
83488cce
GM
12326 * Makefile.in (mostlyclean): Add `*.core'.
12327 (clean): Add `bootstrap-emacs'.
12328
1fa28578
GM
12329 * lread.c (read_integer): New function.
12330 (read1): Support read syntax #o, #x, #b, #r.
12331
99633e97
SM
123322000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12333
1fa28578
GM
12334 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12335 make sure POINTER_TO_OFFSET gives the same value before and after
12336 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12337 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12338 (debug): Now only active if > 0 rather than if != 0.
12339 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12340 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12341 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12342 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12343 (store_op1, store_op2, insert_op1, insert_op2)
12344 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12345 (group_in_compile_stack): Move to after its arg's types are
12346 declared and add a prototype.
99633e97 12347 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12348 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12349 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12350 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12351 indentation of the greedy-op and shy-group code.
99633e97
SM
12352 (at_(beg|end)line_loc_p): Fix argument's types.
12353 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12354 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12355 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12356 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12357 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12358 QUIT unconditionally.
99633e97 12359
699238d9
GM
123602000-03-15 Gerd Moellmann <gerd@gnu.org>
12361
12362 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12363 a sole completion.
12364
12365 * process.c (send_process): Add a hint that the function
12366 can call Lisp code to its comment.
12367
12368 * lread.c (load_dangerous_libraries): New variable.
12369 (Vbytecomp_version_regexp): New variable.
12370 (safe_to_load_p): New function.
12371 (Fload): Handle files not compiled with Emacs specially.
12372 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12373
34e23e5a
GM
123742000-03-14 Gerd Moellmann <gerd@gnu.org>
12375
9c763cca
GM
12376 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12377
12378 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12379 support functions only if HAVE_X11R6_XIM is defined.
12380 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12381
12382 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12383
12384 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12385 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12386 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12387
12388 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12389 (HAVE_X11R6_XIM): Define.
12390
12391 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12392
34e23e5a
GM
12393 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12394 If set, call XSynchronize.
12395
66f0296e
SM
123962000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12397
34e23e5a
GM
12398 * regex.c: Declare a new type `re_char' used throughout the code
12399 for the string char type. It's `const unsigned char' to match the
12400 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12401 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12402 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12403 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12404 code duplication.
66f0296e
SM
12405
12406 * charset.h (GET_CHAR_AFTER_2): Remove.
12407 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12408
854a025c
KR
124092000-03-12 Ken Raeburn <raeburn@gnu.org>
12410
12411 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12412 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12413 of them try to use backquotes.
12414
b9d2c7e2
DL
124152000-03-12 Dave Love <fx@gnu.org>
12416
12417 * unexelf.c: Restore changes of 1999-10-19.
12418 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12419 fix its type and alignment; copy it from current process.
12420
5e5dff44
GM
124212000-03-12 Gerd Moellmann <gerd@gnu.org>
12422
9b2f3c38
GM
12423 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12424 has been found. Fix bug not computing timer's predecessor.
12425
427ec082 12426 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12427 file name.
12428
e1cff360
GM
12429 * window.c (Fsave_window_excursion): Doc fix.
12430
52283633 12431 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12432
e411ce4b
EZ
124332000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12434
12435 * msdos.c (vga_installed): New function, code moved from
12436 dos_set_window_size.
12437 (Qbar, Qcursor_type, outside_cursor): New variables.
12438 (syms_of_msdos): Intern and staticpro them.
12439 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12440 shape used outside Emacs when called for the first time.
12441 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12442 cursor shape used outside Emacs.
12443 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12444 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12445 type has changed.
12446 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12447 parameters specify the cursor. Make qreverse a global
12448 variable (renamed to Qreverse).
12449
80460654
GM
124502000-03-09 Gerd Moellmann <gerd@gnu.org>
12451
12452 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12453
95cd4c40
SM
124542000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12455
12456 This is a big redesign of failure-stack and register handling, prompted
12457 by bugs revealed when trying to add shy-groups. Overall, what happened
12458 is that loops are now structured a little differently, groups can be
12459 shy and the code is a little simpler.
12460
12461 * regex.h: Update the copyright.
12462 (RE_SHY_GROUPS): New value.
12463 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12464 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12465
80460654
GM
12466 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12467 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12468 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12469 for (start|stop)_memory since they now only take one argument (the
12470 second has becomes unnecessary).
52283633 12471 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12472 (print_compiled_pattern): Use %ld to printf long ints and flush to
12473 make debugging a little easier.
95cd4c40
SM
12474 (union fail_stack_elt): Make the integer unsigned.
12475 (struct fail_stack_type): Add a `frame' element.
12476 (INIT_FAIL_STACK): Init `frame' as well.
12477 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12478 (DEBUG_PUSH, DEBUG_POP): Remove.
12479 (NUM_REG_ITEMS): Remove.
12480 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12481 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12482 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12483 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12484 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12485 New macros.
80460654
GM
12486 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12487 address pushed is not the destination of the jump but the source
12488 of it instead.
95cd4c40
SM
12489 (NUM_FAILURE_ITEMS): Remove.
12490 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12491 registers before the actual failure point). Don't hardcode any
12492 meaning for str==NULL anymore.
95cd4c40 12493 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12494 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12495 Remove.
95cd4c40
SM
12496 (REG_UNSET_VALUE): Use NULL (why not?).
12497 (compile_range): Remove declaration since it doesn't exist.
12498 (struct compile_stack_elt_t): Remove inner_group_offset.
12499 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12500 (regex_grow_registers): Remove dead code.
12501 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12502 (regex_compile): Add shy-groups Change loops to use
12503 on_failure_jump_smart&jump instead of
12504 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12505 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12506 variable to me). Use `jump' instead of `jump_past_alt' and don't
12507 bother with push_dummy_failure in alternatives since it is now
12508 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12509 emacs' for (re)allocating the stack.
12510 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12511 from loop when bufp->can_be_null rather than jumping to `done'.
12512 Avoid jumping backwards so as to ensure termination. Use
12513 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12514 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12515 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12516 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12517 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12518 (lowest_active_reg, highest_active_reg)
12519 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12520 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12521 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12522 variables. Push register (in `start_memory') on the stack rather
12523 than storing it in old_reg(start|end). Remove the cycle detection
12524 from `stop_memory', replaced by the use of on_failure_jump_loop
12525 for greedy loops. Add code for the new on_failure_jump_<foo>.
12526 Remove ad-hoc code in `on_failure_jump' to push more registers in
12527 the case of a loop. Take out code from `maybe_pop_jump' into
12528 separate functions and adapt it to the semantics of
12529 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12530 and push_dummy_failure. Remove dummy_failure handling and
12531 handling of `failures to jump to on_failure_jump' (this last one
12532 was already dead code, it seems).
12533 (group_match_null_string_p, alt_match_null_string_p)
12534 (common_op_match_null_string_p): Remove.
95cd4c40 12535
7397acc4
DL
125362000-03-08 Dave Love <fx@gnu.org>
12537
12538 * config.in: Don't depend on __STDC__ for volatile.
12539 Add POINTER_TYPE, PTR, PROTOTYPES.
12540
12541 * hftctl.c, strftime.c: Use PROTOTYPES.
12542 * eval.c (find_handler_clause): Likewise.
12543
12544 * mem-limits.h: Use POINTER_TYPE.
12545
12546 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12547 (memory_warnings): Declare using POINTER_TYPE.
12548
5e91ff9e
GM
125492000-03-08 Gerd Moellmann <gerd@gnu.org>
12550
feab4fba
GM
12551 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12552
52283633 12553 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12554
5e91ff9e
GM
12555 * xfns.c: Remove obsolete code in #if 0.
12556 (Fx_focus_frame): New function.
12557
a735b7e1
KH
125582000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12559
12560 * coding.c (coding_category_name): Add coding-category-utf-8,
12561 coding-category-utf-16-be, coding-category-utf-16-le.
12562 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12563 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12564 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12565 (detect_coding_utf_8): New function.
12566 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12567 UTF_16_LOW_SURROGATE_P): New macros.
12568 (detect_coding_utf_16): New function
12569 (detect_coding_mask): When priorities are specified, skip any
12570 categories that have `nil' coding-system. Fix bug of returning
12571 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12572 returns a mask not set in PRIORITIES.
12573 (detect_eol_type_in_2_octet_form): New function.
12574 (detect_eol): selects detect_eol_type_XXX to call according to
12575 cooding->category_idx.
12576 (detect_coding_system): Remove `nil' coding-system in the result.
12577 (Fupdate_coding_systems_internal): Update all coding-categories.
12578
52283633
SM
12579 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12580 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12581 New macros.
12582 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12583 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12584 (CODING_CATEGORY_IDX_UTF_16_LE)
12585 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12586 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12587 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12588 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12589
9994cc69
GM
125902000-03-07 Gerd Moellmann <gerd@gnu.org>
12591
e9b4e5ff
GM
12592 * doc.c (Fdocumentation_property): If value is not a string,
12593 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12594
f7daf1e1
GM
12595 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12596 close the display with XtCloseDisplay. This caused a bus error
12597 on OpenWindows.
12598
9994cc69
GM
12599 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12600 complete but not unique.
12601
4336c705
GM
126022000-03-06 Gerd Moellmann <gerd@gnu.org>
12603
18bb0684
GM
12604 * process.c (send_process): Remove local variable `procname' that
12605 might become invalid when a GC happens. Instead, access the
12606 process name slot directly.
12607
4336c705
GM
12608 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12609 orig_height if set.
12610
12611 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12612 orig_height if set.
12613
515d0d0e
EZ
126142000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12615
12616 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12617 glyph matrices have been freed.
12618
100b3cbb
GM
126192000-03-05 Gerd Moellmann <gerd@gnu.org>
12620
50df5e5a 12621 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 12622 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
12623
12624 * xfns.c (QCdata): Moved to xdisp.c.
12625
12626 * xdisp.c (QCdata): Moved here from xfns.c.
12627 (syms_of_xdisp): Initialize QCdata.
12628
12629 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12630
12631 * window.c (coordinates_in_window): Use
12632 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12633 FRAME_INTERNAL_BORDER_WIDTH.
12634
100b3cbb 12635 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 12636 it is obviously invalid.
100b3cbb
GM
12637
12638 * xterm.c (x_term_init): Create a colormap if not using the
12639 default visual.
12640
12641 * xterm.h (select_visual): Change prototype.
12642
12643 * xfns.c (select_visual): Rewritten. Recognize user-specified
12644 visual classes.
12645 (visual_classes): New variable.
12646
64d739c4
GM
126472000-03-04 Gerd Moellmann <gerd@gnu.org>
12648
12649 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
12650 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
12651 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 12652 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
12653 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
12654 XtNcolormap resources.
12655 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
12656 (Fx_create_frame): Initialize color members of x_output structure.
12657 (xpm_load): Pass colormap to XPM lib.
12658
12659 * xfaces.c (x_free_colors): Access colormap of frame using
12660 FRAME_X_COLORMAP. Be paranoid about freeing black and white
12661 when default colormap is used.
12662
12663 * xterm.c (x_term_init): Set Colormap member of x_display_info
12664 structure. Copy colormap if resource `privateColormap' is
12665 specified (PseudoColor only).
12666 (x_setup_relief_color): Access colormap of frame using
12667 FRAME_X_COLORMAP.
12668
12669 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
12670 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
12671
c3cee013
JR
126722000-03-04 Jason Rumney <jasonr@gnu.org>
12673
12674 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
12675 other non-platform-specific equivalents.
64d739c4 12676 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
12677 specific functions and macros as their w32 equivalents where
12678 non-platform-specifics are not available.
12679 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
12680 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
12681 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12682 (frame_update_line_height): Use macros to access f->output_data.
12683 (defined_color): Remove FIXME comments; fixed.
12684 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12685 into #ifdef blocks. Add WINDOWSNT blocks.
12686 (Fx_list_fonts): Use macros for accessing font data.
12687 (set_lface_from_font_name): Different default fonts for X and
12688 WINDOWSNT.
12689 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12690 scalable for backward compatibility.
64d739c4 12691 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12692 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12693
64d739c4 12694 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12695 syms_of_w32faces.
12696
12697 * makefile.nt (w32faces.obj): Remove.
12698 (xfaces.obj): Add.
12699
807cc41c
JR
127002000-03-03 Jason Rumney <jasonr@gnu.org>
12701
12702 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12703 correct parameters.
12704
0007072a
KR
127052000-03-03 Ken Raeburn <raeburn@gnu.org>
12706
12707 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12708 standard ELF definitions here if the system header does not.
12709
71a6ba55
GM
127102000-03-03 Gerd Moellmann <gerd@gnu.org>
12711
12712 * xterm.c (PER_CHAR_METRIC): Removed.
12713 (x_per_char_metric_1, x_default_char): New functions.
12714 (x_per_char_metric): If font's default char is invalid, return
12715 metrics of a suitably chosen usable default char.
12716 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
12717 char, replace occurrences of unprintable chars with a suitably
12718 chosen usable default char.
71a6ba55 12719
900fa1f1
GM
127202000-03-02 Gerd Moellmann <gerd@gnu.org>
12721
42f55fe0
GM
12722 * xterm.c (note_mouse_highlight): Return quickly if frame's
12723 glyph matrices have been freed.
12724
12725 * dispnew.c (free_glyphs): Block input while freeing matrices.
12726
900fa1f1
GM
12727 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12728
52283633
SM
12729 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12730 Use x_free_colors.
900fa1f1
GM
12731
12732 * dispextern.h (x_free_colors): Add prototype.
12733
12734 * xfaces.c (x_free_colors): New function.
12735 (unload_color, free_face_colors): Use it.
12736
2f950292
EZ
127372000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12738
12739 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12740
12741 * window.c [MSDOS]: Include msdos.h.
12742
54d04320
DL
127432000-03-02 Dave Love <fx@gnu.org>
12744
12745 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12746
12747 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12748 set C_OPTIMIZE_SWITCH for gcc.
12749
0ba93ac4
KH
127502000-03-02 Kenichi Handa <handa@etl.go.jp>
12751
12752 * coding.c (coding_save_composition): Be sure to allocate
12753 composition data area in coding even if there's no composition in
12754 the current run.
12755
a2bc11d4
JR
127562000-03-01 Jason Rumney <jasonr@gnu.org>
12757
12758 * w32term.c: Equivalent changes to those made to xterm.c on
12759 2000-02-25 and 2000-02-24.
12760
12761 * w32fns.c: Equivalent changes to those made to xfns.c on
12762 2000-02-25 and 2000-02-21.
12763
12764 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12765 correct line-end convention is followed.
12766
12767 * w32menu.c [HAVE_BOXES]: Remove #undef.
12768 (single_keymap_panes): Remove code for simulating checkmarks.
12769 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12770 Remove code for drawing simulated checkmarks.
12771 (w32_menu_show): make unibyte help string correctly.
12772 (add_menu_item): draw standard Windows checkmarks. Draw radio
12773 buttons as radio buttons if possible.
12774
72d19d75
GM
127752000-03-01 Gerd Moellmann <gerd@gnu.org>
12776
2df636f4
GM
12777 * sysdep.c (start_of_text): Don't define this function for NetBSD
12778 with ELF.
12779
427ec082 12780 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
12781 Don't define.
12782 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12783 (LINKER): Don't undef if __NetBSD__ is defined.
12784
12785 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12786
12787 * fileio.c [__NetBSD__]: Define `unix'.
12788
72d19d75
GM
12789 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12790
ed4d0512
GM
127912000-02-29 Gerd Moellmann <gerd@gnu.org>
12792
50b1039f
GM
12793 * atimer.c (start_atimer): Don't abort when timers are stopped.
12794 (append_atimer_lists): New function.
12795 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12796 arbitrary lists of stopped and running atimers.
12797
ed4d0512
GM
12798 * atimer.c (cancel_atimer): Handle canceling an atimer when
12799 some timers are stopped.
12800
12801 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12802 after canceling it.
12803
12804 * fns.c (maybe_resize_hash_table): Handle case of new size
12805 coming out as being the same as old size.
12806
387023ee
JR
128072000-02-27 Jason Rumney <jasonr@gnu.org>
12808
12809 * makefile.nt: Add atimer.h to dependencies.
12810 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12811 * w32console.c: Only disable window system features for dispextern.h
12812 (initialize_w32_display): Build a display info for the console.
12813 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12814 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12815 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
12816 as 2 button mice.
12817 * w32gui.h (struct W32FontStruct): Revert last change after change
12818 to xdisp.c.
12819 * w32menu.c (single_submenu): Set up help string.
12820 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
12821 (w32_dialog_show): Set up help string.
12822 * w32term.c (w32_display_info_for_display): Remove unused function.
12823 (w32_draw_bitmap): Use pre-built bitmaps.
12824 (w32_initialize_display_info): New function to initialize parts of
12825 display info that are common to both GUI and console frames.
12826 (w32_term_init): Use w32_initialize_display_info. Do not set
12827 Vw32_num_mouse_buttons here, as it is not called for console
12828 frames. Build bitmaps for indicating truncated lines etc.
12829 (x_delete_display): Destroy pre-built bitmaps.
12830 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
12831 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
12832
4516715a
DL
128332000-02-27 Dave Love <fx@gnu.org>
12834
12835 * lisp.h: Add a bunch of prototypes.
12836
171ca836
KH
128372000-02-26 Kenichi Handa <handa@etl.go.jp>
12838
12839 * keyboard.c (read_char): Set `usec' correctly.
12840
4013921d
KH
128412000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12842
12843 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
12844 `lambda', set reg[RRR] to the map index.
12845 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
12846 reg[RRR] to 0. Otherwise, set it to -1.
12847
9244a058
GM
128482000-02-25 Gerd Moellmann <gerd@gnu.org>
12849
2df636f4 12850 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 12851
18e21ce8 128522000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 12853
f43d79c1
GM
12854 * fileio.c (Ffile_symlink_p): If result starts with a `/'
12855 and contains a `:', prepend `/:'.
12856
12857 * window.c (select_window_1): If selected_window is nil,
12858 don't "swap out" the buffer's point.
12859 (Fset_window_configuration): Set selected_window to nil
12860 before calling Fselect_window.
12861 (unshow_buffer): Don't set point in buffer from window's point
12862 if another more recently selected window also shows the buffer.
12863
bed0c171
GM
128642000-02-25 Gerd Moellmann <gerd@gnu.org>
12865
449c3c52
GM
12866 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12867
f5b58615
GM
12868 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12869 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12870 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12871 New variables.
f5b58615
GM
12872 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12873 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12874 (hide_busy_cursor): New functions.
12875 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12876
12877 * minibuf.c (read_minibuf): Cancel busy-cursor.
12878
12879 * keyboard.c (command_loop_1): Call start_busy_cursor before
12880 Fcommand_execute and cancel_busy_cursor after it.
12881 (timer_check): Remove busy-cursor code.
12882 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12883 cursor timer.
12884
12885 * process.c (wait_reading_process_input): Remove busy-cursor code.
12886
12887 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12888 Fx_hide_busy_cursor.
12889
12890 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12891 Remove prototyoes.
12892 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12893
12894 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12895
12896 * xterm.c (XTread_socket): Remove busy-cursor code.
12897
4eb8436f
GM
12898 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12899 (build_frame_matrix_from_leaf_window): Put code handling
12900 glyph row's not being a slice of a frame row in #if 0.
12901 (sync_window_with_frame_matrix_rows): New function.
12902 (frame_row_to_window): New function.
12903 (mirror_line_dance): Handle copies between windows.
12904
3cb65b0e
GM
12905 * lread.c (Fload): Use `xfree' instead of `free'.
12906 (init_obarray): Use `xmalloc' instead of `malloc'.
12907
bed0c171
GM
12908 * window.c (Fset_window_buffer): Set WINDOW to the window
12909 after decoding.
2add4349
GM
12910 (coordinates_in_window): Take frame's internal border width
12911 into account.
bed0c171 12912
42088c12
GM
129132000-02-24 Gerd Moellmann <gerd@gnu.org>
12914
12915 * xterm.c (x_display_and_set_cursor): Display cursor of
12916 non-selected windows depending on the setting of
12917 cursor_in_non_selected_windows.
12918
12919 * xdisp.c (cursor_in_non_selected_windows): New variable.
12920 (syms_of_xdisp): DEFVAR_BOOL it.
12921
d1e103b2
GM
129222000-02-23 Gerd Moellmann <gerd@gnu.org>
12923
723e779c
GM
12924 * data.c (Fstring_to_number): If number is greater than what
12925 fits into an integer, return a float.
12926
d1e103b2
GM
12927 * eval.c (specbind): Remove references to
12928 keyword_symbols_constant_flag.
12929
12930 * data.c (keyword_symbols_constant_flag): Removed.
12931 (Fmakunbound, set_internal, syms_of_data): Remove references to
12932 keyword_symbols_constant_flag.
12933
12934 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12935
214f877f
KH
129362000-02-23 Kenichi Handa <handa@etl.go.jp>
12937
12938 * syntax.c (multibyte_syntax_as_symbol): New variable.
12939 (syms_of_syntax): Declare it as a Lisp variable.
12940 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12941 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12942 nonzero, treat all multibyte characters as symbol.
52283633 12943 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12944
130adcb7
EZ
129452000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12946
3cb65b0e 12947 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12948 a deleted frame.
130adcb7 12949
17cbbf95
GM
129502000-02-21 Gerd Moellmann <gerd@gnu.org>
12951
12952 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
12953
12954 * xfns.c (x_window_to_frame, x_any_window_to_frame)
12955 (x_non_menubar_window_to_frame): Check the busy-cursor window.
12956
beb0bc36
DL
129572000-02-21 Dave Love <fx@gnu.org>
12958
12959 * frame.c (Vmouse_position_function): New variable.
12960 (Fmouse_position): Use it.
12961 (syms_of_frame): Install it.
12962
12963 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
12964
1d92afcd
GM
129652000-02-20 Gerd Moellmann <gerd@gnu.org>
12966
12967 * fileio.c (Finsert_file_contents): Unbind the binding of
12968 standard-output done by temp_output_buffer_setup.
329eed9f
GM
12969
12970 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
12971 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
12972 (specbind, unbind_to): Handle most common case of non-constant
12973 symbol with trivial value specially.
12974
12975 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
12976
18e21ce8 129772000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
12978
12979 * data.c (Fmake_variable_buffer_local): Doc fix.
12980 Init found_for_buffer to 0.
12981 (Fmake_variable_frame_local): If the variable has already
12982 been buffer-local, set the check_frame field.
12983
1d4311c3
EZ
129842000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
12985
12986 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
12987 produced for CODING_MODE_LAST_BLOCK requires.
12988
2dc95ddd
DL
129892000-02-18 Dave Love <fx@gnu.org>
12990
12991 * keyboard.c (echo_keystrokes): Remove declaration.
12992 (Vecho_keystrokes) New variable.
12993 (read_char, record_menu_key, read_key_sequence): Use it to allow
12994 use of float value.
12995 (syms_of_keyboard): Change Vecho_keystrokes declaration.
12996
12997 * lread.c: Undef feature selection macros before defining.
12998
f0930f35
GM
129992000-02-18 Gerd Moellmann <gerd@gnu.org>
13000
13001 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13002 for symbols other than the symbol in question.
13003
e3d4de90
DL
130042000-02-17 Dave Love <fx@gnu.org>
13005
13006 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13007
0b378936
GM
130082000-02-17 Gerd Moellmann <gerd@gnu.org>
13009
d621caf7
GM
13010 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13011
0b378936
GM
13012 * alloc.c (enum mem_type): Compile unconditionally.
13013
3b451f74
EZ
130142000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13015
13016 * xfaces.c (tty_defined_color): Don't return faulire indication
13017 for unspecified-fg and unspecified-bg pseudo-colors.
13018
10689a01
GM
130192000-02-17 Gerd Moellmann <gerd@gnu.org>
13020
1216f5e4
GM
13021 * alloc.c (mark_object): Don't mark symbol names in pure space.
13022 (gc_sweep): Don't unmark symbol names in pure space.
13023
13024 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13025 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13026 [GC_MARK_STACK]: New defines.
427ec082 13027 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13028 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13029
13030 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13031
13032 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13033 allocate_buffer instead of xmalloc.
13034
13035 * alloc.c (toplevel): Include setjmp.h.
13036 (PURE_POINTER_P): New define.
13037 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13038 (Vdead) [GC_MARK_STACK]: New variable.
13039 (lisp_malloc): Add parameter TYPE, call mem_insert if
13040 GC_MARK_STACK is defined.
13041 (allocate_buffer): New function.
427ec082 13042 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13043 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13044 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13045 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13046 (MEM_NIL) [GC_MARK_STACK]: New define.
13047 (struct mem_node) [GC_MARK_STACK]: New structure.
13048 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13049 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13050 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13051 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13052 (mark_stack) [GC_MARK_STACK]: New functions.
13053 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13054 (clear_marks): Removed.
13055 (gc_sweep): Set free conses' car, free floats' type, free
13056 symbols' function to Vdead. Use lisp_free to free buffers.
13057 (init_alloc_once): Initialize Vdead.
13058 (survives_gc_p): Return non-zero for pure objects.
13059
13060 * alloc.c: Add comments throughout the file.
13061
2503c8b1
GM
13062 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13063 that unblocks alarms.
13064
8389e1e2
GM
13065 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13066 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13067 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13068
10689a01 13069 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13070
bfc17d18
KH
130712000-02-17 Kenichi Handa <handa@etl.go.jp>
13072
4a09dee0
KH
13073 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13074 avoid infinite error signaling. Allocate sufficient memory for
13075 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13076
2b927d02
SM
130772000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13078
13079 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13080 depends on the previous behavior.
13081
b49cb764
GM
130822000-02-16 Gerd Moellmann <gerd@gnu.org>
13083
13084 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13085
99e95407
GM
130862000-02-15 Gerd Moellmann <gerd@gnu.org>
13087
13088 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13089
13090 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13091 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13092 write(2).
13093
6ffd3cf7
RS
130942000-02-15 Richard M. Stallman <rms@gnu.org>
13095
13096 * data.c (set_internal): Don't make variable buffer-local
13097 if within a let-binding for the same buffer.
13098 (let_shadows_buffer_binding_p): New function.
13099
13100 * eval.c (specbind): For buffer-local value,
13101 record the current buffer also.
13102 (unbind_to): Cope with that change.
13103
cad53475
GM
131042000-02-15 Gerd Moellmann <gerd@gnu.org>
13105
13106 * window.c (Fsave_window_excursion): Doc fix.
13107
1aa963c8
SM
131082000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13109
13110 * syntax.c (back_comment): Make sure we only consider comment-starters
13111 of the relevant style and return -1 in case of a failure to find the
13112 beginning of the comment.
13113 (Fforward_comment): If back_comment fails, go back to the position just
13114 after the comment-end.
13115 (scan_lists): Add comment describing a very minor bug.
13116
b9b84fd3
SM
131172000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13118
13119 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13120 `completion-regexp-list' in the docstring.
13121
3a28db80
DL
131222000-02-14 Dave Love <fx@gnu.org>
13123
13124 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13125
fb4a568d
SM
131262000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13127
13128 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13129 to Emacs' syntax. Also fix the comment about set/not-set meanings
13130 since Emacs syntax is not the value 0 any more.
13131 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13132 since it's now part of RE_SYNTAX_EMACS.
13133
1063ebb5
DL
131342000-02-12 Dave Love <fx@gnu.org>
13135
52283633 13136 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13137
fb07a302
GM
131382000-02-12 Gerd Moellmann <gerd@gnu.org>
13139
13140 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13141
aaf2320c
DL
131422000-02-12 Dave Love <fx@gnu.org>
13143
13144 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13145
13146 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13147 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13148 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13149
13150 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13151
13152 * s/nextstep.h: Don't define HAVE_ALLOCA.
13153
13154 * config.in: Add vfork bits.
13155
eedf8bde
GM
131562000-02-12 Gerd Moellmann <gerd@gnu.org>
13157
13158 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13159 unwind function to undo the effect of stopping atimers.
13160
52283633 13161 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13162
13163 * atimer.c (stopped_atimers): New variable.
13164 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13165 New functions.
13166
13167 * atimer.h (stop_other_atimers, run_all_atimers)
13168 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13169
eedf8bde
GM
13170 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13171
8476c2f8
KR
131722000-02-11 Ken Raeburn <raeburn@gnu.org>
13173
13174 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13175 library may depend on jpeg.
13176 (atimer.o): Depends on atimer.c.
13177
0e85e4a3
KH
131782000-02-11 Kenichi Handa <handa@etl.go.jp>
13179
13180 * insdel.c (del_range_1): Call update_compositions.
13181 (del_range_both): Call update_compositions just once..
13182
97fa0cc8
DL
131832000-02-10 Dave Love <fx@gnu.org>
13184
13185 * xfns.c (create_frame_xic): Fix initialization of automatic
13186 aggregates for pcc.
13187
25566a3c
KH
131882000-02-09 Kenichi Handa <handa@etl.go.jp>
13189
13190 * ccl.c (CCL_MAKE_CHAR): New macro.
13191 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13192 registers by CCL_MAKE_CHAR before calling translate_char.
13193 <CCL_TranslateCharacterConstTbl> Likewise.
13194
69da54ba
DL
131952000-02-08 Dave Love <fx@gnu.org>
13196
13197 * lread.c (__EXTENSIONS__): Define.
13198
f7136ee8
GM
131992000-02-08 Gerd Moellmann <gerd@gnu.org>
13200
13201 * puresize.h (BASE_PURESIZE): Increase to 650000.
13202
7768790b
EZ
132032000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13204
13205 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13206 the help message.
13207
38fd211b
EZ
132082000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13209
13210 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13211 md, mh, mb, mr, and me to the fake termcap entry.
13212
66e4690f
KR
132132000-02-06 Ken Raeburn <raeburn@gnu.org>
13214
13215 * sound.c (sound_cleanup): Don't call device close routine if the
13216 function pointer is null.
13217
a75dfea0
AI
132182000-02-06 Andrew Innes <andrewi@gnu.org>
13219
13220 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13221 around image definitions and prototypes.
13222 (gamma_correct) [WINDOWSNT]: New prototype.
13223
13224 * w32term.c (x_make_frame_visible): Replace call to
13225 input_poll_signal with poll_for_input.
13226
13227 * window.c [WINDOWSNT]: Include w32term.h.
13228
13229 * xdisp.c [WINDOWSNT]: Include w32term.h.
13230
13231 * makefile.nt: Add dependencies on w32gui.h.
13232 (OBJ1): Include atimer.obj.
13233 ($(BLD)\atimer.obj): New dependency rule.
13234
13235 * w32.c (sigmask): New function (does nothing).
13236 (sigunblock): Ditto.
13237
13238 * frame.c [WINDOWSNT]: Include w32term.h.
13239
13240 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13241
13242 * lread.c (syms_of_lread): Fix literal newlines.
13243
13244 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13245 the string constant limit (2048 bytes) in MSVC.
13246 (main): Ditto.
13247
59ddecde
GM
132482000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13249
52283633 13250 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13251 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13252 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13253 dispatch the event.
13254
07590973
DL
132552000-02-04 Dave Love <fx@gnu.org>
13256
13257 * fileio.c: Remove some unused vars.
13258 (_GNU_SOURCE): Define (for euidaccess).
13259
13260 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13261
13262 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13263 gcpro1, gcpro2.
13264 (read_minibuf): Deal with allow_props correctly.
13265
649351f9
EZ
132662000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13267
13268 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13269
66e4690f 132702000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13271
13272 * search.c (compile_pattern): If a cache entry has a nil regexp,
13273 fill in that entry instead of clobbering a previously cached
13274 string regexp.
13275
66e4690f 132762000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13277
13278 * puresize.h (BASE_PURESIZE): Increase to 610000.
13279
d240a249
GM
132802000-02-02 Gerd Moellmann <gerd@gnu.org>
13281
13282 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13283 can GC.
13284
ca91fb26
KH
132852000-02-02 Kenichi Handa <handa@etl.go.jp>
13286
25660570
KH
13287 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13288 instead of incrementing ic directly.
13289 <CCL_WriteExprConst> Likewise.
13290 <ccl_set_expr>: Set ic to jump_address.
13291
ca91fb26
KH
13292 * fileio.c (e_write): Fix the handling of
13293 CODING_FINISH_INSUFFICIENT_SRC.
13294
2ede9689
DL
132952000-02-01 Dave Love <fx@gnu.org>
13296
13297 * editfns.c (Fpropertize): Doc fix.
13298
13299 * process.c (Fstart_process): Doc fix.
13300
13301 * eval.c: Fix various doc strings not to duplicate information
13302 from help-manyarg-func-alist.
13303
52283633 13304 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13305
13306 * doc.c (Vhelp_manyarg_func_alist): New variable.
13307 (Fdocumentation): Use it.
13308 (syms_of_doc): Define it.
13309
b6680a0e
GM
133102000-01-31 Gerd Moellmann <gerd@gnu.org>
13311
2cb750ba
GM
13312 * xterm.c (xim_open_dpy): Remove unused local variable.
13313
52283633 13314 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13315
13316 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13317 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13318
b6680a0e
GM
13319 * fns.c (sweep_weak_table): New function.
13320 (sweep_weak_hash_tables): Use it. Keep on marking until there
13321 is no more change.
13322
994c5afe
GM
133232000-01-30 Gerd Moellmann <gerd@gnu.org>
13324
13325 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13326 that XTread_socket does not crash by trying to call XNoOp on a
13327 closed display.
427ec082 13328
f00276e3
JR
133292000-01-30 Jason Rumney <jasonr@gnu.org>
13330
13331 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13332 Change selected_frame to SELECTED_FRAME ().
13333 (w32_console_mouse_position): Remove #ifndef MULE from around
13334 `insist' parameter.
13335
13336 * makefile.nt: Remove dosfns.obj.
13337
13338 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13339
13340 * w32fns.c (w32_defined_color): Check for valid frame before
13341 applying gamma correction. Eliminate dependency on frame elsewhere.
13342 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13343 (w32_to_x_font): Use resx and resy not height_in and width_in.
13344 (x_to_w32_font): Doc fix.
13345 (xlfd_strip_height): New function to strip and return font height.
13346 (w32_font_match): Compare height separately from rest of xlfd
13347 spec, using xlfd_strip_height.
13348
13349 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13350 width_in. Use w32_defined_color in place of defined_color.
13351
13352 * w32faces.c: Merge more of DOS and X specifics in preparation for
13353 merge with xfaces.c.
13354 (defined_color): Remove FIXME comment.
13355 (tty_color_name): Provide w32-specific function.
13356 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13357
13358 * w32console.c (turn_on_face, turn_off_face): Removed.
13359 (w32_face_attributes): New function.
13360 (Global_variables): Reduce scope where possible.
13361 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13362 fill attribute.
13363 (hl_mode): Don't modify text attributes.
13364 (write_glyphs): Don't do anything if len <= 0. Use
13365 w32_face_attributes to get attributes for drawing. Write
13366 terminating codes using char_attr_normal.
13367 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13368 (update_begin, update_end): Likewise.
13369 (vga_stdcolor_name): New function.
13370 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13371 (Fset_screen_color): Remove char_attr_reverse.
13372
b08e8bb2
GM
133732000-01-29 Gerd Moellmann <gerd@gnu.org>
13374
13375 * xfns.c (xic_set_preeditarea): Take window parameter and
13376 window-relative pixel-positions.
13377
13378 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13379 is its frame's selected window.
13380 (xim_instantiate_callback): Likewise.
13381
13382 * xfns.c (x_create_im): Removed.
13383 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13384 (supported_xim_styles): Renamed from supported_styles.
13385 (best_xim_style): Renamed from best_style.
13386 (create_frame_xic): Renamed from xic_create_frame.
13387 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13388
b08e8bb2
GM
133892000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13390
13391 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13392 our frames, call XFilterEvent with 2nd parameter `None'.
13393 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13394 returning XBufferOverflow.
52283633 13395 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13396 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13397 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13398 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13399 (xim_initialize, xim_close)
13400 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13401 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13402 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13403 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13404
13405 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13406 and `xim_styles'.
13407 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13408 `xic_style' and `xic_xfs'.
13409 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13410 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13411 (FRAME_XIM): Removed.
13412
13413 * xfns.c (supported_styles): New variable.
13414 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13415 (xic_create_xfontset, best_style, xic_create_frame)
13416 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13417 (xic_set_xfontset): New functions.
13418
142e109c
DL
134192000-01-28 Dave Love <fx@gnu.org>
13420
13421 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13422
13423 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13424
b02786f9
GM
134252000-01-28 Gerd Moellmann <gerd@gnu.org>
13426
d060bc9f
GM
13427 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13428 for *scratch* if it already existed.
13429
b02786f9
GM
13430 * emacs.c (USAGE): New macro.
13431 (main): Use it to display usage information.
13432
2c52d7e4
EZ
134332000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13434
13435 Support for the menu-help feature:
13436
52283633 13437 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13438
13439 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13440 part of the line to the termscript file.
13441 (IT_clear_to_end): Clear the entire line, not just its beginning.
13442 (menu_help_message, prev_menu_help_message): New variables.
13443 (IT_menu_make_room): Make room for the help_text member.
13444 (IT_menu_display): New argument disp_help; all callers changed.
13445 If disp_help is non-zero, store the help text of the active menu
13446 item in menu_help_message.
13447 (XMenuAddPane): Initialize the help_text member to NULL.
13448 (XMenuAddSelection): New argument help_text. Store it in the
13449 XMenu structure.
13450 (XMenuActivate): New argument help_callback. If the value of
13451 menu_help_message has changed since the last time, display the
13452 menu help message text while waiting for the mouse to move. Clear
13453 the echo area before exiting.
13454 (XMenuDestroy): Free the help_text member.
13455
ffe0bcd1
GM
134562000-01-27 Gerd Moellmann <gerd@gnu.org>
13457
13458 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13459 XMenuAddSelection. Pass help callback to XMenuActivate.
13460 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13461
50dbd23f
EZ
134622000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13463
13464 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13465 and EMACS_SET_USECS.
13466
f5941bf8
GM
134672000-01-26 Dave Love <fx@gnu.org>
13468
6c67ddee
DL
13469 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13470
f5941bf8
GM
13471 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13472 an error may be signalled.
13473
9e49c990
GM
134742000-01-26 Gerd Moellmann <gerd@gnu.org>
13475
fc3cb460
GM
13476 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13477 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13478
9e49c990
GM
13479 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13480
d0c037d8
GM
134812000-01-25 Gerd Moellmann <gerd@gnu.org>
13482
13483 * charset.c (Fstring): If there is a multibyte char among
13484 the args, always return a multibyte string.
13485
e12489f9
GM
134862000-01-25 Gerd Moellmann <gerd@gnu.org>
13487
13488 * sysdep.c (sys_select): Turn atimers off and on instead of
13489 recording and restoring old alarm handler
13490
13491 * process.c (toplevel): Include atimer.h.
13492 (create_process_1): Rewritten.
13493 (create_process): Use atimers instead of alarm.
13494 (wait_reading_process_input) [hpux]: Turn atimers off instead
13495 of turning off SIGALRM.
13496 (wait_reading_process_input): Turn off atimers instead off
13497 calling stop_polling.
13498
13499 * emacs.c (main): Call init_atimer.
13500
13501 * keyboard.c (toplevel): Include systime.h and atimer.h.
13502 (polling_for_input): Removed because unused.
13503 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13504 (poll_timer): New variable.
13505 (poll_for_input, poll_for_input_1): New functions.
13506 (start_polling, stop_polling): Rewritten.
13507
13508 * keyboard.h (polling_for_input): Removed.
427ec082 13509
e12489f9
GM
13510 * atimer.h, atimer.c: New files.
13511
13512 * Makefile.in (obj): Add atimer.o.
13513 (atimer.o): New target.
13514
13515 * blockinput.h (pending_atimers): Add extern declaration.
13516 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13517
13518 * lisp.h (popup_activated_flag): Add extern declaration.
13519
13520 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13521 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13522 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13523
13524 * xterm.c (toplevel): Include atimer.h.
13525 (toolkit_scroll_bar_interaction): New variable.
13526 (Fxt_process_timeouts): Removed.
13527 (x_process_timeouts): New function.
13528 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13529 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13530 (x_make_frame_visible): Call poll_for_input_1 instead of
13531 input_poll_signal. Don't call alarm.
13532 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13533
1e5279b9
DL
135342000-01-24 Dave Love <fx@gnu.org>
13535
6c67ddee 13536 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13537 Don't use -cckr -- apparently not now necessary.
13538
edf6aeb8
EZ
135392000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13540
13541 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13542 screen boundary.
13543
9badad41
JR
135442000-01-23 Jason Rumney <jasonr@gnu.org>
13545
13546 * w32fns.c (w32_defined_color): Apply gamma correction before
13547 trying to map to the palette.
13548 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13549 to w32_clear_rect.
13550
13551 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13552 here. Callers changed to always pass real device context.
13553 (w32_draw_bitmap): Likewise.
13554 (w32_get_glyph_overhangs): Likewise.
52283633 13555 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13556 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13557 pfnSetScrollInfo and SetScrollRange.
13558 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13559 back into MULE characters after decoding them.
13560 (x_get_glyph_face_and_encoding): Likewise.
13561 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13562 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13563 (x_produce_glyphs): Calculate per char metrics for a character
13564 that we know exists in default font when font_not_found_p is true.
13565
63bd786b
JR
135662000-01-22 Jason Rumney <jasonr@gnu.org>
13567
13568 * makefile.nt (intervals.obj, composite.obj): New modules.
13569 (composite.h): Added as dependency where appropriate.
13570
13571 * w32gui.h (XGCValue): New struct for emulating X GCs.
13572
13573 * w32term.h (XCharStruct): New struct for emulating X.
13574
13575 * w32console.c (turn_on_face, turn_off_face): New functions.
13576 (change_line_highlight): New prototype for new redisplay.
13577 (write_glyphs): Support multibyte text. Support faces.
13578
52283633 13579 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13580
13581 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13582 throughout. struct frame * in place of FRAME_PTR.
13583 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13584 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13585 (w32_get_arg): Renamed from x_get_arg.
13586 (Fx_file_dialog): New function.
13587 (w32_list_fonts): Check cache before asking system.
13588 (Vw32_enable_synthesized_fonts): New variable.
13589 (Vw32_enable_italics): Obsolete, removed.
13590
13591 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13592 Use SELECTED_FRAME macro.
13593
13594 * w32menu.c: Add skeleton support for help strings on menus.
13595 (add_menu_item): Native checkbox and radio support added, but not
13596 yet enabled due to bugs.
13597 (push_menu_item): Add parameters type, selection and help.
13598 Callers updated.
13599 Formatting changes to reduce unnecessary diffs with xmenu.c.
13600
13601 * w32select.c (Fw32_set_clipboard_data): Update call to
13602 find_charset_in_str.
13603
13604 * w32term.c: Complete rewrite for new redisplay based on new
13605 xterm.c with necessary sections merged back in from old w32term.c.
13606
6ffd3cf7 136072000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13608
13609 * data.c (set_internal): Further fix in same criterion.
13610
6ffd3cf7 136112000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13612
13613 * data.c (set_internal): Fix the criteria for whether
13614 to swap out the old cached binding.
13615
60af03f1
DL
136162000-01-19 Dave Love <fx@gnu.org>
13617
13618 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13619
f9be074f
KH
136202000-01-18 Kenichi Handa <handa@etl.go.jp>
13621
13622 * regex.c (re_compile_fastmap): While checking a range table for
13623 `charset', skip flag bits for a character class correctly.
13624
52b8dbf9
GM
136252000-01-17 Gerd Moellmann <gerd@gnu.org>
13626
d36100c9
GM
13627 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13628
52283633 13629 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
13630
13631 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 13632 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
13633
13634 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
13635 MENU_ITEMS_ITEM_.*.
13636 (MENU_ITEMS_ITEM_HELP): New enumerator.
13637 (push_menu_item): Add parameter HELP. Record help in menu_items.
13638 (single_menu_item, single_submenu, list_of_items): Call
13639 push_menu_item with new parameter.
13640 (single_submenu): Set help string in widget value.
13641 (menu_highlight_callback): New function.
13642 (set_frame_menubar): Call lw_create_widget with new
13643 parameter list.
13644 (xmenu_show, xdialog_show): Ditto.
13645
3139018f
GM
136462000-01-13 Gerd Moellmann <gerd@gnu.org>
13647
13648 * sound.c (Fplay_sound): Improve doc string.
13649
83c8f461
RS
136502000-01-11 Richard M. Stallman <rms@gnu.org>
13651
13652 * lisp.h (set_internal): Enter the new arg.
13653
13654 * eval.c (specbind): Record buffer-local variables specially,
13655 indicating which buffer's binding was saved.
13656 (unbind_to): Restore buffer-local variables specially
13657 in the proper buffer.
13658
13659 * data.c (set_internal): New arg BUF.
427ec082 13660
83c8f461
RS
13661 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
13662 * data.c (Fset): Pass new arg to set_internal.
13663 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 13664
1fab1775
GM
136652000-01-11 Gerd Moellmann <gerd@gnu.org>
13666
52283633 13667 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 13668
83c8f461 136692000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
13670
13671 * minibuf.c (Ftry_completion): Doc fix.
13672
7a85e4df
GM
136732000-01-11 Gerd Moellmann <gerd@gnu.org>
13674
13675 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
13676 vector, too.
13677
a970dae4
AS
136782000-01-11 Andreas Schwab <schwab@suse.de>
13679
13680 * coding.c (code_convert_region): Initialize total_skip.
13681
c65d14ee
DL
136822000-01-08 Dave Love <fx@gnu.org>
13683
13684 * eval.c (Fuser_variable_p): Check customizability too.
13685
834938d2
GM
136862000-01-07 Gerd Moellmann <gerd@gnu.org>
13687
13688 * minibuf.c (Fcompleting_read): Doc fix.
13689
e0303cd6
GM
136902000-01-05 Gerd Moellmann <gerd@gnu.org>
13691
8a26744b
GM
13692 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13693 -L /usr/local/lib.
13694
e0303cd6
GM
13695 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13696 Check that input style is supported before trying to create an
13697 IC for it.
13698 (x_window): Call x_create_im.
427ec082 13699
2e471eb5
GM
137002000-01-04 Gerd Moellmann <gerd@gnu.org>
13701
560a7bd2
GM
13702 * xfns.c (current_gif_memory_src): New variable.
13703 (gif_load): Record the address of the current memory source
13704 in current_gif_memory_src.
13705 (gif_read_from_memory): Use current_gif_memory_src.
13706
f9ee84a3
GM
13707 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13708 macros statement form.
13709
d1299cde
GM
13710 * sound.c (struct sound): Renamed from struct sound_file.
13711 (struct sound): Add members `data' and `header_size'.
13712 (enum sound_attr): Add SOUND_DATA.
13713 (current_sound, current_sound_device): Variables renamed from
13714 sound_file and sound_device.
13715 (parse_sound): Parse :data.
13716 (parse_sound): Handle sound data in strings.
13717 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 13718 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
13719 needed header size.
13720 (wav_play, au_play): Play sounds from string data.
13721
2e471eb5
GM
13722 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13723
13724 * lisp.h: Add prototype for allocate_string_data.
13725
52283633 13726 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
13727
13728 * alloc.c (mark_buffer): Remove code in #if 0.
13729 (gc_sweep): Ditto.
13730 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13731 (strings_consed): New variable.
13732 (allocate_string): Set it.
13733 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13734 (Fmemory_use_counts): Return strings_consed. Use Flist.
13735
13736 * alloc.c: General cleanup in comments etc. Remove conditional
13737 compilation for `standalone'.
13738
13739 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13740
13741 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13742 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13743 (DONT_COPY_FLAG): Removed.
13744 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13745 (struct sdata, struct sblock): New
13746 (struct string_block): Rewritten.
13747 (STRINGS_IN_STRING_BLOCK): New macro.
13748 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13749 (large_sblocks, string_blocks, string_free_list): New variables.
13750 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13751 (init_strings): Rewritten.
13752 (allocate_string, allocate_string_data, compact_small_strings)
13753 (free_large_strings, sweep_strings): New functions.
13754 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13755 (struct string_block_head, current_string_block)
13756 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13757 (STRING_PAD): Removed.
13758 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13759 (Fgarbage_collect): Don't set mark bit in large strings.
13760 (mark_object): Mark strings differently. Mark symbol names
13761 differently.
13762 (survives_gc_p): Test marked strings differently.
427ec082 13763 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13764 symbol names.
13765 (compact_strings): Removed.
13766
42608ba8
EZ
137672000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13768
13769 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13770 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13771
e0a09e1a
KH
137722000-01-04 Kenichi Handa <handa@etl.go.jp>
13773
dd9f0750 13774 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 13775 in a non-empty buffer.
dd9f0750 13776
3c0f3b15 13777 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 13778
44cd3ae5
GM
137792000-01-03 Gerd Moellmann <gerd@gnu.org>
13780
13781 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13782 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13783
13784 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13785
c182a70f
EZ
137862000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13787
13788 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13789 need to test for MSDOS frames.
13790
24480d5b
EZ
137912000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13792
13793 * dosfns.c (unspecified_colors): Remove.
13794 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13795 unspecified_bg.
13796 (msdos_stdcolor_name): Return strings for unspecified fore- and
13797 back-ground colors.
13798
13799 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 13800 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
13801 (tty_color_name): Return Lisp strings for unspecified fore- and
13802 back-ground colors.
13803 (Finternal_set_lisp_face_attribute): Remove the special treatment
13804 for Qunspecified_{f,b}g.
52283633 13805 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 13806
047f434a
GM
138072000-01-03 Gerd Moellmann <gerd@gnu.org>
13808
13809 * xdisp.c (reseat_at_next_visible_line_start): Position before
13810 newline only if ending up on a newline.
13811 (next_element_from_ellipsis): Return success. Handle case of
52283633 13812 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
13813 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13814 returns 0.
13815
d684c676
EZ
138162000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13817
13818 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
13819 (Fcolor_supported_p): Renamed from face-color-supported-p.
13820
5fe1d139
EZ
138212000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13822
13823 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
13824 list of colors renamed to tty-defined-color-alist.
13825 (tty_color_name): Pass the frame to tty-color-by-index.
13826 (realize_tty_face): tty-color-alist is now a function which
13827 accepts the frame as argument.
13828
52283633 13829 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 13830
816be8b8
EZ
138312000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13832
13833 * term.c (insert_glyphs): Pass glyph, not &glyph, to
13834 encode_terminal_code.
13835
b635321e
EZ
138362000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13837
13838 * dispnew.c (mode_line_string): Support termcap frames as well.
13839
9b784e96
GM
138402000-01-01 Gerd Moellmann <gerd@gnu.org>
13841
27189709
GM
13842 * syntax.c (Fforward_word): Undo previous change.
13843
13844 * editfns.c (Fconstrain_to_field): Don't constrain if
13845 inhibit-field-text-motion is non-nil.
13846 (Fline_beginning_position): Undo previous change.
13847 (Fline_end_position): Ditto.
13848
13849 * syntax.c (Fforward_word): Notice field boundaries only if
13850 inhibit-field-text-motion is nil.
13851
13852 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
13853
13854 * editfns.c (Vinhibit_field_text_motion): New variable.
13855 (inhibit-field-text-motion): New DEFVAR_LISP.
13856 (Fline_beginning_position, Fline_end_position): Notice field
13857 boundaries only if inhibit-field-text-motion is nil.
13858
45158a91
GM
13859 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
13860 All calls adjusted.
13861 (x_build_heuristic_mask): Likewise.
13862 (xbm_load_image_from_file): Change error output.
13863 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13864 (gif_load, gs_load, x_kill_gs_process): Ditto.
13865
9b784e96
GM
13866 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13867 color indices when accessing raster pixels.
63cec32f
GM
13868 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13869 one of :file or :data.
13870 (enum pbm_keyword_index): Add PBM_DATA.
13871 (pbm_format): Add :data.
13872 (pbm_image_p): Allow either :file or :data.
13873 (pbm_read_file): New function.
13874 (pbm_scan_number): Rewritten to read from string.
13875 (pbm_load): Support :data.
9b784e96 13876
2cb085db 13877See ChangeLog.8 for earlier changes.
6922b018
KH
13878
13879;; Local Variables:
49b3bd82 13880;; coding: iso-2022-7bit
6922b018 13881;; End:
2a34a036
GM
13882
13883 Copyright (C) 2001 Free Software Foundation, Inc.
13884 Copying and distribution of this file, with or without modification,
13885 are permitted provided the copyright notice and this notice are preserved.