(s390-*-linux-gnu): New system. From Adam Thornton <athornton@sinenomine.net>.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
13b1a09c
PJ
12001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2
186486eb
PJ
3 * emacs.c: Use argv[0] instead of emacs when -t was specified.
4
4707d2d0
PJ
5 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
6 keyword].
7 Fix typos in comments.
8
d883731c
PJ
9 * emacs.c (bug_reporting_address): New function.
10 Use it when displaying usage message.
11
04012254
PJ
12 * minibuf.c (read_minibuf): Remove unused external declaration of
13 variable `Qread_only'.
14
13b1a09c
PJ
15 * keymap.c (access_keymap): Remove unused variable `charset'.
16
5bbf4378
MB
172001-10-28 Miles Bader <miles@gnu.org>
18
19 * xfaces.c (merge_face_heights): Handle TO being relative as well.
20 Remove #ifdef'd-out code.
21 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
22 (syms_of_xfaces): Initialize them.
23
1ce1e4ee
JR
242001-10-27 Jason Rumney <jasonr@gnu.org>
25
26 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
27 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
28 position using the system caret.
29
30 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
31 (w32_system_caret_height, w32_system_caret_x)
32 (w32_system_caret_y): New variables for tracking system caret.
33 (w32_initialize): Initialize them.
c2d53558 34 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 35
c2d53558
SM
36 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
37 New messages types.
1ce1e4ee
JR
38
39 * w32term.c (note_mouse_highlight): Clear old help_echo.
40
4e30ce42
PJ
412001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
42
bb4600a4
PJ
43 * xterm.c: Fix typo in a comment.
44
7db35a48
PJ
45 * emacs.c: Fix typos in comments.
46 Remove unnecessary spaces.
47 Change doc-string comments to `new style' [w/`doc:' keyword].
48 (USAGE2): Fix typos in usage string.
49
a7248e4f
PJ
50 * xterm.c: Fix typo in a comment.
51
4e30ce42
PJ
52 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
53 emacs.c.
54
62725a92
GM
552001-10-27 Gerd Moellmann <gerd@gnu.org>
56
798dbe1f 57 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 58 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
59 farther backward when target_y was not reached.
60
62725a92
GM
61 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
62 Display errno only if non-zero.
63 (sound_warning): New function.
64 (vox_configure): Don't treat failing to set sample rate as error.
65 (various places): Improve error messages.
66
d4e34d24
EZ
672001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
68
944e6f60
EZ
69 * fileio.c (Faccess_file): Run the argument filename through
70 Fexpand_file_name, before using it.
71
d4e34d24
EZ
72 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
73 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
74
38d2af0c
GM
752001-10-26 Gerd Moellmann <gerd@gnu.org>
76
da80a8d5
GM
77 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
78
38d2af0c
GM
79 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
80 Fix clearing in the case of scroll bars on the right.
c2d53558 81
56f508dd
EZ
822001-10-26 Juanma Barranquero <lektu@terra.es>
83
84 * w32gui.h (XImage): Add a dummy typedef.
85
fbd5ceb2
GM
862001-10-26 Gerd Moellmann <gerd@gnu.org>
87
c2d53558 88 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 89
b23236fb
EZ
902001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
91
92 * frame.c (Fframe_parameter): Fix last change.
93
879eadc3
GM
942001-10-25 Gerd Moellmann <gerd@gnu.org>
95
75700ff2
GM
96 * frame.c (Fframe_parameter): Fix a bug whereby some
97 ``artificial'' frame parameters, like `minibuffer' were not
98 obtained by calling Fframe_parameters.
99
dfe92a6a
GM
100 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
101 cursor differently.
102
879eadc3
GM
103 * xdisp.c (move_it_vertically_backward): Compute line height
104 differently. Add heuristic to try to be more compatible to 20.x.
105
e1010ebe
SM
1062001-10-25 Stefan Monnier <monnier@cs.yale.edu>
107
d73a471b
SM
108 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
109
d6da5a06
GM
110 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
111 boolean.
e1010ebe 112
f66bd220
MB
1132001-10-25 Miles Bader <miles@gnu.org>
114
115 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
116 BG is a pointer to a structure, not a structure.
117 (gif_format, png_format): Add missing commas.
118
d436d538
RS
1192001-10-24 Richard M. Stallman <rms@gnu.org>
120
121 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 122 (syms_of_xfaces): Defsubr it.
d436d538 123
075c507b
PJ
1242001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
125
126 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
127 variable `area'.
128
d492b584
PJ
1292001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
130
c2d53558 131 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 132
e2a57b34
MB
1332001-10-25 Miles Bader <miles@gnu.org>
134
135 * dispextern.h (struct image): Add `background',
136 `background_valid', and `background_transparent' fields.
137 (image_background, image_background_transparent): New declarations.
138 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
139 * xfns.c (image_background, image_background_transparent)
140 (four_corners_best): New functions.
c2d53558 141 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
142 (gs_format): Add `:background' entry.
143 (lookup_image): Set IMG's background color if specified.
144 (pbm_load, xbm_load_image, png_load): Set IMG's background field
145 when appropriate.
146 (x_clear_image_1): Reset `background_valid' and
147 `background_transparent_valid' fields.
148 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
149 calculating it here. Set IMG's background_transparent field.
150 (enum xpm_keyword_index): Add XPM_BACKGROUND.
151 (enum png_keyword_index): Add PNG_BACKGROUND.
152 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
153 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
154 (enum gif_keyword_index): Add GIF_BACKGROUND.
155 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 156 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
157 Pre-calculate image background color where necessary.
158 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
159 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
160 color to use for image glyph reliefs.
161
b547b6e8
GM
1622001-10-24 Gerd Moellmann <gerd@gnu.org>
163
d9e3b8c6
GM
164 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
165 in full-width rows.
c2d53558 166
b547b6e8
GM
167 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
168 Fix clearing of area not covered by scroll bar.
169
2beb36f9
PJ
1702001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
171
172 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
173 and `real_start'.
c2d53558 174 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
175 (glyph_rect): Remove unused variable `area'.
176
76cb5e06
GM
1772001-10-24 Gerd Moellmann <gerd@gnu.org>
178
bdbdebff 179 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
180
181 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
182 (row_containing_pos): Take additional argument DY.
183 Treat rows ending in middle of char differently.
62e33982
GM
184 (display_line): Handle tabs on window systems differently.
185
186 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
187 with additional argument.
188
189 * dispextern.h (row_containing_pos): Adjust prototype.
190
76cb5e06
GM
191 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
192 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
193 (try_window_id, try_window_reusing_current_matrix)
194 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
195 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
196
996fee11
PJ
1972001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
198
c9e60620
PJ
199 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
200 gnuemacs).
201 (HAVE_BOXES): Fix typo in comment.
202 (push_menu_pane): Fix typo in comment.
203
3b552d56
PJ
204 * xdisp.c: (display_prop_string_p): Remove unused local declaration
205 of `Qwhen'.
206 (single_display_prop_string_p): Remove unused local declarations
207 of `Qwhen' and `Qmargin'.
208 (string_buffer_position): Remove unused variable `around'.
209 (store_frame_title): Remove unused variable `width'.
210
15c565ac
PJ
211 * window.c: Don't define max.
212 (coordinates_in_window): Remove unused variable `uy'.
213
a8818eb9
PJ
214 * widget.c: Don't define max.
215
996fee11
PJ
216 * process.c: Don't define max.
217 (create_process): Remove unused variable `buffer'.
218
496e1a5b
GM
2192001-10-23 Gerd Moellmann <gerd@gnu.org>
220
c2d53558 221 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 222
5905ae8b
EZ
2232001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
224
225 * xfaces.c (Finternal_set_lisp_face_attribute)
226 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
227 frame is on a windowed display.
228
24db49fb
GM
2292001-10-23 Gerd Moellmann <gerd@gnu.org>
230
c2d53558
SM
231 * dispnew.c (sync_window_with_frame_matrix_rows):
232 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
233 of marginal areas.
234
c2d53558 235 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 236
f0487f05
EZ
2372001-10-23 Andreas Schwab <schwab@suse.de>
238
239 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
240 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
241
f0a48a01
GM
2422001-10-23 Gerd Moellmann <gerd@gnu.org>
243
c2d53558 244 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
245 REAL_END. Notice if cursor gets overwritten.
246 (notice_overwritten_cursor): Take X positions as parameters.
247 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
248 around call to x_draw_glyphs.
249
a50a10a0
PJ
2502001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
251
fc11dff0
PJ
252 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
253 instead of C) and usage.
a50a10a0 254
fc11dff0
PJ
255 * editfns.c (char-to-string): Fix argument names (use CHAR instead
256 of C) and usage.
a50a10a0
PJ
257
258 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
259 `left', `max_width' and `max_height'.
260
8738febd
GM
2612001-10-23 Gerd Moellmann <gerd@gnu.org>
262
263 * xdisp.c (display_line): For a tab continued to the next line,
264 set row's ends_in_middle_of_char_p.
265
653c329b
GM
2662001-10-22 Gerd Moellmann <gerd@gnu.org>
267
268 * xdisp.c (display_line): Fix computation of continuation lines
269 width for TABs.
270
f958c5ac
PJ
2712001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
272
7ba51063
PJ
273 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
274 `Qlaplace'.
275
f958c5ac
PJ
276 * fileio.c: Remove unused code.
277
eb360291
MB
2782001-10-22 Miles Bader <miles@gnu.org>
279
280 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
281 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
282 Remove `DOC_STRINGS_IN_COMMENTS' cases.
283
98515cf0
JR
2842001-10-21 Jason Rumney <jasonr@gnu.org>
285
286 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
287
93026d88
EZ
2882001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
289
290 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
291 (Finsert_string): Avoid the multi-line string literals warning.
292
c9a95b79
MB
2932001-10-22 Miles Bader <miles@gnu.org>
294
295 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
296 (Fdocumentation): Don't use it.
297 (syms_of_doc): Don't initialize it.
298
299 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
300 * print.c (Fwith_output_to_temp_buffer): Likewise.
301 * window.c (Fsave_window_excursion): Likewise.
c2d53558 302 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 303 (Fsave_restriction): Likewise.
c2d53558
SM
304 * eval.c (Frun_hooks, Frun_hook_with_args)
305 (Frun_hook_with_args_until_failure)
306 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
307 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
308 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
309 (Funwind_protect, Fcondition_case): Likewise.
310 * coding.c (Ffind_operation_coding_system): Likewise.
311 * keyboard.c (Ftrack_mouse): Likewise.
312
a3b10252
MB
3132001-10-21 Miles Bader <miles@gnu.org>
314
c2d53558 315 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
316 (Fmake_hash_table): Add usage: string to doc string.
317 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 318 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
319 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
320 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
321 (Fml_prefix_argument_loop): Likewise.
322
c6f73eec
PJ
3232001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
324
c2d53558 325 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 326
c6f73eec
PJ
327 * sysdep.c (init_sys_modes): Change doc-string comments to `new
328 style' [w/`doc:' keyword].
329
330 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
331 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
332 comments to `new style' [w/`doc:' keyword].
333
3cf3436e
JR
3342001-10-21 Jason Rumney <jasonr@gnu.org>
335
336 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
337
c169b8f1
JR
338 * w32term.c (remember_mouse_glyph): New function.
339 (w32_mouse_position): Use it.
340 (note_mouse_movement): If the mouse moved off the glyph, remember
341 its new position.
c2d53558 342
4fdd691b
JR
343 * w32term.h (struct w32_output): Correct spelling of x_compatible.
344 (w32_display_info): Add mouse_face_overlay.
345
c169b8f1
JR
346 * w32term.c (notice_overwritten_cursor): Renamed from
347 note_overwritten_text_cursor. Rewritten to take glyph widths into
348 account.
349 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
350 (fast_find_string_pos): New function.
351 (fast_find_position): Return the correct vpos. Add parameter
352 STOP. In the final row, stop before glyphs having STOP as object.
353 Don't consider glyphs that are not from a buffer.
354 (fast_find_position) [0]: Add a presumably more correct version
355 for after 21.1.
356 (expose_window_tree, expose_frame): Don't compute intersections here.
357 (expose_window): Do it here instead.
358 (expose_window_tree, expose_window, expose_line): Return 1 when
359 overwriting mouse-face.
360 (expose_window): If W is the window currently being updated, mark
361 the frame garbaged.
362 (expose_frame): If mouse-face was overwritten, redo it.
363 (x_use_underline_position_properties): New variable.
364 (syms_of_xterm): DEFVAR_BOOL it.
365 (x_draw_glyph_string): Add comment to use it in future.
366 (x_draw_glyph_string): Restore clipping after drawing box.
367 Fix a computation of the underline position.
368 (w32_get_glyph_string_clip_rect): Minor cleanup.
369 (x_fill_stretch_glyph_string): Remove an assertion.
370 (x_produce_glyphs): Don't convert multibyte characters
371 to unibyte characters in unibyte buffers.
372 (cursor_in_mouse_face_p): New function.
373 (x_draw_stretch_glyph_string): Use it to choose a different GC
374 when drawing a cursor within highlighted text. Don't draw
375 background again if it has already been drawn.
376 (x_draw_glyph_string_box): Don't draw a full-width
377 box just because the glyph row's full_width_p flag is set.
378 (x_draw_glyphs): Fix computation of rightmost x for
379 full-width rows.
380 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
381 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
382 change bottom shadow accordingly. Some cleanup.
383 (x_update_window_end): Handle overwritten mouse face
384 also for tool bar windows.
385 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
386 DRAW is DRAW_IMAGE_RAISED.
387 (clear_mouse_face): Return 1 if text with mouse face was
388 actually redrawn. Make the function static. Reset
389 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
390 optimize away highlighting if we pass over that same overlay again.
391 (note_mouse_highlight): Call mouse_face_overlay_overlaps
392 to detect a case where we have to highlight a different region
393 despite not having left the currently highlighted region.
394 Set mouse_face_overlay in the x_display_info. Avoid changing the
395 mouse pointer shape when show_mouse_face has already done it, or
396 there is no need. Handle mouse-face and help-echo in strings.
397 (glyph_rect): New function.
398 (w32_mouse_position): Use it to raise the threshold for mouse
399 movement event generation.
400 (w32_initialize_display_info): Initialize the x_display_info's
401 mouse_face_overlay.
402 (w32_set_vertical_scroll_bar): Don't clear a zero height
403 or width area.
404 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
405 a widget to zero height.
406
3cf3436e 407 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 408 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
409 equivalents in menu_items.
410 (w32_menu_show): Don't overwrite an item's name with its key
411 description in case the description is a multibyte string.
412 (single_submenu): Some cleanup.
413
414 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
415 (postprocess_image): New function.
416 (lookup_image): Call it for all image types except PostScript.
417 (x_kill_gs_process): Call postprocess_image.
418 (tiff_error_handler, tiff_warning_handler): New functions.
419 (tiff_load): Install them as handlers.
420 (x_kill_gs_process): Recognize if someone has cleared the image
421 cache under us.
422 (valid_image_p): Protect better against invalid image
423 specifications. Previous code could signal an error.
424 (Fx_hide_tip, Fshow_tip): Doc fix.
425 (Fv_max_tooltip_size): New variable.
426 (syns_of_xfns): DEFVAR_LISP it.
427 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
428 window buffer to *tip* right after creating the frame. Set frame's
429 window_width. Use a maximum tooltip size specified by
430 Vx_max_tooltip_size, if that has valid contents.
431 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
432 Make sure the tooltip is completely visible.
433 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
434 (Fx_create_frame): Adjust the frame's height for presence
435 of the tool bar before calling x_figure_window_size.
436 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
437 when the window gets smaller.
438 (x_set_foreground_color): Set frame's cursor_pixel.
439 (x_set_foreground_color, x_set_background_color): Cleaned up.
440 (x_set_font): Handle case of x_new_fontset returning the same name
441 as before, although there was a change in fontsets.
442
386ca361
MB
4432001-10-21 Miles Bader <miles@gnu.org>
444
c2d53558 445 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
446 (Flogxor): Add usage: string to doc string.
447 * charset.c (Fstring): Likewise.
448 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
449 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
450
14ff1ee0
PJ
4512001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
452
03be2694
PJ
453 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
454
455 * alloc.c: Reindent DEFUNs with doc: keywords.
456
457 * abbrev.c (Finsert_abbrev_table_description): Reindent.
458
14ff1ee0
PJ
459 * frame.c: Change doc-string comments to `new style' [w/`doc:'
460 keyword].
461
71431a0e
GM
4622001-10-20 Gerd Moellmann <gerd@gnu.org>
463
6aa97356 464 * (Version 21.1 released.)
71431a0e 465
39f624fa
PJ
4662001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
467
c2d53558 468 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
469
470 * xdisp.c (invisible_text_between_p): Put prototype inside #if
471 0 because unused.
472
473 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
474 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
475 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 476
abcce93a
MB
4772001-10-20 Miles Bader <miles@gnu.org>
478
479 The following changes remove the glyph_row `inverse_p' field,
480 which is never set anymore, due to other changes:
481
482 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
483 (reassert_line_highlight, change_line_highlight): Declarations removed.
484 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
485 (line_hash_code, row_equal_p, fake_current_matrices)
486 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
487 (update_frame_line, update_frame_line, update_frame_line):
488 Don't use `inverse_p' field.
489 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
490 change_line_highlight_hook.
491 (XTreassert_line_highlight, x_change_line_highlight):
492 Functions removed.
c2d53558 493 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
494 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
495 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
496 `inverse_p' field.
c2d53558 497 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
498 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
499 (w32_reassert_line_highlight, x_change_line_highlight):
500 Functions removed.
501 * w32console.c (reassert_line_highlight, change_line_highlight):
502 Functions removed.
503 (initialize_w32_display): Don't set reassert_line_highlight_hook
504 or change_line_highlight_hook.
505 (hl_mode): Function removed.
c2d53558
SM
506 (reset_terminal_modes, set_terminal_modes, update_begin)
507 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
508 (clear_frame, ins_del_lines): Don't call it.
509 * termhooks.h (reassert_line_highlight_hook)
510 (change_line_highlight_hook): Declarations removed.
511 * term.c (reassert_line_highlight_hook)
512 (change_line_highlight_hook): Variables removed.
513 (reassert_line_highlight, change_line_highlight): Functions removed.
514 * msdos.c (IT_reassert_line_highlight)
515 (IT_change_line_highlight): Functions removed.
516 (internal_terminal_init): Don't set reassert_line_highlight_hook
517 or change_line_highlight_hook.
518 (highlight): Variable removed.
c2d53558 519 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
520 (IT_set_terminal_modes): Don't set or use it.
521
522 The following changes remove inverse-video support for terminals
523 that use a `magic cookie' standout mode. Due to changes in the
524 way mode-lines are displayed, such support no longer works
525 anyway, and it's probable that almost no one uses such terminals
526 anymore:
527
528 * term.c (standout_requested): Variable removed.
529 (update_end, highlight_if_desired): Don't use it.
530 (chars_wasted, copybuf): Variables removed.
531 (write_standout_marker): Function removed.
c2d53558 532 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
533 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
534 Don't use `chars_wasted' or `copybuf'.
535 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
536 Set `costs_set' to true.
537 (cursor_to, clear_end_of_line): Test `costs_set' instead of
538 `chars_wasted'.
539 (clear_end_of_line): Function removed.
540 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
541 (clear_to_end): Call `clear_end_of_line' instead of
542 `clear_end_of_line_raw'.
54800acb
MB
543 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
544 (term_init): Don't set them.
545 Turn off any standout/underline modes that require magic cookies.
c2d53558 546 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
547 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
548 Remove special processing for magic-cookie standout modes.
549 (turn_off_face, turn_on_face): Remove special processing for
550 underline magic-cookie glitch.
abcce93a 551
0b5f679f
RS
5522001-10-19 Richard M. Stallman <rms@gnu.org>
553
554 * eval.c (syms_of_eval): Doc fixes.
555
5a4a5bd4
GM
5562001-10-19 Gerd Moellmann <gerd@gnu.org>
557
558 * xdisp.c (redisplay_internal): Don't clear echo area if the
559 mini-window is selected.
560
79f1f96c
MB
5612001-10-19 Miles Bader <miles@gnu.org>
562
b57c2708
MB
563 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
564 doesn't take precedence if the affected property's value is nil.
565
566 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
567
79f1f96c
MB
568 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
569 with fields and suggest using `forward-line' to avoid them.
570 * editfns.c (Fline_beginning_position, Fline_end_position):
571 Clarify documentation.
572
ef879104
SM
5732001-10-18 Stefan Monnier <monnier@cs.yale.edu>
574
575 * keymap.c (current_minor_maps): `override' only shadows its
576 correspondent in minor-mode-map-alist, not the whole tail.
577
97f4db8c
AI
5782001-10-18 Andrew Innes <andrewi@gnu.org>
579
580 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
581 optimization. The fontp->encoding array was not being initialized
582 correctly when compiled with optimizations by MSVC.
583
e6b70fd8
GM
5842001-10-18 Gerd Moellmann <gerd@gnu.org>
585
30903479 586 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 587
0e804d38
AI
5882001-10-17 Andrew Innes <andrewi@gnu.org>
589
590 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
591
592 * w32fns.c (w32_load_system_font): Cache codepage for font, in
593 font_info.charset field.
594
595 * w32term.c (w32_encode_char): Get cached codepage from font_info,
596 rather than working it out by calling w32_codepage_for_font for
597 every glyph.
598
66e5868a
AI
5992001-10-17 Andrew Innes <andrewi@gnu.org>
600
601 * w32term.c (w32_read_socket): Determine clipping rectangle for
602 the entire frame, including areas covered by scrollbars and the
603 menubar. This avoids internal arguments about whether a frame is
604 fully obscured or not.
605
15b00083
GM
6062001-10-17 Gerd Moellmann <gerd@gnu.org>
607
23e8bd86
GM
608 * xdisp.c (try_window_id): Undo last change. Give up if
609 window ends in strings.
30903479 610
9c6ba6d1 611 * xdisp.c (try_window_id): Don't display lines after the window
30903479 612 end if the rest of the window after the window end was already blank.
23e8bd86 613
30903479 614 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
615 for the release of 21.1.
616
30903479 617 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 618
945220bd
MB
6192001-10-17 Miles Bader <miles@gnu.org>
620
621 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
622 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
623 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
624 Change doc-string comments to `new style' [w/`doc:' keyword].
625 (DOC_STRINGS_IN_COMMENTS): Macro removed.
626 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
627 out make-docfile.
628
14242528
MB
6292001-10-16 Miles Bader <miles@gnu.org>
630
631 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
632
3ddf952f
GM
6332001-10-16 Gerd Moellmann <gerd@gnu.org>
634
635 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
636 *scratch*.
637
f3fbd155
KR
6382001-10-16 Ken Raeburn <raeburn@gnu.org>
639
640 Avoid the assumption that car and cdr slots of cons cells are
641 addressable lvalues; this allows for easier experimentation with
642 other lisp implementations that may not permit such accesses for
643 various reasons. Not quite complete -- buffer.c still needs some
644 work, and w32/mac files need rechecking -- so compile-time
645 enforcement is left disabled for now.
646
647 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 648 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
649 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
650 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
651 (XSETCAR, XSETCDR): New macros.
652 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
653 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
654 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
655 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
656 XSETCDR.
657 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
658 * buffer.c (record_buffer, Fbury_buffer)
659 (swap_out_buffer_local_variables, recenter_overlay_lists)
660 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
661 fields of a cons cell respectively.
662 * callint.c (quotify_args, Fcall_interactively): Likewise.
663 * ccl.c (Fregister_code_conversion_map): Likewise.
664 * coding.c (detect_coding_system): Likewise.
665 * composite.c (get_composition_id, make_composition_value_copy):
666 Likewise.
30903479
SM
667 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
668 (swap_in_symval_forwarding, set_internal, Fset_default)
669 (Fmake_variable_buffer_local, Fmake_local_variable)
670 (Fmake_variable_frame_local): Likewise.
f3fbd155 671 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 672 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 673 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
674 * minibuf.c (get_minibuffer): Likewise.
675 * search.c (Fmatch_data): Likewise.
676 * textprop.c (extend_property_ranges): Likewise.
c2d53558 677 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
678 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
679 Likewise.
680 * w32term.c (x_delete_display): Likewise.
681 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
682 Likewise.
c2d53558 683 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 684 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 685 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
686 (Fread_file_name): Use XSETCAR.
687 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
688 CHECK_NUMBER_CDR.
689 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
690 * frame.c (Fmake_terminal_frame): Use XSETCDR.
691 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
692 CHECK_NUMBER_CDR.
693 * keyboard.c (read_char): Alter list traversal to avoid taking the
694 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
695 (parse_menu_item): Use XSETCAR and XSETCDR.
696 (reach_char_x_menu_prompt): Use XSETCAR.
697 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
698 (Fcommand_execute): Use XSETCDR.
699 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
700 (openp): Change list traversal to avoid using XCAR as lvalue.
701 (read_list): Use XSETCDR.
702 * process.c (wait_reading_process_input): Change wait_for_cell
703 handling to avoid taking addresses of cons cell slots.
30903479
SM
704 * xselect.c (x_own_selection, x_handle_selection_clear)
705 (x_clear_frame_selections): Use XSETCDR.
706 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
707 (x_handle_property_notify, x_get_foreign_selection)
708 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 709
502150e5
PJ
7102001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
711
018ba359
PJ
712 * buffer.c: Put doc strings in comments.
713
30903479 714 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 715
b56ba8de
SS
7162001-10-15 Sam Steingold <sds@gnu.org>
717
718 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
719
6a0b793a
PJ
7202001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
721
30903479
SM
722 * process.c (process-inherit-coding-system-flag)
723 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
724 in comment.
725
a1f17501 726 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 727 arguments. Put doc strings in comments.
a65da641
PJ
728
729 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 730
aa601ad0
GM
7312001-10-15 Gerd Moellmann <gerd@gnu.org>
732
30903479 733 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 734
aa601ad0
GM
735 * window.c (select_window_1): Unfreeze window start. Remove a
736 doubled test for WINDOW being live.
737
288148a1
PJ
7382001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
739
dd8d1e71
PJ
740 * fns.c (Fmapconcat): Fix typo in a doc string.
741
288148a1
PJ
742 * dispnew.c (Fsleep_for): Fix typo in a doc string.
743
9f5eb4a3
GM
7442001-10-15 Gerd Moellmann <gerd@gnu.org>
745
746 * xterm.c (x_draw_glyph_string): Restore clipping after
747 drawing box.
748
dbae44c8
PJ
7492001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
750
30903479 751 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 752
0c88c937
SM
7532001-10-14 Stefan Monnier <monnier@cs.yale.edu>
754
56378db4
GM
755 * indent.c (skip_invisible): Use new retval of
756 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 757
845e4cf4
SM
758 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
759 If a parent is reached and noinherit is set, exit immediately.
760 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
761
0c88c937
SM
762 * s/ms-w32.h (EXEC_SUFFIXES):
763 * s/msdos.h (EXEC_SUFFIXES):
764 * process.h (EXEC_SUFFIXES): Remove.
765
766 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
767 (decode_suffixes): Remove.
768
769 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
770 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
771 (invisible_ellipsis_p): Remove.
0c88c937
SM
772
773 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
774 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
775 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
776 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
777 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 778
d19be8a9
PJ
7792001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
780
04d7d066
PJ
781 * lisp.h (Ftop_level): Add prototype.
782
d624284c
PJ
783 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
784 (XTread_socket): Improve style of comments to follow other
785 comments.
786
a87414f9
PJ
787 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
788 is already prototyped in included lisp.h).
789
d19be8a9
PJ
790 * frame.c (Fset_mouse_position): Improve style of comment to
791 follow other comments.
792 (Fset_mouse_pixel_position): Improve style of comment to follow
793 other comments.
794 (Fmake_frame_visible): Doc fix and typo in comment.
795 (Fmake_frame_invisible): Doc fix and typo in comment.
796 (Ficonify_frame): Fix typo in comment.
797
c061c855
GM
7982001-10-14 Gerd Moellmann <gerd@gnu.org>
799
37f6b5b6 800 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 801 * term.c, alloc.c: Put doc strings in comments.
c061c855 802
e641b454
GM
8032001-10-13 Gerd Moellmann <gerd@gnu.org>
804
805 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
806 Provide definitions for doc strings in comments.
807
808 * fns.c: Put doc strings in comments.
809
51724e26
EZ
8102001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
811
812 * dired.c (file_name_completion): Ignore a candidate directory if
813 it matches an element in completion-ignored-extensions that ends
814 in a slash.
815 (syms_of_dired) <completion-ignored-extensions>: Mention the above
816 feature in the doc string.
817 (Ffile_name_completion): Ditto.
818
be5fc59b
SM
8192001-10-12 Stefan Monnier <monnier@cs.yale.edu>
820
5a1373f3
SM
821 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
822
823 * xfns.c (syms_of_xfns): Update calls to Fprovide.
824
825 * lisp.h (Fprovide): Update prototype.
826 (Ffeaturep, invisible_p): Remove.
827
bbc4a3d3 828 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
829 (DOLIST, LOOP_PROPVAL): New macros.
830 (invisible_p, invisible_ellipsis_p): Use them.
831 (invisible_noellipsis_p): New function.
832 (syms_of_xdisp): Use empty_string.
833
834 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
835
836 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
837 (syms_of_lread) <Vafter_load_alist>: Update docstring.
838
839 * print.c (Fwith_output_to_temp_buffer): Align with
840 internal_with_output_to_temp_buffer.
841 (print_preprocess): Use traverse_intervals_noorder.
842 (print_object): Update call to traverse_intervals.
843
844 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
845 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
846
847 * intervals.c (traverse_intervals_noorder): New function.
848 (search_for_interval, count_intervals): Use it.
849 (traverse_intervals): Use less stack space and drop `depth' arg.
850
851 * fns.c (Ffeaturep): Add new `subfeature' arg.
852 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
853 (Qsubfeatures): New var.
854 (syms_of_fns): Initialize it.
855
026f408d
SM
856 * keymap.c (Fkey_description): Use empty_string.
857 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
858 (syms_of_keymap): Setup inheritance between maps.
859 Don't export Sdescribe_bindings_internal any more.
860
be5fc59b
SM
861 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
862
3365175e
GM
8632001-10-12 Gerd Moellmann <gerd@gnu.org>
864
865 * xterm.c (notice_overwritten_cursor): Renamed from
866 note_overwritten_text_cursor. Rewritten to take glyph widths into
867 account.
868
2ab7765c
EZ
8692001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
870
871 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
872 multi-line strings without a trailing "\n\".
873
311346bb
PJ
8742001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
875
876 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
877 defined.
878
2168e04d
SM
8792001-10-11 Stefan Monnier <monnier@cs.yale.edu>
880
026f408d
SM
881 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
882
c0ec53ad
SM
883 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
884 * w32proc.c (sys_spawnve):
885 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
886 * w32.c (check_windows_init_file):
887 * sound.c (Fplay_sound):
026f408d 888 * emacs.c (init_cmdargs):
c0ec53ad
SM
889 * process.c (Fstart_process): Update calls to openp.
890
891 * callproc.c (Vexec_suffixes): New var.
892 (Fcall_process): Update call to openp.
893 (decode_suffixes): New function.
894 (syms_of_callproc): Init exec-suffixes.
895
896 * lread.c (Vload_suffixes, default_suffixes): New vars.
897 (openp): Take a lisp list of suffixes.
898 Check for file-name-handlers even if the file was absolute already.
899 (syms_of_lread): Declare load-suffixes.
900 (Fload): Fix up call to openp.
901 Don't bother checking for file-name-handler at the very beginning.
902
f6333468
SM
903 * keymap.h (Fcopy_keymap): Don't export.
904
905 * lisp.h (empty_string): Declare.
c0ec53ad
SM
906 (Vload_suffixes, Vexec_suffixes): Declare.
907 (openp): Update prototype.
f6333468
SM
908
909 * emacs.c (empty_string): New var.
910 (syms_of_emacs): Initialize it.
911
912 * search.c (wordify): Use it.
913
914 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
915 selected window if it's not displayed there. Handle the case
916 when the window is dedicated.
917 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
918
919 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
920
2168e04d
SM
921 * syntax.h (struct gl_state_s): Change the meaning of b_property.
922 Remove left_ok and right_ok.
923 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
924 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
925 new meaning of b_property.
926
927 * syntax.c (update_syntax_table): Simplify.
928 (Fforward_comment): Don't skip quoted chars when going backward.
929
13d95cc0
GM
9302001-10-11 Gerd Moellmann <gerd@gnu.org>
931
beb0990f
GM
932 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
933 in case I is of some unsigned type, in which case
934 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
935 comparison becomes bogus.
936
cb938d46
GM
937 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
938 (Fuser_full_name): Fix bug treating a float as a fixnum.
939
940 * data.c (Fstring_to_number): Use make_fixnum_or_float.
941
942 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 943
13d95cc0
GM
944 * lisp.h (circular_list_error): Add prototype.
945
946 * data.c (Qcircular_list): New variable.
947 (circular_list_error): New function.
948 (syms_of_data): Initialize it Qcircular_list.
949
e35f6ff7
SM
9502001-10-10 Stefan Monnier <monnier@cs.yale.edu>
951
952 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
953 casefiddle.c, buffer.c: Include keymap.h.
954
619632ac
GM
9552001-10-10 Gerd Moellmann <gerd@gnu.org>
956
957 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
958 options. From Dave Love <d.love@dl.ac.uk>.
959
5e5388f6
GM
9602001-10-09 Gerd Moellmann <gerd@gnu.org>
961
962 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
963 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
964
14a3dff7
GM
965 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
966 unsigned char.
967 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 968
76ba8daf
AI
9692001-10-08 Andrew Innes <andrewi@gnu.org>
970
971 * lisp.h [max]: Undef min and max before redefining them.
972
973 * w32gui.h: Do not undef min and max.
974
975 * w32heap.h: Do not undef min and max.
976
977 * s/ms-w32.h: Do not undef min and max.
978
166253cb
SM
9792001-10-08 Stefan Monnier <monnier@cs.yale.edu>
980
981 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
982
0c4d9527
SS
9832001-10-08 Sam Steingold <sds@gnu.org>
984
985 * keymap.c (current-active-maps): Quote newlines (compilation error).
986
14bfa771
EZ
9872001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
988
989 * Makefile.in (lisp, shortlisp): Replace bindings.el with
990 bindings.elc, since otherwise doc strings in bindings.el get wrong
991 offsets in etc/DOC.
992
bdb7aa47
SM
9932001-10-08 Stefan Monnier <monnier@cs.yale.edu>
994
9985827f
SM
995 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
996
997 * keyboard.h (map_prompt): Remove.
998
999 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1000 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1001
bdb7aa47
SM
1002 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1003
1004 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1005
1006 * keyboard.c (map_prompt): Remove.
1007 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1008 Use Fkeymap_prompt.
1009
1010 * keymap.h: New file. Extracted from lisp.h.
1011
9985827f
SM
1012 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1013 (accessible_keymaps_1): New function.
1014 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1015 (Fwhere_is_internal): Use Fcurrent_active_maps.
1016 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1017 Insert in current buffer rather than standard-output.
1018 Don't call `help-mode'. Export to elisp.
1019 (describe_buffer_bindings): New wrapper.
1020 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1021 and Sdescribe_buffer_bindings.
1022
402c9a51
GM
10232001-10-08 Gerd Moellmann <gerd@gnu.org>
1024
9985827f 1025 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1026 Remove code setting signal handler.
1027
9985827f 1028 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1029 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1030
3fe81fdf
PJ
10312001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1032
1033 * keyboard.c: Don't define min/max.
1034
55fa7820
GM
10352001-10-08 Gerd Moellmann <gerd@gnu.org>
1036
9985827f 1037 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1038 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1039 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1040 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1041 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1042 Don't define min/max.
1043
1044 * lisp.h (min, max): New macros.
1045
55fa7820
GM
1046 * puresize.h (BASE_PURESIZE): Increase to 725000.
1047
1aad31e4
PJ
10482001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1049
9180dc8c
PJ
1050 * xfaces.c (free_frame_menubar): Add prototype.
1051
01f67d2c
PJ
1052 * lisp.h (init_window): Add prototype.
1053
1054 * editfns.c: Include ctype.h.
1055
1056 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1057 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1058 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1059 variable `sb'.
1060
5f351ff1
PJ
1061 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1062 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1063 `popup_activated_flag' and `title'.
1064
479dfe87
PJ
1065 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1066
dff49fc8
PJ
1067 * emacs.c (main): Remove extra `;'.
1068
248ac615
PJ
1069 * atimer.h (struct atimer): Fix typos in a comment.
1070
1071 * atimer.c: Fix typo.
1072
af232c7d
PJ
1073 * Makefile.in: Fix typo.
1074
1075 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1076
d876f455
MB
10772001-10-07 Miles Bader <miles@gnu.org>
1078
1079 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1080
0037e2f2
KR
10812001-10-07 Ken Raeburn <raeburn@gnu.org>
1082
b056f36d
KR
1083 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1084 Lisp_Object.
1085
0037e2f2
KR
1086 * lisp.h (Ffield_end): Declare.
1087
1a4372ef
GM
10882001-10-07 Gerd Moellmann <gerd@gnu.org>
1089
a4a74e8c
GM
1090 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1091
1092 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1093
1094 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1095
1096 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1097
1a4372ef
GM
1098 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1099 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1100
1101 * alloc.c (inhibit_garbage_collection): Simplify.
1102 (Fmemory_use_counts): Ditto.
1103
9985827f 1104 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1105 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1106 most-negative-fixnum.
1107
9985827f 1108 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1109 (FIXNUM_OVERFLOW_P): New macros.
1110
4650e362
MB
11112001-10-06 Miles Bader <miles@gnu.org>
1112
1113 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1114 scroll_bar_bottom_shadow_pixel fields.
1115 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1116 for the shadows, and tell the toolkit about them if we succeed.
1117 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1118 Free scroll-bar shadow colors.
1119 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1120 Free scroll-bar shadow colors when the background color changes.
1121 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1122 Initialize scroll-bar shadow-color fields.
1123
ace64e0a
GM
11242001-10-05 Gerd Moellmann <gerd@gnu.org>
1125
1126 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1127
ec66bdc7
MB
11282001-10-05 Miles Bader <miles@gnu.org>
1129
9985827f
SM
1130 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1131 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1132 New functions (were in simple.el).
9985827f 1133 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1134 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1135 (syms_of_minibuf): Initialize them.
1136
a0fb4492
GM
11372001-10-05 Gerd Moellmann <gerd@gnu.org>
1138
1139 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1140 (tiff_load): Install them as error and warning handler.
1141
0bcf87c1
AI
11422001-10-04 Andrew Innes <andrewi@gnu.org>
1143
1144 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1145 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1146 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1147 (x_to_w32_charset): Handle private format for unknown charsets.
1148 Handle wildcards in charset spec, by ignoring them.
1149 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1150 "*-" prefix from charset.
1151 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1152 handle the truncated font spec form constructed by font_list_1, so
1153 that we correctly identify the charset fields. Don't remove "*-"
1154 prefix from charset.
1155 (w32_list_synthesized_fonts): Fix argument to alloca.
1156
c89e4bc5
GM
11572001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1158
1159 * window.h (MINI_WINDOW_P): Use NILP.
1160
1161 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1162
1163 * termhooks.h (struct input_event): Use proper type for `kind'.
1164
11652001-10-04 Gerd Moellmann <gerd@gnu.org>
1166
1167 This handles unknown keysyms better than before. For example,
1168 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1169 Emacs formerly completely ignored F5. With the change, it derives
1170 a key symbol from the name of the X keysym, `ccaron' in this case.
1171 Reported by Martin Buchholz.
1172
1173 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1174 unknown keysyms.
1175
1176 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1177 that EVENT->code isn't a function key, use the keysym's name.
1178
11792001-10-04 Gerd Moellmann <gerd@gnu.org>
1180
1181 FOREACH is a macro that should make it easier to loop over Lisp
1182 lists with checks for cycles and proper lists.
1183
1184 * lisp.h (LIST_END_P, FOREACH): New macros.
1185
11862001-10-04 Gerd Moellmann <gerd@gnu.org>
1187
1188 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1189 called for a lost connection. Prevent dumping core in this case.
1190 Instead print the X error, and exit. On user request.
1191
1192 * xterm.c (error_msg): New variable.
1193 (x_fatal_error_signal): New function.
1194 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1195 as fatal_error_signal_hook around the call to XtCloseDisplay.
1196
1197 * emacs.c (fatal_error_signal_hook): New variable.
1198 (fatal_error_signal): Call that function.
1199
12002001-10-04 Gerd Moellmann <gerd@gnu.org>
1201
1202 With this, Emacs prints how much pure storage it will
1203 approximately need in case pure storage overflows while dumping.
1204
1205 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1206 New variables.
1207 (init_alloc_once): Initialize new variables.
1208 (PURE_POINTER_P): Use new variables.
1209 (pure_alloc): If pure storage overflows, allocate from the heap.
1210 (check_pure_size): New function.
1211 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1212
1213 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1214 (check_pure_size): Add prototype.
1215
1216 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1217
12182001-10-04 Gerd Moellmann <gerd@gnu.org>
1219
1220 This adds a post-gc-hook that's run with GC inhibited.
1221 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1222
1223 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1224 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1225 (Fgarbage_collect): Run post-gc-hook.
1226
12272001-10-04 Gerd Moellmann <gerd@gnu.org>
1228
1229 This adds `defvaralias' and `indirect-variable'. Changes not
1230 directly related to this feature are there to gain the same
1231 performance again as before variable aliases.
1232
1233 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1234 code to get and set symbol values, to take defvaralias into account.
1235
1236 (Note: the new `constant' bit-flag in symbols would make it
1237 possible to define arbitrary read-only variables, e.g. with
1238 `defconst'.)
1239
1240 Documentation is in lispref/variables.texi. Added to NEWS.
1241
1242 * lisp.h (enum symbol_interned): New enumeration.
1243 (struct Lisp_Symbol): Remove member `obarray', add
1244 `indirect_variable', `constant', and `interned'.
1245 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1246 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1247 (indirect_variable): Add prototype.
1248
1249 * print.c (print_preprocess, print_object): Test internedness of
1250 symbols differently.
1251
1252 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1253 bit-fields.
1254 (init_obarray): Likewise for t and nil.
1255
1256 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1257 (Fdefvaralias): New function.
1258 (specbind): Simplify the test if symbol is a constant.
1259 (syms_of_eval): Defsubr Fdefvaralias.
1260
1261 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1262 (Qcyclic_variable_indirection): New variable.
1263 (Fkeywordp): Check for internedness differently.
1264 (Fmakunbound): Simplify the test if symbol is a constant.
1265 (indirect_variable, Findirect_variable): New functions.
1266 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1267 aliased symbol.
1268 (let_shadows_buffer_binding_p): Check for variable aliases.
1269 (set_internal): Simplify the test if SYMBOL is a constant.
1270 If SYMBOL has a buffer-local value and is an alias, use the aliased
1271 symbol instead.
1272 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1273 Sindirect_variable.
1274
1275 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1276 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1277 set directly.
1278
1279 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1280
1281 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1282 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1283 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1284
ab952a4f
GM
12852001-10-04 Gerd Moellmann <gerd@gnu.org>
1286
1287 * Branch for 21.1.
b56ba8de 1288
ba88ff28
MB
12892001-10-03 Miles Bader <miles@gnu.org>
1290
1291 * callproc.c (syms_of_callproc): Explicitly state in the
1292 documentation for `process-environment' that earlier entries take
1293 precedence over later ones.
1294
ae1a9581
MB
12952001-10-02 Miles Bader <miles@gnu.org>
1296
1297 * textprop.c (Fnext_char_property_change)
1298 (Fprevious_char_property_change): Remove reference to non-existant
1299 argument OBJECT from doc-string.
1300
257e3f57
GM
13012001-10-01 Gerd Moellmann <gerd@gnu.org>
1302
1303 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1304 (try_window_id): Skip back over lines ending in a newline from a
1305 string.
1306
1307 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1308 New bit flag
1309
c1f29759
RS
13102001-10-01 Richard M. Stallman <rms@gnu.org>
1311
1312 * search.c (Freplace_match): Doc fix.
1313
c30dce3d
AI
13142001-09-28 Andrew Innes <andrewi@gnu.org>
1315
1316 * w32menu.c (set_frame_menubar): Take into account that
1317 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1318 <raeburn@gnu.org>.
1319
03be5931
EZ
13202001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1321
1322 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1323
75bec752
PJ
13242001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1325
1326 * s/gnu-linux.h: Fix a typo in comment.
1327
83100e0a
AS
13282001-09-28 Andreas Schwab <schwab@suse.de>
1329
1330 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1331 nocombreloc, in case -z combreloc is the default.
1332
a74b48cf
GM
13332001-09-28 Gerd Moellmann <gerd@gnu.org>
1334
1335 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1336 really going on here.
1337
09c4719e
SM
13382001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1339
1340 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1341
f7d5d963
EZ
13422001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1343
1344 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1345 utf-8, menu-bar, and latin-N.
1346 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1347 unconditionally now.
1348 (lisp): Add latin-N, since they are preloaded.
1349
9240e746
GM
13502001-09-27 Gerd Moellmann <gerd@gnu.org>
1351
14531065
GM
1352 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1353 to the left. Some cleanup.
1354
9240e746
GM
1355 * xdisp.c (display_mode_element): One more case where a string's
1356 multibyteness should be used for display.
1357
edd1e654
GM
13582001-09-26 Gerd Moellmann <gerd@gnu.org>
1359
b02439c8
GM
1360 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1361 reading at EOF.
1362
032906b1 1363 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1364 of the only temporarily set echoing flag for deciding when
032906b1
GM
1365 the cancel echoing.
1366
1367 * keyboard.c (echo_kboard): Make externally visible.
1368
1369 * lisp.h (echo_kboard): Declare extern.
1370
cb617e7c 1371 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1372 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1373 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1374 this round of redisplay if make_cursor_line_fully_visible fails.
1375 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1376 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1377
1378 * dispextern.h (required_matrix_width, required_matrix_height):
1379 Add prototypes.
1380
09c4719e
SM
1381 * dispnew.c (required_matrix_width, required_matrix_height):
1382 New functions.
cb617e7c 1383 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1384 (allocate_matrices_for_frame_redisplay: Use them.
1385 Remove parameters CH_DIM.
cb617e7c 1386
edd1e654
GM
1387 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1388 and selected_window to the frame of the window whose mode-lines
1389 are displayed, and to the window itself.
1390 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1391 here.
edd1e654 1392
924b604c
GM
13932001-09-25 Gerd Moellmann <gerd@gnu.org>
1394
daba7643
GM
1395 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1396 the image cache under us.
1397
b7a22712 1398 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1399 with a string value, use that string's multibyteness for displaying.
b7a22712 1400
ad648212
GM
1401 * keyboard.c (read_char): Don't clear a message for a switch-frame
1402 event. From Stefan Monnier <monnier@cs.yale.edu>.
1403
9f8531e5
GM
1404 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1405 version for after 21.1.
1406
1407 * xdisp.c (row_containing_pos): Make externally visible.
1408
1409 * dispextern.h (row_containing_pos): Add prototype.
1410
924b604c
GM
1411 * process.c (send_process): Disable composition if from_byte < 0.
1412 From Kenichi Handa <handa@etl.go.jp>.
1413
6f3f0db4
GM
14142001-09-24 Gerd Moellmann <gerd@gnu.org>
1415
c69c0ebc
GM
1416 * xterm.c (refreshicon): Function removed.
1417
d1182bc4
GM
1418 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1419
1420 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1421
1422 * xterm.c (toplevel): Remove includes in #if 0.
1423
6f3f0db4
GM
1424 * process.c (sigchld_handler) [LINUX]: Don't return from
1425 the signal handler at the end of the loop.
1426
59957f85
GM
14272001-09-21 Gerd Moellmann <gerd@gnu.org>
1428
09c4719e
SM
1429 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1430 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1431
a0528984
EZ
14322001-09-21 Markus Rost <rost@math.ohio-state.edu>
1433
1434 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1435
db92b288
GM
14362001-09-20 Gerd Moellmann <gerd@gnu.org>
1437
3fed8ad5
GM
1438 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1439 since this function can be called during GC.
1440
db92b288
GM
1441 * callproc.c (Fcall_process): Handle errors from pipe(2).
1442 (child_setup): Delete code in #ifdef vipc.
1443
7121b85a
GM
14442001-09-19 Gerd Moellmann <gerd@gnu.org>
1445
72f62cb5
GM
1446 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1447 (display_mode_element): Display the string from decode_mode_spec
1448 depending on its multibyteness.
1449
a2697022
GM
1450 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1451
7121b85a
GM
1452 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1453
bfc97351
GM
14542001-09-18 Gerd Moellmann <gerd@gnu.org>
1455
c9063433
GM
1456 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1457 recursive_edit_unwind.
1458 (recursive_edit_unwind): Set kboard state according to
1459 SINGLE-KBOARD.
1460
3fbdba3e
GM
1461 * buffer.c (modify_overlay): Don't do nothing if START == END;
1462 This can still be a modification, for example when an overlay has
1463 a before-string or after-string.
1464 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1465 an overlay with before-string or after-string.
1466
1270031d
GM
1467 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1468 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1469
bfc97351
GM
1470 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1471 first_unchanged_at_end_row is in front of
1472 last_unchanged_at_beg_row. This code should be removed after the
1473 release of 21.1.
1474
d8a973aa
GM
14752001-09-17 Gerd Moellmann <gerd@gnu.org>
1476
e18c8b8d
GM
1477 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1478 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1479
d8a973aa
GM
1480 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1481 versions >= 2.95.
1482
ed7d6ba4
EZ
14832001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1484
1485 * dired.c (Ffile_attributes): Doc fix.
1486
551629f9
GM
14872001-09-14 Gerd Moellmann <gerd@gnu.org>
1488
1489 * fileio.c (Ffile_symlink_p): Fix last change.
1490
1491 * filelock.c (current_lock_owner): Fix last change.
1492
4c8c7926
GM
14932001-09-13 Gerd Moellmann <gerd@gnu.org>
1494
620c4704
GM
1495 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1496 take that to mean that the buffer is too small.
1497
81c3310d
GM
1498 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1499 that to mean that the buffer is too small.
1500
06fd3792
GM
1501 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1502 current buffer's multibyteness when discarding the iterator's
1503 stack.
1504
4c8c7926
GM
1505 * xfns.c (Fx_window_property): Handle case that property gets
1506 deleted between the two calls to XGetWindowProperty.
1507
9a72e4c1
GM
15082001-09-11 Gerd Moellmann <gerd@gnu.org>
1509
bd819d14 1510 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 1511
a41edd99
GM
1512 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
1513 in addition to read-only.
1514
1515 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
1516 to t in addition to read-only.
1517
1518 * lisp.h (Qinhibit_modification_hooks): Declare.
1519
1520 * insdel.c (Qinhibit_modification_hooks): New variable.
1521 (syms_of_insdel): Initialize and staticpro it.
1522
d4881c6a
GM
1523 * textprop.c (verify_interval_modification): Don't run
1524 modification-hooks if inhibit_modification_hooks.
1525
1526 * dispnew.c (set_window_cursor_after_update): Fix code
1527 finding glyph row containing cursor when cursor_in_echo_area
1528 is >= 0.
1529
9a72e4c1
GM
1530 * xdisp.c (init_from_display_pos): Put some code in #if 0.
1531 (add_to_log): Use bcopy instead of strcpy.
1532 (init_from_display_pos): Use an explicit loop over bytes in
1533 overlay strings instead of calling index.
1534
f4a374a1
GM
15352001-09-10 Gerd Moellmann <gerd@gnu.org>
1536
300e57bd
GM
1537 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
1538
1539 * dispnew.c (direct_output_for_insert): Don't change IT's
1540 stop_charpos to something in front of its current position.
1541
f4a374a1
GM
1542 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
1543 `format'.
1544
7e4cbc91
RS
15452001-09-10 Richard M. Stallman <rms@gnu.org>
1546
1547 * frame.c (Fmouse_position): Doc fix.
1548
6afad91e
GM
15492001-09-07 Gerd Moellmann <gerd@gnu.org>
1550
1551 * xdisp.c (init_from_display_pos): Don't compare the result
1552 of calling index with NULL.
1553
f76e0368
GM
15542001-09-06 Gerd Moellmann <gerd@gnu.org>
1555
1556 * xfns.c (x_set_background_color): Don't change the colors
1557 of the X window of scroll bar widgets.
1558
9ead1b60
AI
15592001-09-05 Andrew Innes <andrewi@gnu.org>
1560
1561 * w32fns.c (w32_createwindow): Undo last change.
1562
c3b497b3
GM
15632001-09-05 Gerd Moellmann <gerd@gnu.org>
1564
08e1d6df
GM
1565 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1566
c3b497b3
GM
1567 * xdisp.c (string_buffer_position): Use *single_char_property*
1568 functions instead of the *single_property* functions.
b56ba8de 1569
8f860180
AI
15702001-09-04 Andrew Innes <andrewi@gnu.org>
1571
9a72e4c1
GM
1572 * w32term.c (w32_read_socket): Add more information to debugging
1573 output.
8f860180
AI
1574
1575 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1576 from Emacs frames, so that calls to GetClipBox in w32term.c
1577 correctly report when part of a frame is visible (including
1578 scrollbars, etc). This prevents repeated redrawing of frames when
1579 only a scrollbar is visible.
1580 (w32_wnd_proc): Add more frame information to debugging output.
1581
2ee1aa00
SM
15822001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1583
1584 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1585
e3b22517
GM
15862001-09-03 Gerd Moellmann <gerd@gnu.org>
1587
7e376260
GM
1588 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1589 help-echo for a string which doesn't have help-echo itself, use
1590 get-char-property to obtain the help-echo from the string's buffer
1591 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1592 have mouse-face, look ``under'' the string for mouse-face from an
1593 overlay.
1594 (fast_find_position): Add parameter STOP. In the final row, stop
1595 before glyphs having STOP as object. Don't consider glyphs that
1596 are not from a buffer.
1597
e3b22517
GM
1598 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1599
9a249bba
EZ
16002001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1601
1602 * fns.c (Fmd5): Doc fix.
1603
c9979669
GM
16042001-08-31 Gerd Moellmann <gerd@gnu.org>
1605
1606 * composite.c (update_compositions): Do nothing if
1607 inhibit-modification-hooks is set.
1608
9584e63a
GM
16092001-08-30 Gerd Moellmann <gerd@gnu.org>
1610
986ec8f2 1611 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1612 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1613 glyph matrices etc. in a core dump.
1614
92a25631
GM
1615 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1616 (syms_of_xdisp): Initialize them.
1617 (handle_single_display_prop): Don't change point, bind `object',
1618 `position', and `buffer-position' instead to the object having the
2ee1aa00 1619 `display' property, position in the object and position in the buffer.
92a25631 1620
9584e63a
GM
1621 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1622 of the buffer if REPLACE is non-nil.
1623
d38633a3
GM
16242001-08-29 Gerd Moellmann <gerd@gnu.org>
1625
1626 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1627
f4fccc1e
EZ
16282001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1629
1630 * w32term.c (x_set_glyph_string_background_width)
1631 (show_mouse_face): Track the last changes in xterm.c.
1632
eaaa65b0
GM
16332001-08-28 Gerd Moellmann <gerd@gnu.org>
1634
7b0870b2
GM
1635 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1636 string's background width so that multi-line mouse-face is drawn
1637 to the right edge of the window.
1638 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1639 glyphs.
1640
6b6e2422 1641 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1642 before inserting/writing glyphs.
6b6e2422 1643
eaaa65b0
GM
1644 * xdisp.c (display_mode_element): Use string_byte_to_char to
1645 determine character positions in strings, use chars_in_text
1646 instead of strwidth.
1647 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1648 a matrix as parameter; this is easier to use from GDB.
1649
9ad62cf8
MB
16502001-08-28 Miles Bader <miles@gnu.org>
1651
2ee1aa00
SM
1652 * textprop.c (Fprevious_single_char_property_change)
1653 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 1654
32171635
GM
16552001-08-27 Gerd Moellmann <gerd@gnu.org>
1656
47d57b22
GM
1657 * fileio.c (Finsert_file_contents): Allocate, restore, and
1658 free composition data in the case of REPLACE not being nil.
1659
1660 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1661 there exist overlay strings with newlines at POS.
1662 (text_outside_line_unchanged_p): Return 0 if changes start at
1663 START and overlays exist at START. Likewise for END.
1664 (try_window_id): Give up if init_to_row_end returns 0.
1665
32171635
GM
1666 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1667 unconditionally.
1668
e1249666
GM
16692001-08-24 Gerd Moellmann <gerd@gnu.org>
1670
33954c45
GM
1671 * keymap.c (access_keymap): Return the cdr of the binding of
1672 a generic character instead of its definition (KEY . BINDING).
1673
e1249666
GM
1674 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1675 to 0 also in the REPLACE case.
1676
fb4c6c96
AC
16772001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1678
1679 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1680 open to determine whether file is readable (as for DOS_NT).
1681
59ecf80b
GM
16822001-08-23 Gerd Moellmann <gerd@gnu.org>
1683
1684 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1685 coding.type is coding_type_no_conversion or coding_type_raw_text,
1686 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1687 non-nil instead of just setting enable_multibyte_characters in the
1688 buffer to nil.
1689
40e33037
GM
16902001-08-22 Gerd Moellmann <gerd@gnu.org>
1691
374388c3
GM
1692 * dispextern.h (struct face_cache): Add member
1693 menu_face_changed_p.
1694
1695 * xfaces.c (menu_face_changed_default): New variable.
1696 (menu_face_changed_count): Variable removed.
1697 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
1698 the menu_face_changed_default flag, otherwise set the FRAME's
1699 menu_face_changed_p flag if the `menu' face has been changed.
1700 Prevent calling set_font_frame_param if FRAME is t.
1701 (make_face_cache): Initialize cache's menu_face_changed_p
1702 from menu_face_changed_default.
1703 (realize_basic_faces): Look into the frame's face cache to
1704 determine if the menu appearance needs updating.
1705
40e33037
GM
1706 * keymap.c (access_keymap): Fix last change to not consider
1707 IDX when it has modifiers.
1708
859ea4b8
GM
17092001-08-21 Gerd Moellmann <gerd@gnu.org>
1710
1711 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
1712 . BINDING) exists, where GENERIC-CHAR is the generic character of
1713 the charset of IDX, return BINDING unless there exists a binding
1714 for IDX itself.
1715
e8660d73
GM
17162001-08-16 Gerd Moellmann <gerd@gnu.org>
1717
cca1b1d7
GM
1718 * xrdb.c (SYSV): Don't define on Solaris 2.
1719 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
1720
e8660d73 1721 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 1722 of the screen line, not text line, containing IT's current position.
e8660d73 1723
93aba6fc
GM
17242001-08-15 Gerd Moellmann <gerd@gnu.org>
1725
288d4e06
GM
1726 * window.c (window_scroll_pixel_based): Don't recenter if
1727 PT is partially visible in the window.
1728
3452efc2
SM
1729 * xterm.c (expose_window_tree, expose_window, expose_line):
1730 Return 1 when overwriting mouse-face.
82f053ab
GM
1731 (expose_frame): If mouse-face was overwritten, redo it.
1732
93aba6fc
GM
1733 * xfaces.c (x_update_menu_appearance): Don't call
1734 set_frame_menubar, let the next redisplay do it.
1735
858a55c1
AI
17362001-08-14 Andrew Innes <andrewi@gnu.org>
1737
1738 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1739 drawing glyph string.
1740
3a990b67
EZ
17412001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1742
1743 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1744 running HI-UX/MPP.
1745
04386463
GM
17462001-08-14 Gerd Moellmann <gerd@gnu.org>
1747
1748 * xfaces.c (x_update_menu_appearance): Save and restore value of
1749 interrupt_input_blocked.
1750
3e6385a4
GM
17512001-08-13 Gerd Moellmann <gerd@gnu.org>
1752
b0e619b4
GM
1753 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1754 a line start, move back to the line start.
3452efc2 1755
0de73d5a
GM
1756 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1757 exactly when a mini-buffer is active.
1758
3e6385a4
GM
1759 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1760 in units of 1/8 character on non window-system frames.
1761 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1762
d1b5f629
EZ
17632001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1764
1765 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1766 a doc string.
1767
eaa2319f
GM
17682001-08-09 Gerd Moellmann <gerd@gnu.org>
1769
8e3189f0
GM
1770 * keyboard.c (Vpre_help_message): New variable.
1771 (syms_of_keyboard): Initialize and staticpro it.
1772 (show_help_echo): Record current message before displaying a
1773 help-echo, and restore that message when clearing the help.
1774
eaa2319f
GM
1775 * xfns.c (x_create_im): Remove prototype.
1776
1777 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1778
1779 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1780
eaa2319f
GM
17812001-08-08 Gerd Moellmann <gerd@gnu.org>
1782
1783 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1784 windows whose height has changed, disable partially visible lines.
eaa2319f 1785
17fdcfc8
GM
17862001-08-07 Gerd Moellmann <gerd@gnu.org>
1787
22d01aed 1788 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1789 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1790
17fdcfc8
GM
1791 * xdisp.c (start_display): Don't try to determine the continuation
1792 lines width if lines are truncated. It's superfluous and leads to
1793 incorrect results if POS is not visible in the window after
1794 reseating the iterator at the previous line start.
1795
8e3fe78e
GM
17962001-08-06 Gerd Moellmann <gerd@gnu.org>
1797
1798 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1799
98a8938c
GM
18002001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1801
1802 * alloc.c (init_stack): Remove declaration.
1803
18f9986a
GM
18042001-08-03 Gerd Moellmann <gerd@gnu.org>
1805
5e1f85e0
GM
1806 * keyboard.c (read_key_sequence): Check that key is an integer
1807 before comparing it with quit_char.
1808 (add_command_key): Use larger_vector.
1809 (read_char_x_menu_prompt): Instead of converting symbol and
1810 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1811 which cannot be confused with valid events.
5e1f85e0
GM
1812 (read_char): When reading from Vunread_command_events, check for
1813 events of the form (EVENT . disabled) instead of
1814 (EVENT . nil).
1815
18f9986a
GM
1816 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1817 a float, determine the max height from the frame's height.
1818
fbc7f2a6
GM
18192001-08-02 Gerd Moellmann <gerd@gnu.org>
1820
1821 * xdisp.c (redisplay_internal): Take message_cleared_p into
1822 account only if minibuf_level == 0.
1823
81b1a79d
GM
18242001-08-01 Gerd Moellmann <gerd@gnu.org>
1825
e5c60873
GM
1826 * xdisp.c (redisplay_internal): Add a check for the last
1827 displayed message.
3452efc2 1828
6e019995
GM
1829 * xdisp.c (message_cleared_p): New variable.
1830 (clear_message): Set message_cleared_p when clearing the current
1831 message.
1832 (redisplay_internal): Look at message_cleared_p to capture
1833 the case that the echo area should be cleared.
1834
308a74d8
GM
1835 * keyboard.c (command_loop_1): Fix spelling of
1836 resize_echo_area_exactly.
1837
3452efc2 1838 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
1839
1840 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
1841
81b1a79d
GM
1842 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
1843 current matrix when the window gets smaller.
1844
ada329e6
EZ
18452001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
1846
1847 * print.c (strout): Cast the character passed to insert_char to
1848 unsigned char, to avoid sign extension when it is promoted to int.
1849
ed86208c
GM
18502001-07-31 Gerd Moellmann <gerd@gnu.org>
1851
1852 * fileio.c (Finsert_file_contents): Don't treat a return value
1853 of 0 from emacs_read as an IO error.
1854
6594ac22
GM
18552001-07-30 Gerd Moellmann <gerd@gnu.org>
1856
cef68af5
GM
1857 * keyboard.c (abs): New macro.
1858 (double_click_fuzz): New variable.
1859 (make_lispy_event): Use it to determine what makes a double-click.
1860 (syms_of_keyboard): DEFVAR_INT it.
1861
6594ac22
GM
1862 * xmenu.c (set_frame_menubar): Take into account that
1863 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1864 <raeburn@gnu.org>.
1865
75c5350a
GM
18662001-07-27 Gerd Moellmann <gerd@gnu.org>
1867
1868 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
1869
1870 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
1871 of row's visible height.
1872
1873 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
1874 deal with the first overlay string having an image `display' property.
1875 (try_window_reusing_current_matrix, compute_line_metrics):
1876 Fix computation of row's visible height for the case that part of the
75c5350a
GM
1877 row is invisible above and part of the row is at the same time
1878 invisible below the window.
1879
ac49effe
GM
18802001-07-26 Gerd Moellmann <gerd@gnu.org>
1881
1882 * xfns.c (x-show-tip): Doc fix.
3452efc2 1883
ac49effe
GM
1884 * xfns.c (Vx_max_tooltip_size): New variable.
1885 (syms_of_xfns): DEFVAR_LISP it.
1886 (Fx_show_tip): Set frame's window_width to the width of the
1887 window. Use a maximum tooltip size specified by
1888 Vx_max_tooltip_size, if that has valid contents.
1889 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 1890
8c3b00cb
AI
18912001-07-26 Andrew Innes <andrewi@gnu.org>
1892
1893 * w32term.c (x_display_list): New variable.
1894 (w32_term_init): Set it.
1895
1896 * w32term.h (x_display_list): New extern.
1897
16098288
GM
18982001-07-26 Gerd Moellmann <gerd@gnu.org>
1899
1900 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
1901 is non-nil, instead of when redisplaying_p is non-zero.
1902 See comment there.
16098288
GM
1903 (mark_window_display_accurate_1): Add an assertion.
1904
64c5be50
GM
19052001-07-25 Gerd Moellmann <gerd@gnu.org>
1906
e743f599
GM
1907 * dispextern.h (struct it): Increase size of ctl_chars to 16.
1908
563b384d
GM
1909 * xfns.c (Fx_file_dialog): Block/unblock input while processing
1910 events so that we get a chance of processing expose events.
1911
64c5be50
GM
1912 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
1913
296808a5
GM
19142001-07-24 Gerd Moellmann <gerd@gnu.org>
1915
1916 * xfns.c (valid_image_p): Protect better against invalid image
1917 specifications. Previous code could signal an error.
1918
5247262a
GM
19192001-07-23 Gerd Moellmann <gerd@gnu.org>
1920
3452efc2 1921 * indent.c (current_column): Fix column computation in the
f1004faf
GM
1922 presence of display table entries.
1923 (current_column_1, Fmove_to_column, compute_motion): Likewise.
1924
dd42b31a
GM
1925 * dispnew.c (adjust_glyph_matrix): In the optimization for
1926 windows whose height has changed, use the new window height
1927 to compute which rows to invalidate.
1928
9e5a7f2a
GM
1929 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
1930 (MAX_10_EXP): New macro.
1931 (Fformat): Use it.
1932
5247262a
GM
1933 * coding.c (code_convert_region): Handle the multibyte case if
1934 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
1935
177ab8ce
GM
19362001-07-20 Gerd Moellmann <gerd@gnu.org>
1937
6e07c0a5
GM
1938 * dispextern.h (struct face): Change type of `stipple' to
1939 int; it's an ID.
1940
177ab8ce
GM
1941 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
1942
b5b80599
GM
19432001-07-19 Gerd Moellmann <gerd@gnu.org>
1944
4e2a256b
GM
1945 * dispnew.c (update_window): Don't set the cursor at the end
1946 of the update if display update has been paused.
1947
3452efc2 1948 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 1949
c1fd9232
KR
19502001-07-18 Ken Raeburn <raeburn@gnu.org>
1951
1952 * fns.c (Fset_char_table_default): Check that a charset is defined
1953 before checking its dimension.
1954
928a85c1
KR
19552001-07-17 Ken Raeburn <raeburn@gnu.org>
1956
1957 * coding.c (setup_coding_system): Don't do any designation based
1958 on reg_bits if charset is not yet defined.
1959
fb4c6c96 1960 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
1961 pointer, using eassert.
1962
de11c1ea
GM
19632001-07-17 Gerd Moellmann <gerd@gnu.org>
1964
3452efc2
SM
1965 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
1966 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 1967
467f1209
GM
19682001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
1969
1970 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
1971
c3d6be34
GM
19722001-07-16 Gerd Moellmann <gerd@gnu.org>
1973
c1d61a7d
GM
1974 * fileio.c (unwind_read): Function removed.
1975 (read_non_regular, read_non_regular_quit): New functions.
1976 (Finsert_file_contents): When reading from non-regular files,
1977 arrange to catch a `quit' and terminate the loop. Rearrange
1978 code so that a `quit' when reading from a regular file doesn't
1979 insert text in the buffer.
1980
c3d6be34
GM
1981 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
1982 Clear faces afterwards.
1983 (clear_font_table): Take a x_display_info parameter. Don't free
1984 fonts being the default font of any frame on the given display.
1985
e06aa1f9
GM
19862001-07-13 Gerd Moellmann <gerd@gnu.org>
1987
1988 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
1989 instead of CHAR_STRING which can signal an error.
1990
1991 * charset.c (char_to_string_1): Extracted from char_to_string.
1992 Return -1 instead of signaling an error.
1993 (char_to_string): Use it.
1994
1995 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
1996
176c92e6
SM
19972001-07-12 Stefan Monnier <monnier@cs.yale.edu>
1998
1999 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2000 is t, don't try to append anything to it.
2001
1c56232f
EZ
20022001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2003
2004 * dired.c (file_name_completion): Pass dp->d_name to
2005 Fstring_match, not elt, which is always nil here.
2006
1d2b2268
GM
20072001-07-12 Gerd Moellmann <gerd@gnu.org>
2008
2009 * xselect.c (x_decline_selection_request): Handle errors
2010 caused by receivers that have vanished.
2011
2012 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2013 ignoring events on foreign windows in #if 0. Always dispatch
2014 the event after checking it with x_handle_property_notify.
2015
2016 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2017 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2018 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2019 (toplevel): Add prototypes for file-local functions.
2020 (x_atom_to_symbol): Remove DPYINFO parameter.
2021
fe5a0162
SM
20222001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2023
2024 * w32menu.c (menubar_selection_callback, w32_menu_show):
2025 Initialize `entry' to nil.
2026 (w32_dialog_show): Remove unused `save_wv' variable.
2027 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2028
a777242c
GM
20292001-07-11 Gerd Moellmann <gerd@gnu.org>
2030
8ee5b6a3
GM
2031 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2032
d0e2444e
GM
2033 * fileio.c (unwind_read): Print a message when discarding inserted
2034 text or switching the buffer to unibyte. Change parameter.
2035 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2036
a777242c
GM
2037 * fileio.c (unwind_read): New function.
2038 (Finsert_file_contents): Record it as unwind-function for
2039 the case that reading is interrupted by C-g.
2040
ae794295
GM
20412001-07-10 Gerd Moellmann <gerd@gnu.org>
2042
fe5a0162 2043 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2044 update when scrolling_window returns 0.
2045
6b05fae3
GM
2046 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2047
2048 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2049 for the case that x_decode_color signals an error.
6b05fae3 2050
ae794295
GM
2051 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2052
bb6e8cee
GM
20532001-07-09 Gerd Moellmann <gerd@gnu.org>
2054
2055 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2056 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2057 around ioctls.
2058
36b40a8a
EZ
20592001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2060
24b97d4b
EZ
2061 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2062 doc string line for dos-timezone-offset.
2063
36b40a8a
EZ
2064 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2065 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2066 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2067 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2068
2069 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2070
0967b4b0
GM
20712001-07-05 Gerd Moellmann <gerd@gnu.org>
2072
f25cfe53
GM
2073 * sound.c: Include Emacs' header files with #include "...".
2074
0967b4b0
GM
2075 * eval.c (specbind): Additionally record the buffer that was
2076 current when a buffer-local or frame-local variable was bound.
2077
c347a1c3
GM
20782001-07-04 Gerd Moellmann <gerd@gnu.org>
2079
2080 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2081 to unibyte characters in unibyte buffers.
2082
6332ca8a
GM
20832001-07-03 Gerd Moellmann <gerd@gnu.org>
2084
38472d44
GM
2085 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2086 the frame on the binding stack. Change format of entries for
2087 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2088 (unbind_to): Handle unbinding a frame-local variable.
2089
6332ca8a 2090 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2091 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2092 (dump_glyph_row): Print row's continuation_lines_width.
2093 (try_window_id): Take the shortcut if ZV is visible in the
2094 window, but there are actually no changes at ZV.
2095
63d1b174
GM
20962001-07-02 Gerd Moellmann <gerd@gnu.org>
2097
4c175203
GM
2098 * xterm.h (x_free_dpy_colors): Add prototype.
2099
2100 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2101 right number of arguments.
2102
0b54ce28
GM
2103 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2104 ($(lwlibdir)TAGS): New target.
4c175203 2105 (TAGS): Fix dependency list.
0b54ce28 2106
63d1b174
GM
2107 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2108 with input blocked.
2109
d827466c
GM
21102001-06-30 Gerd Moellmann <gerd@gnu.org>
2111
2112 * emacs.c (main): Remove extern declaration for sys_nerr, which
2113 isn't used and causes a compilation error with GCC 3.0 on
2114 FreeBSD 4.3.
2115
b5cb1ada
GM
21162001-06-27 Gerd Moellmann <gerd@gnu.org>
2117
a5d3ec3f 2118 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2119 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2120 (toplevel): Include <signal.h> and syssignal.h.
2121
b5cb1ada
GM
2122 * sound.c (vox_configure, vox_close): Turn off atimers
2123 around ioctls.
2124
d9bad487
GM
21252001-06-26 Gerd Moellmann <gerd@gnu.org>
2126
fdbb67fe
GM
2127 * keyboard.c (read_char) <non_reread>: Record the previous idle
2128 start time before calling timer_stop_idle.
2129 (read_char) <reread_first>: After processing a help-echo event,
2130 restore the previous idle start time.
2131
d9bad487
GM
2132 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2133 the start of invisible text.
2134 (setup_for_ellipsis): New function.
2135 (next_overlay_string): After all overlay strings have been
2136 processed, display an ellipsis if necessary.
2137 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2138 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2139
2140 * dispextern.h (struct iterator_stack_entry): Add member
2141 display_ellipsis_p.
2142
2b9c25e0
GM
21432001-06-25 Gerd Moellmann <gerd@gnu.org>
2144
80de57df
GM
2145 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2146 on the value of the wait-for-wm frame parameter.
2147
2148 * xterm.h (struct x_output): Add member wait_for_wm.
2149
2150 * xfns.c (Qwait_for_wm): New variable.
2151 (x_frame_parms): Add entry for `wait-for-wm".
2152 (x_set_wait_for_wm): New function.
2153 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2154 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2155
2b9c25e0
GM
2156 * xdisp.c (try_window_id) <all changes below window end>: Don't
2157 take this shortcut if ZV is visible in the window.
2158 (try_window_id): When checking for window start being in changed
2159 text, don't check that the buffer's size has changed.
2160
f772775c
RS
21612001-06-23 Richard M. Stallman <rms@gnu.org>
2162
2163 * minibuf.c (Fcompleting_read): Doc fix.
2164
fa9090b8
GM
21652001-06-19 Gerd Moellmann <gerd@gnu.org>
2166
2167 * composite.c (Ffind_composition_internal): Accept ZV
2168 and a string's end position as POS.
2169
f6f1beba
GM
21702001-06-18 Gerd Moellmann <gerd@gnu.org>
2171
2172 * composite.c (Ffind_composition_internal): Check POS
2173 for validity.
2174
0ae83348
EZ
21752001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2176
2177 * editfns.c (Fmessage_box): If the frame is not under a window
2178 system, output the message in the echo area.
2179
e4cdc335
RS
21802001-06-14 Richard M. Stallman <rms@gnu.org>
2181
2182 * xdisp.c (try_window_id): When EOB is visible, don't treat
2183 insertion at EOB as if it were "off the bottom of the screen."
2184
a55a5f3c
AI
21852001-06-11 Andrew Innes <andrewi@gnu.org>
2186
2187 * w32proc.c (create_child): Add new parameter is_gui_app.
2188 (w32_executable_type): Add new parameter is_gui_app.
2189 (sys_spawnve): Use it.
2190 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2191 SIGQUIT. This matches better how the signals are interpreted by
2192 MSVC compiled programs.
2193 (syms_of_ntproc): Update docstring.
2194
1b85dc1c
SM
21952001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2196
2197 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2198 well otherwise note_mouse_highlight might optimize away highlighting
2199 if we pass over that same overlay again.
2200
b75f8eab
EZ
22012001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2202
2203 * lread.c (Fload): Document that the argument is run via
2204 substitute-in-file-name.
2205
94843cc1
GM
22062001-05-31 Gerd Moellmann <gerd@gnu.org>
2207
b14659e6
GM
2208 * Makefile.in (bootstrap-doc): New target.
2209 (bootstrap-emacs): Depend on it.
2210
0894672f
GM
2211 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2212 auto-save-list-file-name when shutting down Emacs, because
2213 creating the directory might signal an error, and leaves
2214 Emacs in a strange state.
2215
94843cc1
GM
2216 * term.c: (tty_cursor_hidden): New variable.
2217 (update_begin): Don't call tty_hide_cursor. Clean up.
2218 (update_end, set_terminal_window, set_scroll_region): Clean up.
2219 (ring_bell, reset_terminal_modes): Clean up.
2220 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2221 on tty_cursor_hidden.
2222 (write_glyphs): Call tty_hide_cursor.
2223
db3a49a6
SM
22242001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2225
2226 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2227
8bd189fb
GM
22282001-05-30 Gerd Moellmann <gerd@gnu.org>
2229
6f1be3b9
GM
2230 * xfns.c (enum image_value_type): New enumerator
2231 IMAGE_STRING_OR_NIL_VALUE.
2232 (parse_image_spec): Handle it.
2233 (xbm_format, pbm_format): Use it for :foreground and :background.
2234 (xbm_load, pbm_load): Check for nil color names.
2235
8bd189fb
GM
2236 * xterm.c (note_mouse_highlight): If an overlapping overlay
2237 exists, but we find that we highlight the same overlay as before,
2238 don't do the highlighting again.
2239
7bdba03c
GM
22402001-05-29 Gerd Moellmann <gerd@gnu.org>
2241
4c329aa8
GM
2242 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2243 Protect unibyte strings created by replacing their multibyte
2244 equivalents in menu_items.
2245
e15e2828
GM
2246 * keymap.c (Fsingle_key_description): NUL-terminate the string
2247 buffer before calling build_string.
2248
7bdba03c
GM
2249 * callproc.c (Fcall_process): Deal with decode_coding returning
2250 CODING_FINISH_INCONSISTENT_EOL.
2251
89c8dc6c
GM
22522001-05-28 Gerd Moellmann <gerd@gnu.org>
2253
db3a49a6 2254 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2255 an item's name with its key description in case the description
2256 is a multibyte string.
2257
2258 * keymap.c (Fsingle_key_description): Create a multibyte string
2259 only if necessary.
2260
eb04d6cd
GM
2261 * macros.c (Fstart_kbd_macro): Doc fix.
2262
8bd6307f
GM
2263 * xterm.c (cursor_in_mouse_face_p): New function.
2264 (x_draw_stretch_glyph_string): Use it to choose a different GC
2265 when drawing a cursor within highlighted text.
2266
e26c4089
GM
2267 * editfns.c (char_property_eq): Put in #if 0.
2268
2269 * indent.c (string_display_width): Put in #if 0.
2270
2271 * lread.c (Fload): Remove unused label.
2272
89c8dc6c
GM
2273 * termcap.c (speeds): Put in #if 0.
2274
9a1211f2
GM
22752001-05-18 Gerd Moellmann <gerd@gnu.org>
2276
29148a3f
GM
2277 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2278
9a1211f2
GM
2279 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2280 transformation matrix by 10.
2281
09393d07
GM
22822001-05-16 Gerd Moellmann <gerd@gnu.org>
2283
2284 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2285 only if it's equal to the former foreground pixel color.
db3a49a6 2286 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2287 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2288
460e6bae
GM
22892001-05-16 Dave Love <fx@gnu.org>
2290
2291 * insdel.c (signal_before_change, signal_after_change): Consider a
2292 local change hook which changes the buffer.
99c78ce8
GM
2293
2294 * process.c (read_process_output): Don't call signal_after_change
2295 and update_compositions after insert_from_string_before_markers.
2296
dbcf3c03
GM
22972001-05-16 Gerd Moellmann <gerd@gnu.org>
2298
a90b3d3c
GM
2299 * xfaces.c (split_font_name): Use the right field when
2300 checking for `[...]' syntax.
2301
1b7818b4
GM
2302 * buffer.c (copy_overlays): New function.
2303 (clone_per_buffer_values): Use it.
2304
2305 * buffer.h (OVERLAY_PLIST): New macro.
2306
9bae8781
GM
2307 * keymap.c (Fsingle_key_description): Replace a build_string with
2308 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2309
dbcf3c03
GM
2310 * fontset.c (Ffontset_info): Check that face is non-null
2311 before accessing its fields.
2312
8a1ae4dd
GM
23132001-05-15 Gerd Moellmann <gerd@gnu.org>
2314
18a0a39e
GM
2315 * keyboard.c (read_key_sequence): Prevent generating a fake
2316 prefix key twice.
2317
e335b66a
GM
2318 * xfaces.c (split_font_name): Handle `[...]' for the right
2319 font name fields.
2320
8a1ae4dd
GM
2321 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2322 of CCL_STAT_INVALID_CMD.
2323
3cf80731
SM
23242001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2325
33568849
SM
2326 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2327 in <var> has no default value yet.
2328
3cf80731
SM
2329 * xfaces.c (try_alternative_families): First try the FAMILY.
2330 And if nothing is found in the end, try again with scalable fonts.
2331 (try_font_list): Let try_alternative_families do a bit more of
2332 the work. Only use FAMILY if it is not nil.
2333 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2334
933b0249
GM
23352001-05-14 Gerd Moellmann <gerd@gnu.org>
2336
58e5af83
GM
2337 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2338 pointer shape when show_mouse_face has already done it.
33568849 2339
58e5af83 2340 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2341 full-width rows.
2342
7b16a6bf
GM
2343 * xfaces.c (split_font_name): Make sure to leave the loop
2344 with the right value of `i'.
3cf80731 2345
933b0249
GM
2346 * xfaces.c (split_font_name): Handle matrix transformations
2347 in the pixel and point size fields of XLFD font names.
2348 (xlfd_point_size): Likewise.
2349
dddcbf00
EZ
23502001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2351
3cf80731 2352 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2353 (x_to_w32_font): Add prototype.
2354
7689ef0b
EZ
2355 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2356 redefining, to avoid compiler warnings.
2357
e7c15bba
EZ
2358 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2359
dddcbf00
EZ
2360 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2361 (w32_get_bdf_glyph): Cast between unsigned char and char when
2362 passing arguments to subroutines, to shut up compiler warnings.
2363 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2364 GET_HEX_VAL.
2365
2366 * xfaces.c: Include keyboard.h before frame.h, not after it.
2367
2368 * widget.c: Include keyboard.h before frame.h.
2369
2370 * w32term.h (struct image, struct face): Forward declaration, to
2371 avoid compiler warnings.
2372
7bd2d083
GM
23732001-05-11 Gerd Moellmann <gerd@gnu.org>
2374
47e72862
GM
2375 * keyboard.c (read_key_sequence): Don't modify events when
2376 generating fake prefix keys (mode-line, scroll-bar, ...) since
2377 this prevents proper processing of such events when pushed back
2378 into unread-command-events.
2379
dd5f324b
GM
2380 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2381 actually redrawn. Make the function static.
2382 (note_mouse_highlight): Fix a case where the mouse cursor
2383 was changed back to the text cursor.
2384
2385 * xterm.h (clear_mouse_face): Remove prototype.
2386
d88a79d4
GM
2387 * xdisp.c (try_window_id): Fix the fix and set the right
2388 window_end_vpos.
2389
2390 * xdisp.c (try_window_id): Fix computation of window end in the
2391 case that lines were deleted at the end of the window. Add some
2392 more debug_method_adds.
0416532f 2393
7bd2d083
GM
2394 * xfaces.c (try_alternative_families): New function.
2395 (try_font_list): Use it. If ATTRS specifies a family, check
2396 fonts from that family first.
2397 (choose_face_font): Remove code setting the family part of
2398 the pattern to nil.
2399
23fca891
GM
24002001-05-10 Gerd Moellmann <gerd@gnu.org>
2401
ff9aa2ca
GM
2402 * xdisp.c (try_window_id): Fix case of all changes before
2403 the window start.
7b2654b5 2404
23fca891
GM
2405 * xdisp.c (try_window_id): Add some xasserts.
2406
e9726794
GM
24072001-05-09 Gerd Moellmann <gerd@gnu.org>
2408
2409 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2410
9e53a675
GM
24112001-05-09 Dave Love <fx@gnu.org>
2412
2413 * xdisp.c (GIVE_UP): Fix for K&R C.
2414
0d487c52
GM
24152001-05-09 Gerd Moellmann <gerd@gnu.org>
2416
fe88d421
GM
2417 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2418
0d487c52
GM
2419 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2420 back to the text cursor shape without need.
2421
1e9fc92e
GM
24222001-05-07 Gerd Moellmann <gerd@gnu.org>
2423
a2a6232e
GM
2424 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2425
2426 * dispextern.h (inverse_video): Declare extern.
2427
1e9fc92e
GM
2428 * keyboard.c (delete_kboard): Handle the case that selected_frame
2429 has been deleted in the course of x_connection_closed.
2430
12949a7f
EZ
24312001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2432
7b2654b5
SM
2433 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2434 Fix the change from 2001-04-30.
12949a7f 2435
2fa2f461
GM
24362001-05-03 Gerd Moellmann <gerd@gnu.org>
2437
a779d213
GM
2438 * xfns.c (file_dialog_unmap_cb): New function.
2439 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2440 where a dialog is closed via the window manager.
2441
7b2654b5 2442 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2443 the window start or all below the window end mostly rewritten.
2444 (redisplay_window): Move the tests if try_window_id is
2445 applicable to try_window_id.
2446 (GIVE_UP): New macro.
2447
3356df63
GM
24482001-05-02 Gerd Moellmann <gerd@gnu.org>
2449
a39202f6 2450 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2451 currently being updated, mark the frame garbaged.
2452 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2453 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2454
3356df63
GM
2455 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2456 again if it has already been drawn.
2457
a9d2fd1d
SM
24582001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2459
2460 * syntax.c (update_syntax_table): Check that oldi has the same
2461 properties as old_prop before deciding not to invalidate.
2462
c95fc5f1
GM
24632001-04-30 Gerd Moellmann <gerd@gnu.org>
2464
a9793e45
GM
2465 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2466 read-only text that is so because of text properties.
2467
c95fc5f1 2468 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2469 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2470 windows that are components of a Lucid menu bar.
2471
5a5d9185
GM
24722001-04-27 Gerd Moellmann <gerd@gnu.org>
2473
2474 * term.c (turn_on_face): Fix reverse video handling on terminals
2475 that don't support colors.
2476
ba973f7a
GM
24772001-04-26 Gerd Moellmann <gerd@gnu.org>
2478
2479 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2480 a non-buffer.
2481
8c56a983
GM
24822001-04-25 Gerd Moellmann <gerd@gnu.org>
2483
a728644c
GM
2484 * term.c (toggle_highlight): New function.
2485 (turn_on_face): Change handling of reverse video.
2486
7b2654b5
SM
2487 * process.c (wait_reading_process_input):
2488 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2489
bfd8410f
GM
2490 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2491 of the number of overlays to check.
2492
be2488ca
GM
2493 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2494
8c56a983
GM
2495 * xdisp.c (try_window_id): Fix a case where window_end_pos
2496 and window_end_bytepos were not adjusted.
2497
522d42f7
GM
24982001-04-23 Gerd Moellmann <gerd@gnu.org>
2499
2500 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2501 zero instead of -1.
2502
78c1afb6
EZ
25032001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2504
a9d2fd1d
SM
2505 * process.c (wait_reading_process_input) [!subprocesses]:
2506 Don't reference waiting_for_user_input_p, it's not defined in the
2507 branch without async subprocesses support.
78c1afb6 2508
a2fab450
GM
25092001-04-19 Gerd Moellmann <gerd@gnu.org>
2510
a122a38e
GM
2511 * keyboard.c (delete_kboard): Prevent a dangling reference
2512 from current_kboard to KB, which is freed.
2513
a9d2fd1d
SM
2514 * process.c (wait_reading_process_input):
2515 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
2516 read_key_sequence aware of buffer changes from under it.
2517
0f8d6dc7
GM
25182001-04-18 Gerd Moellmann <gerd@gnu.org>
2519
eeffb293
GM
2520 * xfaces.c (Qscalable_fonts_allowed): New variable.
2521 (realizing_basic_faces_p): Removed.
2fa2f461
GM
2522 (x_face_list_fonts): Special handling for realizing_basic_faces_p
2523 removed.
eeffb293 2524 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
2525 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
2526 for scalable-fonts-allowed to t.
eeffb293 2527
0f8d6dc7
GM
2528 * fileio.c (Finsert_file_contents): If the file size returned from
2529 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 2530 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 2531
eec2d1de
EZ
25322001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
2533
2534 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
2535 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
2536 (__memalign_hook): Make the two prototypes consistent.
2537
f4f480bd
GM
25382001-04-17 Gerd Moellmann <gerd@gnu.org>
2539
2540 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
2541 matrix of mini-windows.
2542
52283633
SM
25432001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2544
2545 * intervals.c (find_interval): Don't rebalance during signal handling.
2546
ec2423c9
GM
25472001-04-11 Gerd Moellmann <gerd@gnu.org>
2548
30cb0001 2549 * fns.c: Include blockinput.h.
52283633 2550
ec2423c9
GM
2551 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
2552
719d83ad
GM
25532001-04-10 Gerd Moellmann <gerd@gnu.org>
2554
60f8d735
GM
2555 * fns.c (Fcompare_strings): Fix return values.
2556
afffeb57
GM
2557 * window.c (window_scroll): Change the meaning of N to mean
2558 N screen-fulls or N lines.
2559 (window_scroll_pixel_based, window_scroll_line_based)
2560 (scroll_command, Fscroll_other_window): Change accordingly.
2561
52283633
SM
2562 * window.c (window_scroll_pixel_based, Frecenter):
2563 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2564 height of the window.
2565
2566 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2567 instead of using it.last_visible_y for the height of the window.
52283633 2568
719d83ad 2569 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2570 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2571
2572 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2573 able to write to hidden and system files. From Dan Holmsand
2574 <dan@eyebee.com>.
719d83ad 2575
8ddf3ee1
GM
2576 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2577 Holmsand <dan@eyebee.com>.
719d83ad 2578
522ed7fb
GM
25792001-04-09 Gerd Moellmann <gerd@gnu.org>
2580
9170e5d4
GM
2581 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2582
522ed7fb
GM
2583 * window.c (window_internal_height): Return 1 less if the
2584 window has a header line.
2585
2586 * xdisp.c (try_window_id): When scrolling on a terminal, take
2587 the change of window_internal_height into account.
2588
ceeb3d7d
EZ
25892001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2590
2591 * gmalloc.c (align): If the argument SIZE would overflow
2592 __malloc_ptrdiff_t, fail right away.
2593
63685b9d
GM
25942001-04-06 Gerd Moellmann <gerd@gnu.org>
2595
2596 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2597 Make sure the tooltip is completely visible.
2598 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2599
2600 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2601
2602 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2603
3ffb33bb
DL
26042001-04-06 Dave Love <fx@gnu.org>
2605
52283633
SM
2606 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2607 Fix test of `from'.
3ffb33bb 2608
869fb12c
GM
26092001-04-06 Gerd Moellmann <gerd@gnu.org>
2610
52283633 2611 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2612
869fb12c
GM
2613 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2614
441bf856
GM
26152001-04-05 Gerd Moellmann <gerd@gnu.org>
2616
4d664b04
GM
2617 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2618
52283633 2619 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2620
30ca89f5
GM
2621 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2622 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2623
2624 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2625 shell widget's position only if it is non-null.
2626
52283633
SM
2627 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2628 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2629
81a81c0f
GM
2630 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2631 FILENAME to bring it in synch with the documentation.
2632
441bf856
GM
2633 * xfaces.c (realizing_basic_faces_p): Renamed from
2634 realize_default_face_p.
2635 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2636 (realize_default_face): Don't set the flag.
2637
702a1e8e
GM
26382001-04-04 Gerd Moellmann <gerd@gnu.org>
2639
1013f4e3
GM
2640 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2641
52283633
SM
2642 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2643
1013f4e3
GM
2644 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2645 the buffer that was used for echoing.
2646
702a1e8e
GM
2647 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2648 (first_font_matching): Removed unused function.
2649 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2650 (may_use_scalable_font_p): Remove parameter FONT; rename
2651 parameter NAME to FONT.
2652 (x_face_list_fonts): Fix missing bounds check.
2653 (realizing_default_face_p): New variable.
2654 (realize_default_face): Set and clear that flag.
2655 (x_face_list_fonts): When called during the realization of the
2656 default face, and no matching fonts are found when ignoring
2657 scalable fonts and fonts matching a regexp from
2658 face-ignored-fonts, try without ignoring fonts.
2659
f9dbcda4
GM
26602001-04-03 Gerd Moellmann <gerd@gnu.org>
2661
ad18ffb1
GM
2662 * xfns.c (postprocess_image): New function.
2663 (lookup_image): Call it for all image types except PostScript.
2664 (x_kill_gs_process): Call postprocess_image.
2665
f9dbcda4
GM
2666 * xterm.c (x_use_underline_position_properties): New variable.
2667 (x_draw_glyph_string): Use it.
2668 (syms_of_xterm): DEFVAR_BOOL it.
2669
651f03b6
GM
26702001-04-02 Gerd Moellmann <gerd@gnu.org>
2671
2672 * xterm.c (x_alloc_nearest_color_1): New function.
2673 (x_alloc_nearest_color): Use it.
2674 (x_color_cells): Take a Display as argument, instead of a frame.
2675 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2676 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2677 (x_initialize): Register cvt_string_to_pixel as resource converter
2678 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2679
73d75a62
GM
26802001-03-30 Gerd Moellmann <gerd@gnu.org>
2681
b2046df8
GM
2682 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2683 (set_iterator_to_next): If a string from a display property ends,
2684 consider the case that this might also be the end of an
2685 overlay string having the display property.
2686
52283633 2687 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 2688
87d8eba4
GM
2689 * xdisp.c (reseat_to_string): Undo last change.
2690
73d75a62
GM
2691 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
2692 matrix of a window when the header line changes, when
2693 new rows are allocated, or when the width changes.
2694
911a2406
EZ
26952001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
2696
52283633 2697 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 2698
aea51abe
EZ
26992001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
2700
2701 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
2702 deprecated.
2703
176bc847
GM
27042001-03-29 Gerd Moellmann <gerd@gnu.org>
2705
ed31fabf
GM
2706 * data.c (Fsubr_interactive_form): New function.
2707 (syms_of_data): Defsubr it.
2708
176bc847
GM
2709 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
2710 (live_float_p, live_misc_p): Return 1 only if the offset of the
2711 pointer in its block is >= 0.
2712
e59d0e9d
GM
27132001-03-28 Paul Eggert <eggert@twinsun.com>
2714
2715 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
2716 microseconds calcuation. Avoid double-rounding problem.
2717 In doc string, warn that the result is approximate.
2718
f827b862
GM
27192001-03-28 Gerd Moellmann <gerd@gnu.org>
2720
30a3f61c
GM
2721 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
2722 bind `inhibit-eval-during-redisplay' to t.
2723
2724 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
2725
2726 * xdisp.c (inhibit_eval_during_redisplay)
2727 (Qinhibit_eval_during_redisplay): New variables.
2728 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
2729 don't eval, return nil instead.
2730 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
2731 Initialize Qinhibit_eval_during_redisplay.
2732
e719f5ae
GM
2733 * xdisp.c (reseat_to_string): If STRING is multibyte, set
2734 the iterator's multibyte_p flag.
2735
deb2613a
GM
2736 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2737 instead of setting it to zero; it's incremented for each frame
2738 where the menu face is changed.
2739
52283633
SM
2740 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2741 change bottom shadow accordingly.
2742
2743 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2744 intersections here.
2745 (expose_window): Do it here instead.
52283633 2746 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2747
f827b862
GM
2748 * bytecode.c (BYTE_CODE_QUIT): New macro.
2749 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2750
4bde0ebb
GM
27512001-03-27 Gerd Moellmann <gerd@gnu.org>
2752
607ec83c
GM
2753 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2754 Give up if matrix starts in an ellipsis.
2755 (init_from_display_pos): Do nothing if POS doesn't specify
2756 a dpvec_index but the iterator has such a position.
2757
0245398f
GM
2758 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2759
aba25348
GM
2760 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2761 x/y position is (0, 0) after destroying the menu bar, restore
2762 its original position.
2763
4bde0ebb
GM
2764 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2765 (init_from_display_pos): Use it.
2766 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2767
8cdb267e
GM
27682001-03-26 Gerd Moellmann <gerd@gnu.org>
2769
2770 * xdisp.c (try_window_id): Undo last change.
2771
9948db79
EZ
27722001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2773
2774 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2775
2776 * buffer.c (syms_of_buffer): Doc fix.
2777
2eddf899
GM
27782001-03-26 Gerd Moellmann <gerd@gnu.org>
2779
2780 * xfaces.c (x_update_menu_appearance): Use local variable
2781 popup_path for setting font resources.
2782
6c145d35
EZ
27832001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2784
6a65b1b5
EZ
2785 * frame.c (Fframe_list): Don't reference tip_frame if
2786 HAVE_WINDOW_SYSTEM is not defined.
2787
6c145d35
EZ
2788 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2789 <wl@gnu.org>.
2790
d74c1900
GM
27912001-03-25 Gerd Moellmann <gerd@gnu.org>
2792
20fbd925
GM
2793 * xdisp.c (init_from_display_pos): Test invisible property
2794 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2795
927c5b3b
GM
2796 * xdisp.c (redisplay_internal) <update one window>: Make sure
2797 last_arrow_position and last_arrow_string are set.
2798
d74c1900
GM
2799 * frame.c (Fframe_list): Don't return a tooltip frame.
2800
091f8878
GM
28012001-03-23 Gerd Moellmann <gerd@gnu.org>
2802
52283633
SM
2803 * xdisp.c (mark_window_display_accurate_1): New function,
2804 extracted from mark_window_display_accurate.
2805 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2806 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2807 (mark_window_display_accurate): Use it.
2808 (redisplay_internal): Use it for the selected window.
2809 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2810 for the selected frame.
2811
ac90c44f
GM
2812 * xdisp.c Use make_number, for readability.
2813 (try_window_id): Disable rows below the window end.
2814 (try_window_reusing_current_matrix): Use cursor_row_p.
2815 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2816 of rows.
2817 (init_from_display_pos): If POS specifies a position in a display
2818 vector, maybe get the iterator set up for that ellipsis.
43c09969 2819
091f8878
GM
2820 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2821
991786dd
EZ
28222001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2823
2824 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2825
6c29b43c
GM
28262001-03-23 Gerd Moellmann <gerd@gnu.org>
2827
2828 * xfaces.c (x_update_menu_appearance): Use a different path
2829 for Lucid popup menus.
2830
d8731202
SM
28312001-03-22 Stefan Monnier <monnier@cs.yale.edu>
2832
2833 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
2834
2835 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
2836 (string_buffer_position): Use `make_number'.
2837
f61a541b
GM
28382001-03-22 Gerd Moellmann <gerd@gnu.org>
2839
3c9e997b
GM
2840 * xfaces.c (x_update_menu_appearance): Renamed from
2841 x_set_menu_face_resources. Use different resources for popups.
2842
2843 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
2844 (GC_CHECK_STRING_BYTES): Don't define.
2845
364cd450
GM
2846 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
2847 Removed, together with subroutines.
2848 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 2849 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 2850
d8731202
SM
2851 * dispextern.h (x_set_menu_resources_from_menu_face):
2852 Remove prototype.
364cd450 2853
d8731202 2854 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
2855 Remove calls to x_set_menu_resources_from_menu_face.
2856
d8731202
SM
2857 * xfaces.c (xm_set_menu_resources_from_menu_face):
2858 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
2859
2860 * xmenu.c: Include widget.h.
2861 (single_submenu): Return int. Some cleanup.
2862 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
2863
140330de
GM
28642001-03-21 Gerd Moellmann <gerd@gnu.org>
2865
2866 * xterm.c (x_update_window_end): Handle overwritten mouse face
2867 also for tool bar windows.
2868 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2869 DRAW is DRAW_IMAGE_RAISED.
2870
1741905c
GM
28712001-03-20 Gerd Moellmann <gerd@gnu.org>
2872
fa88947e
GM
2873 * print.c (syms_of_print): Doc fixes.
2874
1741905c
GM
2875 * fns.c (Fmd5): Doc fix.
2876
ade0bee1
GM
28772001-03-19 Gerd Moellmann <gerd@gnu.org>
2878
357e7376
GM
2879 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2880 Clear area of the frame not occupied by the scroll bar.
2881
c2c097cc
GM
2882 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
2883 tip frame's root window buffer to *tip* right after creating
2884 the frame.
2885
ade0bee1
GM
2886 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
2887 is an integer don't have to be for space characters.
2888
88c6e37e
GM
28892001-03-16 Gerd Moellmann <gerd@gnu.org>
2890
52283633
SM
2891 * indent.c (current_column, current_column_1, Fmove_to_column)
2892 (compute_motion): Handle characters from display vectors differently.
88c6e37e 2893
c62eed76
KH
28942001-03-15 Kenichi Handa <handa@etl.go.jp>
2895
2896 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
2897 drawing glyph string.
2898
c899e7e6
GM
28992001-03-15 Gerd Moellmann <gerd@gnu.org>
2900
d0bbfc99
GM
2901 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
2902 (command_loop_1): Undo last change.
2903
03d1a189
GM
2904 * xterm.c (fast_find_position): Return the correct vpos.
2905
c899e7e6 2906 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 2907 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
2908 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
2909 Call store_symval_forwarding with BUF null.
2910 (set_internal): Call store_symval_forwarding with the BUF
2911 parameter passed to set_internal. Formerly, the value was always
2912 set in the current buffer; the buffer recorded in specbind for
2913 this case wasn't used.
2914 (arith_driver): Reindent.
2915
52283633
SM
2916 * buffer.c (swap_out_buffer_local_variables):
2917 Call store_symval_forwarding with BUF null.
c899e7e6
GM
2918
2919 * lisp.h (store_symval_forwarding): Change prototype.
2920
2921 * eval.c (specbind): Call store_symval_forwarding with BUF null.
2922
57ac7c81
GM
29232001-03-14 Gerd Moellmann <gerd@gnu.org>
2924
697617d9
GM
2925 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
2926 FOR_DELETION. Avoid resizing the mini-window of the selected
2927 frame if FOR_DELETION is set.
2928 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
2929 (Fmake_frame_invisible): Change calls to do_switch_frame for new
2930 signature.
2931
2932 * window.c (Fset_window_configuration): Change call to
2933 do_switch_frame to new format.
2934
2935 * keyboard.c (quit_throw_to_read_char): Change call to
2936 do_switch_frame to new format.
2937
2938 * lisp.h (do_switch_frame): Change prototype.
2939
819dce0f
GM
2940 * frame.c (Fframe_parameters): In the `buffer-list' frame
2941 parameter, store the buffer list of FRAME, not the list of the
2942 selected frame.
2943
57ac7c81
GM
2944 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
2945 box just because the glyph row's full_width_p flag is set.
2946
65008712
GM
29472001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
2948
2949 * xdisp.c (highlight_trailing_whitespace): On character terminals,
2950 skip the padding blanks inserted in extend_face_to_end_of_line,
2951 before checking for trailing whitespace.
2952
159cf431
GM
29532001-03-13 Gerd Moellmann <gerd@gnu.org>
2954
52283633 2955 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
2956 Remove special handling for LessTif/Motif.
2957 (toplevel): Don't include Xm/Xm.h.
2958
52283633
SM
2959 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
2960 Remove workaround code for LessTif; it doesn't work anymore.
2961
2564ea1b 2962 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 2963 Xm/ScrollBarP.h.
afcdc0a1 2964
52283633
SM
2965 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
2966 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
2967 contemporary LessTif.
2968
52283633
SM
2969 * xfaces.c (xm_set_menu_resources_from_menu_face):
2970 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 2971
159cf431
GM
2972 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
2973 removing button grabs.
2974
c6f7429a
KH
29752001-03-13 Kenichi Handa <handa@etl.go.jp>
2976
cb82d767
KH
2977 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
2978 and clip-large-size-font as obsolete.
2979
c6f7429a
KH
2980 * lread.c (read_multibyte): Check the validity of multibyte
2981 sequence. If invalid, return the first byte.
2982
760cefb5
GM
29832001-03-12 Gerd Moellmann <gerd@gnu.org>
2984
2985 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
2986 before running the command; timer functions or process
2987 filters may have set it.
2988
5141f9d0
EZ
29892001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
2990
2991 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2992 Doc fix.
2993
b6a15240
GM
29942001-03-12 Gerd Moellmann <gerd@gnu.org>
2995
2996 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
2997 to sprintf.
2998
95522746
GM
29992001-03-09 Gerd Moellmann <gerd@gnu.org>
3000
db14cfc5
GM
3001 * dispextern.h (string_buffer_position): Add prototype.
3002
52283633 3003 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3004 (single_display_prop_string_p): New functions.
3005
3006 * xterm.c (note_mouse_highlight): If there's no help-echo on
3007 a string, look at the buffer text ``under'' it.
3008
3009 * keyboard.c (make_lispy_event): Add string info to the event,
3010 analogous to what's done on mode lines.
3011 (read_key_sequence): For a click on a string, consider `local-map'
3012 and `keymap' of that string.
3013
52283633
SM
3014 * keyboard.c (make_lispy_event, make_lispy_movement):
3015 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3016
3017 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3018
3019 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3020 POS; return void.
3021
95522746
GM
3022 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3023 flags argument to emacs_open; it seems to conflict with O_EXCL.
3024
898a399d
KH
30252001-03-09 Kenichi Handa <handa@etl.go.jp>
3026
28cd4910
KH
3027 * composite.h (struct composition): Change types of members;
3028 glyph_len to unsigned, width to unsigned short.
898a399d 3029
4cdf6a6c
AI
30302001-03-08 Andrew Innes <andrewi@gnu.org>
3031
3032 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3033 menu titles.
3034
129004d3
GM
30352001-03-08 Gerd Moellmann <gerd@gnu.org>
3036
221dd3e7
GM
3037 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3038 instead of nil.
3039
52283633 3040 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3041 help-echo in strings.
3042 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3043 (fast_find_string_pos): New function.
3044
52283633
SM
3045 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3046 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3047
3048 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3049 Handle `mouse-face'.
3050
3051 * dispextern.h (face_at_string_position): Change prototype.
3052
52283633 3053 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3054
129004d3
GM
3055 * keyboard.c (make_lispy_event): Avoid generating drag events
3056 if the mouse hasn't actually moved to another buffer position.
52283633 3057
80c8ab8c
DL
30582001-03-08 Dave Love <fx@gnu.org>
3059
129004d3 3060 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3061
989521fd
GM
30622001-03-08 Gerd Moellmann <gerd@gnu.org>
3063
3064 * process.c (Fset_process_window_size): Fix a typo.
3065
bb5c338d
KH
30662001-03-08 Kenichi Handa <handa@etl.go.jp>
3067
3068 * coding.c (detect_coding_sjis): Do more rigid check.
3069 (detect_coding_big5): Likewise.
3070 (decode_coding_sjis_big5): Likewise.
3071 (Fdetect_coding_region): Call detect_coding_system with tailing
3072 anchor byte `\0' for more rigid detection.
52283633 3073 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3074 (Fdetect_coding_string): Likewise.
3075
8b8f9197
SM
30762001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3077
3078 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3079 a string before extracting its data.
3080
3bdf2660
GM
30812001-03-07 Gerd Moellmann <gerd@gnu.org>
3082
3083 * window.c (Frecenter): Rewrite code handling negative values
3084 of ARG on graphical frames.
3085
30862001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3087
3088 * window.c (displayed_window_lines): If W->start is outside the
3089 accessible portion of the buffer, call start_display with BEGV or
3090 ZV instead of W->start.
3091
471f86b9
GM
30922001-03-07 Gerd Moellmann <gerd@gnu.org>
3093
2ab62c6c
GM
3094 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3095
471f86b9
GM
3096 * process.c (Fset_process_filter): Don't crash if the input
3097 file descriptor of PROCESS is closed.
3098 (Fset_process_window_size): Likewise.
3099
101922c3
GM
31002001-03-06 Kenichi Handa <handa@etl.go.jp>
3101
3102 * xterm.c (XTflash): Make the timeout of select shorter, and call
3103 select repeatedly until the desired time expires.
3104
45d051a7
GM
31052001-03-06 Gerd Moellmann <gerd@gnu.org>
3106
3107 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3108
3109 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3110
3111 * lisp.h (Vwindow_list): Declare extern.
3112
8f372c46
EZ
31132001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3114
3115 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3116
f16a7aa5
GM
31172001-03-06 Gerd Moellmann <gerd@gnu.org>
3118
157ae273
GM
3119 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3120 to detect a case where we have to highlight a different region
3121 despite not having left the currently highlighted region.
3122 Set mouse_face_overlay in the x_display_info.
45d051a7 3123 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3124
3125 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3126
3127 * buffer.c (mouse_face_overlay_overlaps): New function.
3128
3129 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3130 (Qmouse_face): Declare extern.
3131
f16a7aa5
GM
3132 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3133 if face_change_count is non-zero.
3134
827afcac
KH
31352001-03-06 Kenichi Handa <handa@etl.go.jp>
3136
3137 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3138 that the source is unibyte.
3139
14c7242e
DL
31402001-03-05 Dave Love <fx@gnu.org>
3141
827afcac 3142 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3143
c28b847b
GM
31442001-03-05 Gerd Moellmann <gerd@gnu.org>
3145
3146 * minibuf.c (read_minibuf): Clean up the binding stack if
3147 called noninteractively.
3148
b86644f2
KH
31492001-03-05 Kenichi Handa <handa@etl.go.jp>
3150
3151 * coding.c (syms_of_coding): Docstring modified.
3152
203682cc 31532001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3154
3155 * charset.c (char_to_string): If a single byte char has modifier
3156 bits that can't be reflected to the character code, ignore them
45d051a7 3157 instead of signaling an error.
b86644f2 3158
e30bd7b7
EZ
31592001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3160
3161 * s/msdos.h: Update copyright notice.
3162
3163 * dosfns.h: Update copyright notice.
3164
3165 * dosfns.c: Update copyright notice.
3166
3167 * msdos.c: Update copyright notice.
3168
b52b65bd
GM
31692001-03-02 Gerd Moellmann <gerd@gnu.org>
3170
3171 * xterm.c (glyph_rect): New function.
3172 (XTmouse_position): Use it to raise the threshold for mouse
3173 movement event generation.
3174
53c4b1e6
EZ
31752001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3176
3177 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3178 specifies (reverse . t), reverse the initial screen colors.
3179 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3180 but we are reversing the colors, set bg_set, not fg_set.
3181 Likewise for setting background-color and reversing: set fg_set.
3182 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3183 in effect.
3184
3185 * xfaces.c (Finternal_set_lisp_face_attribute)
3186 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3187 parameters alist.
3188
f964b4d7
GM
31892001-03-02 Gerd Moellmann <gerd@gnu.org>
3190
ef53d75e
GM
3191 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3192 to a single slash in the middle of file names.
3193
52283633 3194 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3195 Accept only alphanumeric time zone names.
3196
f964b4d7
GM
3197 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3198 or width area.
3199 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3200 a widget to zero height.
52283633 3201
c3c45f65
GM
32022001-03-01 Gerd Moellmann <gerd@gnu.org>
3203
3204 * window.c (Fwindow_end): Call move_it_past_eol only if
3205 ending up on a partially visible line.
3206
028d739a
DL
32072001-03-01 Dave Love <fx@gnu.org>
3208
3209 * ccl.c (Fccl_execute): Doc fix.
3210
57c5889c
GM
32112001-03-01 Gerd Moellmann <gerd@gnu.org>
3212
35f59f6b
GM
3213 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3214 of the tool bar before calling x_figure_window_size.
3215
f84ff02c
GM
3216 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3217 NULL after destroying it, otherwise XTread_socket can access a
3218 destroyed widget when input is unblocked.
3219
8b8f9197 3220 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3221
57c5889c
GM
3222 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3223 same name as before, although there was a change in fontsets.
3224
224227d1
KR
32252001-02-28 Ken Raeburn <raeburn@gnu.org>
3226
4560730a
KR
3227 * lisp.h (Fframe_parameter): Declare.
3228
224227d1 3229 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3230 Lisp_Object.
224227d1 3231
ece93c02
GM
32322001-02-28 Gerd Moellmann <gerd@gnu.org>
3233
11ef99b9
GM
3234 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3235 NULL instead.
3236
3237 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3238 NULL instead.
3239
ece93c02
GM
3240 * alloc.c (toplevel): Include process.h.
3241 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3242 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3243 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3244 (allocate_vector, allocate_hash_table, allocate_window)
3245 (allocate_frame, allocate_process, allocate_other_vector):
3246 New functions.
ece93c02
GM
3247 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3248 (mark_maybe_pointer): New function.
52283633 3249 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3250 remain and not Lisp_Objects.
3251 (min_heap_address, max_heap_address): New variables.
3252 (mem_find): Return MEM_NIL if START is below min_heap_address or
3253 above max_heap_address.
3254 (mem_insert): Compute min_heap_address and max_heap_address.
3255
3256 * process.c (make_process): Use allocate_process.
3257
3258 * frame.c (make_frame): Use allocate_frame.
3259
3260 * window.c (make_window, make_dummy_parent): Use allocate_window.
3261 (Fcurrent_window_configuration): Use allocate_other_vector.
3262
3263 * lisp.h (allocate_vectorlike): Remove prototype.
3264 (allocate_vector, allocate_other_vector, allocate_frame)
3265 (allocate_window, allocate_process, allocate_hash_table):
3266 Add prototypes.
3267
3268 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3269 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3270
063af457
KH
32712001-02-27 Kenichi Handa <handa@etl.go.jp>
3272
3273 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3274 treat the produced bytes as a valid multibyte sequence.
3275
3276 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3277 (ccl_driver) <CCL_WriteMultibyteChar2>:
3278 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3279 <ccl_finish>: Set ccl->eight_bit_control properly.
3280
3281 * ccl.h (struct ccl_program): New member eight_bit_control.
3282
f58c6494
SM
32832001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3284
3285 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3286 accessible_keymaps_char_table.
3287 (accessible_keymaps_char_table): Obey `is_metized'.
3288 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3289 Lisp_Object.
3290
c596c392
GM
32912001-02-26 Gerd Moellmann <gerd@gnu.org>
3292
3293 * dispnew.c: Check HAVE_TERM_H before including term.h.
3294
425de386
AI
32952001-02-24 Andrew Innes <andrewi@gnu.org>
3296
3297 * makefile.w32-in: Update copyright notice.
3298
2ba11bbd
SM
32992001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3300
3301 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3302
66c56ed1
KH
33032001-02-24 Kenichi Handa <handa@etl.go.jp>
3304
4c1593ce
KH
3305 * Makefile.in (lisp): Add international/utf-8.elc.
3306
66c56ed1
KH
3307 * fontset.c (Fnew_fontset): Fix handling of the case that an
3308 element of FONTLIST is a cons of family and registry.
3309
796ead7e
JR
33102001-02-23 Jason Rumney <jasonr@gnu.org>
3311
3312 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3313 to height unconditionally.
3314
3315 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3316 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3317 (x_insert_glyphs): Call window_box_left to obtain the left
3318 x-coordinate of the area to shift.
3319
3320 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3321 safe_run_hooks.
3322
f6839838
AI
33232001-02-22 Andrew Innes <andrewi@gnu.org>
3324
52283633 3325 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3326 ($(BLD)\dispnew.obj):
3327 ($(BLD)\editfns.obj):
3328 ($(BLD)\fileio.obj):
3329 ($(BLD)\filelock.obj):
3330 ($(BLD)\keyboard.obj):
3331 ($(BLD)\w32proc.obj):
3332 ($(BLD)\process.obj):
3333 ($(BLD)\sysdep.obj): Ditto.
3334
3335 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3336 header files.
52283633
SM
3337 ($(BLD)/dispnew.$(O)):
3338 ($(BLD)/editfns.$(O)):
3339 ($(BLD)/fileio.$(O)):
3340 ($(BLD)/filelock.$(O)):
3341 ($(BLD)/keyboard.$(O)):
3342 ($(BLD)/w32proc.$(O)):
3343 ($(BLD)/process.$(O)):
f6839838
AI
3344 ($(BLD)/sysdep.$(O)): Ditto.
3345
c224f70b
GM
33462001-02-22 Gerd Moellmann <gerd@gnu.org>
3347
51695746
GM
3348 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3349 at the start of the function, check that the \n in it->c is
3350 from the iterator's current position.
52283633 3351
a61b7058
GM
3352 * xdisp.c (handle_single_display_prop): Add parameter
3353 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3354 properties which replace the display of text with something else.
3355 (handle_display_prop): Call handle_single_display_prop with
3356 additional argument saying if we already replaced text display
3357 with something else. Use AREF.
52283633 3358 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3359 (decode_mode_spec_coding): Use AREF and ASIZE.
3360
3473f362
GM
3361 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3362 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3363 * vmstime.h: Files removed.
52283633 3364
2bb58df3
GM
3365 * unexencap.c, unexfx2800.c: Files removed.
3366
c224f70b
GM
3367 * dispnew.c (direct_output_for_insert): Give up if we are showing
3368 a message or just cleared the message because we might need to
3369 resize the echo area window or display an empty echo area.
3370
ffc9ff0c
GM
33712001-02-21 Gerd Moellmann <gerd@gnu.org>
3372
0528abe1
GM
3373 * xdisp.c (redisplay_internal): Do the
3374 mark_window_display_accurate after all windows have been
3375 redisplayed because this call resets flags in buffers which are
3376 needed for proper redisplay.
3377
52283633
SM
3378 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3379 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3380 the old names.
3381
52283633
SM
3382 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3383 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3384
3385 * msdos.h (struct x_output): Rename busy_window to
3386 hourglass_window, busy_p to hourglass_p.
3387
52283633
SM
3388 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3389 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3390
3391 * xfns.c: Rename everything containing *busy_cursor* and similar
3392 to *hourglass*.
3393 (syms_of_w32fns): Rename x-busy-pointer-shape to
3394 x-hourglass-pointer-shape, display-busy-cursor to
3395 display-hourglass, busy-cursor-delay to hourglass-delay.
3396
3397 * w32fns.c: Rename everything containing *busy_cursor* and similar
3398 to *hourglass*.
3399 (syms_of_w32fns): Rename x-busy-pointer-shape to
3400 x-hourglass-pointer-shape, display-busy-cursor to
3401 display-hourglass, busy-cursor-delay to hourglass-delay.
3402
3403 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3404 of its busy_p flag.
3405
3406 * dispextern.h (start_hourglass, cancel_hourglass)
3407 (display_hourglass_p): Renamed from *busy_cursor*.
3408
ab2c5f0a
GM
34092001-02-20 Gerd Moellmann <gerd@gnu.org>
3410
d17e49a8
GM
3411 * keyboard.c (read_char): When an event from unread-command-events
3412 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3413
fa97adf6
GM
3414 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3415 equal to the current buffer.
3416
ab2c5f0a
GM
3417 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3418 nil, otherwise we're left with truncate_lines t when a message
3419 is printed with message-truncate-lines bound to t.
3420
aeac019e
GM
34212001-02-19 Gerd Moellmann <gerd@gnu.org>
3422
c8bc6f65
GM
3423 * window.c (Fmove_to_window_line): Undo last change.
3424 (displayed_window_lines): Call line_bottom_y to determine
3425 the line's bottom position.
3426
3427 * dispextern.h (line_bottom_y): Add prototype.
3428
52283633 3429 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3430 (pos_visible_p): Use it.
3431
980a2d69
GM
3432 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3433 set redisplaying_p to 0 here instead of in Frecursive_edit.
3434 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3435 set redisplaying_p.
3436
52283633 3437 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3438 New variables.
3439 (syms_of_xdisp): Initialize new variables.
3440 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3441 Specbind `inhibit-menubar-update' when updating the menu bar.
3442
65048e97
GM
3443 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3444 safe_run_hooks.
3445
3446 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3447 safe_run_hooks.
3448
a57c4026
GM
3449 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3450 is null.
3451
aeac019e
GM
3452 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3453 to the start of the file.
3454
76846b31
GM
34552001-02-16 Gerd Moellmann <gerd@gnu.org>
3456
f3f053f3 3457 * window.c (set_window_buffer): Fix last change.
52283633 3458
f3f053f3
GM
3459 * window.c (set_window_buffer): Set window's vscroll to 0.
3460
dad75588
GM
3461 * window.c (coordinates_in_window): Increase width of area
3462 where the vertical line can be dragged.
3463
c220b753
GM
3464 * xterm.c (x_set_glyph_string_background_width): Extend the
3465 background face to the end of the drawing area in the text
3466 area, only.
3467
c56b1c1b
GM
3468 * xdisp.c (handle_single_display_prop): Set iterator's position
3469 to where the `display' property starts, like for images.
3470 (dump_glyph): New function.
3471 (dump_glyph_row): Use it. Dump info about marginal areas.
3472
3473 * dispnew.c (direct_output_for_insert): Recognize more cases where
3474 glyphs can be written instead of being inserted.
3475
3476 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3477 the left x-coordinate of the area to shift.
3478
76846b31
GM
3479 * dired.c (directory_files_internal): Set result list to nil
3480 before retrying.
3481
0fc71a77
KH
34822001-02-15 Kenichi Handa <handa@etl.go.jp>
3483
3484 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3485 invalid multibyte sequence, treat *SRC as a character of
3486 eight-bit-graphic.
3487
25078b54
EZ
34882001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3489
3490 * textprop.c (Fset_text_properties): Doc fix.
3491
8399f8a0
GM
34922001-02-15 Gerd Moellmann <gerd@gnu.org>
3493
3494 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3495
9a2a6f73
DL
34962001-02-14 Dave Love <fx@gnu.org>
3497
3498 * coding.c: Doc and message fixes.
3499
bf853fee
AI
35002001-02-14 Andrew Innes <andrewi@gnu.org>
3501
3502 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3503 Emacs frame above the screen size.
3504
78c663d8
GM
35052001-02-14 Gerd Moellmann <gerd@gnu.org>
3506
3507 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3508
7cc9f69f
GM
35092001-02-13 Gerd Moellmann <gerd@gnu.org>
3510
0a411995
GM
3511 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
3512 case that TO ends up beyond ZV after running before-change-functions.
3513
5ddc1b75
GM
3514 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
3515 the selected window if it is showing the buffer in question.
3516
7cc9f69f
GM
3517 * dired.c (directory_files_internal): Initialize errno.
3518 (toplevel): Include errno.h.
3519
2e6621ca
GM
35202001-02-13 Kenichi Handa <handa@etl.go.jp>
3521
3522 * xfaces.c (best_matching_font): New parameter width_ratio.
3523 Multiply avgwidth by width_ratio.
3524 (choose_face_font): Call best_matching_font with width_ratio
3525 calculated from the column width of C.
3526
60222d69
AI
35272001-02-12 Andrew Innes <andrewi@gnu.org>
3528
3529 The following changes are to draw box lines inside characters area
3530 if line-width is negative.
52283633 3531
60222d69
AI
3532 * w32term.c (x_produce_image_glyph): Pay attention to the case that
3533 face->box_line_width is negative.
3534 (x_produce_stretch_glyph): Likewise.
3535 (x_produce_glyphs): Likewise.
3536 (x_estimate_mode_line_height): Likewise.
3537 (x_draw_glyph_string_background): Likewise.
3538 (x_draw_glyph_string_foreground): Likewise.
3539 (x_draw_composite_glyph_string_foreground): Likewise.
3540 (x_draw_glyph_string_box): Likewise.
3541 (x_draw_image_foreground): Likewise.
3542 (x_draw_image_relief): Likewise.
3543 (x_draw_image_foreground_1): Likewise.
3544 (x_draw_image_glyph_string): Likewise.
3545
9804b846
KH
35462001-02-09 Kenichi Handa <handa@etl.go.jp>
3547
3548 The following changes are to draw box lines inside characters area
3549 if line-width is negative.
52283633 3550
9804b846
KH
3551 * xterm.c (x_produce_image_glyph): Pay attention to the case that
3552 face->box_line_width is negative.
3553 (x_produce_stretch_glyph): Likewise.
3554 (x_produce_glyphs): Likewise.
3555 (x_estimate_mode_line_height): Likewise.
3556 (x_draw_glyph_string_background): Likewise.
3557 (x_draw_glyph_string_foreground): Likewise.
3558 (x_draw_composite_glyph_string_foreground): Likewise.
3559 (x_draw_glyph_string_box): Likewise.
3560 (x_draw_image_foreground): Likewise.
3561 (x_draw_image_relief): Likewise.
3562 (x_draw_image_foreground_1): Likewise.
3563 (x_draw_image_glyph_string): Likewise.
3564
3565 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3566 and :line-width can be negative.
52283633 3567 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3568
49be9f70
JR
35692001-02-09 Jason Rumney <jasonr@gnu.org>
3570
3571 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3572 characters the same as ASCII and latin-1.
3573 (x_display_and_set_cursor): Check for the focus frame's selected
3574 window instead of selected_window.
3575 (x_after_update_window_line): Don't clear if frame's internal
3576 border width is zero.
3577 (x_new_font): Don't change a tooltip's size.
3578 (w32_initialize): Set char_ins_del_ok to 1.
3579
3580 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3581 (x_set_font): If font hasn't changed, avoid recomputing
3582 faces and other things.
52283633
SM
3583 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3584 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
3585 (x_create_tip_frame): Prevent changing the tooltip's
3586 background color by specifying a color for the default font
3587 in .Xdefaults.
3588 (Qcancel_timer): New variable.
3589 (syms_of_w32fns): Initialize and staticpro it.
3590 (Fx_hide_tip, Fx_show_tip): Use it.
3591 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3592 the timer.
3593 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3594
3595 * w32.c (init_environment): Duplicate local string before putenv.
3596
555e35d2
SZ
35972001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3598
3599 * charset.c (Fstring): A typo.
3600
19c92c94
KH
36012001-02-09 Kenichi Handa <handa@etl.go.jp>
3602
e47a1c33
KH
3603 * charset.c (Fstring): If all arguments are less than 256, return
3604 a unibyte string.
3605
3606 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3607 return a unibyte string.
3608
19c92c94
KH
3609 * coding.c (code_convert_region): After detecting a coding, if
3610 nothing found, set coding->composing to COMPOSITION_NO.
3611 (decode_coding_string): Likewise.
3612
d8e675f5
SM
36132001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3614
3615 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3616 to avoid overflow.
3617
bd503487
KH
36182001-02-07 Kenichi Handa <handa@etl.go.jp>
3619
3620 * charset.c (parse_str_to_multibyte): New function.
3621
3622 * charset.h (parse_str_to_multibyte): Extern it.
3623
3624 * print.c (print_string): If we are going to print a unibyte
3625 string into a multibyte buffer, convert the string to multibyte by
3626 str_to_multibyte.
3627
a8370d72
AI
36282001-02-06 Andrew Innes <andrewi@gnu.org>
3629
3630 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3631 been created. It seems we can get sent window messages such as
3632 WM_ERASEBKGND before we properly update a frame.
3633
c363a1d6
GM
36342001-02-06 Gerd Moellmann <gerd@gnu.org>
3635
3636 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3637 Avoid some unnecessary cursor positioning.
3638
a08332c0
GM
36392001-02-05 Gerd Moellmann <gerd@gnu.org>
3640
52283633 3641 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3642 (LFACE_AVGWIDTH): New macro.
3643 (LFACEP): Use AREF.
3644 (check_lface_attrs): Check LFACE_AVGWIDTH.
3645 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3646 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3647 (merge_face_vectors): Check LFACE_AVGWIDTH.
3648 (Finternal_make_lisp_face): Use AREF.
3649 (xm_set_menu_resources_from_menu_face)
3650 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3651 (Finternal_lisp_face_empty_p): Use AREF.
3652 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3653 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3654 Compare average widths..
3655 (best_matching_font): Arrange for comparing average widths.
3656
52283633
SM
3657 * dispextern.h (enum lface_attribute_index):
3658 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3659
5cb3c8d4
DL
36602001-02-05 Dave Love <fx@gnu.org>
3661
3662 * puresize.h: Revert last change following loadup.el change.
3663
193fba87
AI
36642001-02-05 Andrew Innes <andrewi@gnu.org>
3665
3666 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3667 invocation of temacs, to work with Windows 2000.
3668 (bootstrap-emacs): Ditto.
3669
e16f52ce
GM
36702001-02-05 Gerd Moellmann <gerd@gnu.org>
3671
7a58ab59
GM
3672 * xterm.c (x_display_and_set_cursor): Check for the focus
3673 frame's selected window instead of selected_window.
3674
e89aaabd
GM
3675 * xdisp.c (try_scrolling): If point is in the line below the
3676 window, make sure to move the iterator at least a canonical
3677 char height down.
3678
52283633 3679 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 3680
789ce875
KH
36812001-02-05 Kenichi Handa <handa@etl.go.jp>
3682
52283633
SM
3683 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3684 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
3685 (ccl_driver): If the CCL program is terminated because of
3686 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3687 destination instead of throwing them away.
3688
20b28f82
GM
36892001-02-02 Gerd Moellmann <gerd@gnu.org>
3690
79fb38c0
GM
3691 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
3692 faces and other things.
3693
20b28f82
GM
3694 * xdisp.c (get_next_display_element): Fix case of empty
3695 display table entry.
3696
5a72551e
EZ
36972001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
3698
eb24d0bf
EZ
3699 * editfns.c (Fconstrain_to_field): Doc fix.
3700
6a3f48c7
EZ
3701 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
3702 into `thoroughly', to make it consistent with the doc string.
3703
5a72551e
EZ
3704 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
3705
01acdb05
GM
37062001-02-01 Gerd Moellmann <gerd@gnu.org>
3707
0353b28f
GM
3708 * search.c (search_buffer): Call set_search_regs with a byte
3709 position, not a character position.
3710
01acdb05
GM
3711 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
3712 minibuffer-only,
3713
e86b5133
EZ
37142001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
3715
3716 * frame.c (Fmodify_frame_parameters): Doc fix.
3717
7442878f
GM
37182001-01-31 Gerd Moellmann <gerd@gnu.org>
3719
01acdb05
GM
3720 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
3721 identifier which is not reserved by Standard C.
52283633 3722
7442878f
GM
3723 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
3724
3725 * window.c (enum window_part): New enumeration.
3726 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
3727 Qright_bitmap_area.
3728 (coordinates_in_window): Return an enumerator from enum
3729 window_part. Fix handling of right scroll bar.
3730 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
3731 `right-fringe' instead of `left-bitmap-area' and
3732 `right-bitmap-area'. Use enumerators from enum window_part
3733 instead of hard-coded integers.
52283633
SM
3734 (check_window_containing, window_from_coordinates):
3735 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3736 (syms_of_window): Replace Qleft_bitmap_area and
3737 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3738
7c132cba
EZ
37392001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3740
3741 * editfns.c (Fformat_time_string): Doc fix.
3742
c359dd9e
SM
37432001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3744
3745 * keymap.c (Fwhere_is_internal): Use the first valid binding
3746 if no ascii binding is found (when firstonly is t).
3747
ce070307
GM
37482001-01-31 Gerd Moellmann <gerd@gnu.org>
3749
b4f30ec5
GM
3750 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3751 instead of Finteractive_p.
3752
3753 * lisp.h (interactive_p): Add prototype.
3754
3755 * eval.c (interactive_p): New function.
3756 (Finteractive_p): Use it.
3757
ce070307
GM
3758 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3759
f57b6e64
DL
37602001-01-31 Dave Love <fx@gnu.org>
3761
d61c7afe
DL
3762 * .gdbinit (hook-run): Define to run xreload.
3763
f57b6e64
DL
3764 * textprop.c (Fset_text_properties): Fix newline in doc string.
3765
eef93f99
GM
37662001-01-30 Gerd Moellmann <gerd@gnu.org>
3767
52283633
SM
3768 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3769 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3770
3771 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3772 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3773 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3774
3775 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3776 height.
3777
d9c1f6f9
DL
37782001-01-30 Dave Love <fx@gnu.org>
3779
3780 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3781 AFTER_POTENTIAL_GC.
3782
e8f044a0
GM
37832001-01-29 Gerd Moellmann <gerd@gnu.org>
3784
52283633
SM
3785 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3786 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3787
8e1db7b3
EZ
37882001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3789
3790 * textprop.c (Fset_text_properties): Doc fix.
3791
4eefd9d2
GM
37922001-01-29 Gerd Moellmann <gerd@gnu.org>
3793
3794 * xdisp.c (forward_to_next_line_start): Remove xassert.
3795
fccb8288
EZ
37962001-01-29 Jason Rumney <jasonr@gnu.org>
3797
4eefd9d2 3798 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3799 returning without releasing it.
3800
76581eab
KH
38012001-01-29 Kenichi Handa <handa@etl.go.jp>
3802
3803 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3804 for '^', '$', and '\0'.
3805
83a96b4d
AC
38062001-01-28 Andrew Choi <akochoi@i-cable.com>
3807
5604ec34
AC
3808 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3809 regex for '^', '$', and '\0'.
3810
83a96b4d
AC
3811 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3812 only if current_sblock has been initialized.
3813
3814 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3815 terminal frame even if it is the only visible frame.
3816
c09a6440
KH
38172001-01-28 Kenichi Handa <handa@etl.go.jp>
3818
3819 * fontset.c (font_family_registry): Even if FONTNAME conform to
3820 XLFD, if it specifies other fields than family and registry,
52283633 3821 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3822 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3823 a signle byte character. Don't set FAMILY part to nil here.
3824 It is handled by the caller choose_face_font.
c09a6440
KH
3825 (Fnew_fontset): Call font_family_registry with FORCE 0.
3826 (Fset_fontset_font): Likewise.
3827
4dcd74e6
GM
38282001-01-27 Gerd Moellmann <gerd@gnu.org>
3829
3830 * xdisp.c (display_line): Don't treat a newline as fitting
3831 on the line.
3832
d2906bf8
GM
38332001-01-26 Gerd Moellmann <gerd@gnu.org>
3834
0130fe1a
GM
3835 * window.c (size_window): Set the window's orig_top to nil when
3836 changing heights, so that a future shrink_mini_window won't
3837 restore a bogus height.
3838
550f0e6a
GM
3839 * frame.c (do_switch_frame): If selected frame has a mini-window,
3840 resize that to exact size.
3841
b7b20fbd
GM
3842 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
3843
a47b7816
GM
3844 * xdisp.c (display_line): Simplify check for glyphs fitting
3845 entirely in the line.
3846
d2906bf8
GM
3847 * xfns.c (xic_style): New variable.
3848 (create_frame_xic): Move static variable to global scope for
550f0e6a 3849 the case that `static' gets defined away.
d2906bf8 3850
73df2b1e
KH
38512001-01-26 Kenichi Handa <handa@etl.go.jp>
3852
3853 * coding.c (decode_coding): Set a flag for inhibiting
3854 inconsistent eol.
3855 (code_convert_region): Always set saved_coding_symbol.
3856 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 3857 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 3858
6613cfc4
GM
38592001-01-25 Gerd Moellmann <gerd@gnu.org>
3860
c5e6e06b
GM
3861 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
3862 XClearArea.
3863
3864 * xterm.c (x_after_update_window_line): Don't clear if frame's
3865 internal border width is zero.
3866 (x_clear_area): New function.
3867 (x_after_update_window_line, x_clear_end_of_line)
3868 (x_scroll_bar_create, x_scroll_bar_set_handle)
3869 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
3870 instead of XClearArea.
3871
3872 * xterm.h (x_clear_area): Add prototype.
3873
6613cfc4
GM
3874 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
3875 which doesn't seem necessary anymore with Lesstif 0.92.
3876
650cc6cc
DL
38772001-01-25 Dave Love <fx@gnu.org>
3878
34ac3367
DL
3879 * puresize.h (BASE_PURESIZE): Up to 720000.
3880
650cc6cc
DL
3881 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
3882
5e37dc22
GM
38832001-01-25 Gerd Moellmann <gerd@gnu.org>
3884
e1e441f9
GM
3885 * xdisp.c (echo_area_display): Don't call redisplay_internal
3886 when Emacs is shutting down. We can't run hooks etc. that
3887 would be necessary to do a redisplay.
3888
5e37dc22
GM
3889 * lread.c (read_integer): Use type EMACS_INT instead of int.
3890
0fb94c7f
EZ
38912001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
3892
3893 * ccl.c (ccl_driver): Fix last change.
3894
e3778624
KH
38952001-01-25 Kenichi Handa <handa@etl.go.jp>
3896
3897 * ccl.h (sturct ccl_program): New member suppress_error.
3898
bb264518 3899 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
3900 insert error message to the output.
3901 (setup_ccl_program): Initialize ccl->suppress_error to 0.
3902
3903 * coding.h (struct coding_system): New member suppress_error.
3904
3905 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
3906 (Fset_terminal_coding_system_internal): Set the member
3907 suppress_error to 1.
3908 (Fset_safe_terminal_coding_system_internal): Likewise.
3909
245ed2b1
SM
39102001-01-24 Stefan Monnier <monnier@cs.yale.edu>
3911
3912 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
3913 as if it was a `charset'.
3914
f9aaedb6
GM
39152001-01-24 Gerd Moellmann <gerd@gnu.org>
3916
3917 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
3918 value in where_is_cache; the next lookup in the cache returns
3919 something bogus if we do.
3920
c3902c3e
EZ
39212001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
3922
3923 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
3924 if HAVE_WINDOW_SYSTEM isn't defined.
3925
3497f73e
GM
39262001-01-24 Gerd Moellmann <gerd@gnu.org>
3927
e7e41584
GM
3928 * fns.c (sweep_weak_table): Fix code taking items out of
3929 the hash collision chain. Some cleanup.
3930
3497f73e
GM
3931 * xterm.c (x_new_font): Don't change a tooltip's size.
3932
3933 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
3934 background color by specifying a color for the default font
3935 in .Xdefaults.
3936
3d48e687
KH
39372001-01-24 Kenichi Handa <handa@etl.go.jp>
3938
96531b20
KH
3939 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
3940 a workaround for SunOS 4's cc.
3941 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
3942 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
3943 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
3944 statement.
3d48e687 3945
a30629d2
GM
39462001-01-23 Gerd Moellmann <gerd@gnu.org>
3947
3948 * xterm.c (x_set_window_size_1): New function extracted from
3949 x_set_window_size.
3950 (x_set_window_size): Use it.
3951 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
3952 doesn't have a widget, like tooltips.
3953
5a43decf
EZ
39542001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
3955
52283633 3956 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 3957
b0e98867
KH
39582001-01-23 Kenichi Handa <handa@etl.go.jp>
3959
3960 * fns.c (Fset_char_table_default): Fix to make sub char-table
3961 correctly.
3962
50606b4c
GM
39632001-01-22 Gerd Moellmann <gerd@gnu.org>
3964
cb2ddc53 3965 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
3966 a desired tool bar string, even if there are no tool bar items.
3967
57c28064
GM
3968 * xdisp.c (Ftool_bar_lines_needed): New function.
3969 (syms_of_xdisp): Defsubr it.
3970
50606b4c
GM
3971 * editfns.c (Fformat): Don't extend text properties from arguments
3972 to padding chars in the result.
3973
2f169c38
EZ
39742001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
3975
3976 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
3977
0f32f023
AI
39782001-01-20 Andrew Innes <andrewi@gnu.org>
3979
52283633 3980 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
3981 (w32_initialize): Don't set term hooks that aren't actually needed
3982 in windowed mode.
3983
3984 * xfaces.c (realize_default_face):
3985 (realize_face):
3986 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
3987
3988 * xdisp.c (handle_single_display_prop): Remove references to
3989 FRAME_W32_CONSOLE_P.
3990
52283633 3991 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
3992
3993 * frame.h (output_method): Remove output_w32_console method.
3994 (FRAME_W32_CONSOLE_P): Remove macro.
3995
3996 * frame.c (Qw32_console): Remove variable.
3997 (Fframep): Remove references to it.
3998 (syms_of_frame): Ditto.
3999 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4000
4001 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4002 redefinition.
4003
7173eada
KH
40042001-01-20 Kenichi Handa <handa@etl.go.jp>
4005
4006 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4007
755b45ce
AI
40082001-01-19 Andrew Innes <andrewi@gnu.org>
4009
4010 * w32.c (init_environment): Add a version-independent site-lisp
4011 directory to EMACSLOADPATH, after the version dependent one.
4012
0a949811
GM
40132001-01-19 Gerd Moellmann <gerd@gnu.org>
4014
8501998a
GM
4015 * editfns.c (Fbuffer_substring): Doc fix.
4016
52283633
SM
4017 * xdisp.c (message_dolog, message2, message2_nolog):
4018 Rename parameter LEN to NBYTES.
0a949811 4019
e6ebcbbe
KH
40202001-01-19 Kenichi Handa <handa@etl.go.jp>
4021
200ecca2
KH
4022 * charset.c (strwidth): Use c_string_width.
4023 (c_string_width): New function.
4024 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4025 Caller changed.
4026
4027 * charset.h (c_string_width, lisp_string_width): Extern them.
4028
52283633 4029 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4030
e6ebcbbe
KH
4031 * indent.c (check_composition): Check validity of composition.
4032
200ecca2
KH
4033 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4034 characters by calling c_string_width.
4035 (x_consider_frame_title): Get byte length of frame tile string
4036 correctly.
4037 (display_mode_element): Pay attention to width of non-ASCII
4038 characters by calling strwidth.
4039
8692ca92
GM
40402001-01-18 Gerd Moellmann <gerd@gnu.org>
4041
8962e303
GM
4042 * xfns.c (Qcancel_timer): New variable.
4043 (syms_of_xfns): Initialize and staticpro it.
4044 (Fx_hide_tip, Fx_show_tip): Use it.
4045 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4046 the timer.
4047 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4048
91523be9
GM
4049 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4050
4051 * window.h (WINDOW_LIVE_P): New macro.
4052
b0b7ed0e
GM
4053 * window.c (window_size_fixed): New variable.
4054 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4055 the doc string.
4056
06bccf8e
GM
4057 * eval.c (specbind): If binding a per-buffer variable which
4058 doesn't have a buffer-local value in the current buffer, change
4059 the global value by changing the value of the symbol bound in all
4060 buffers not having their own value, to make it consistent with
4061 what happens with other buffer-local variables.
4062
8692ca92
GM
4063 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4064
4065 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4066 when searching for a newline.
4067
bb3a3b50
KH
40682001-01-18 Kenichi Handa <handa@etl.go.jp>
4069
4070 * xdisp.c (display_string): Fix previous change.
4071
c2cc16fa
JR
40722001-01-18 Jason Rumney <jasonr@gnu.org>
4073
4074 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4075 GLYPH_DEBUG is defined.
4076 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4077 true for images with `:ascent 100'.
4078 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4079 meantime, use face MOUSE_FACE_ID.
4080 If first glyph isn't a character glyph, use the ASCII NUL
4081 character to determine the face.
4082 (expose_area): Do not treat left margin specially.
4083 (note_mode_line_highlight): If no local_map, check global keymap.
4084 (note_mouse_highlight): Initialize overlay.
52283633 4085 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4086 (show_scroll_bars): Remove unused function.
4087 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4088 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4089 Clip to row.
52283633 4090 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4091 (x_free_frame_resources): Unload relief colors.
4092
9c11f79e
GM
40932001-01-17 Gerd Moellmann <gerd@gnu.org>
4094
3aec8722 4095 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4096 get_next_display_element when the newline is already found.
4097 This may change the iterator's position, when its current position is
3aec8722
GM
4098 equal to the iterator's stop_charpos.
4099
f3ffc2c3
GM
4100 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4101 zero, use this method only at the end of a line.
4102
52283633 4103 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4104 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4105 if SCALABLE_FONTS_P is set.
52283633 4106
d26d6fd9
GM
4107 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4108 so that scalable fonts are included.
4109
9c11f79e
GM
4110 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4111 In the cache, use a key containing the information if scalable
4112 fonts are included.
4113 (x_load_font): Adapt to change of keys in the font cache.
4114
41152001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4116
d26d6fd9
GM
4117 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4118 XListFonts to take advantage of font caching.
4119
9c11f79e
GM
4120 * xterm.c (x_list_fonts): Ensure caching font information when
4121 called for a null frame, which is the case frequently when Emacs
4122 starts.
4123
51446987
GM
41242001-01-17 Gerd Moellmann <gerd@gnu.org>
4125
f864120f
GM
4126 * xfns.c (QCconversion): Replaces QCalgorithm.
4127
4128 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4129
4130 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4131 of :algorithm.
52283633 4132
e37d1417
GM
4133 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4134 not everything could be displayed.
4135
51446987
GM
4136 * line.h, x-list-font.c: Files removed because unused.
4137
9ad4f3e5
AI
41382001-01-17 Andrew Innes <andrewi@gnu.org>
4139
4140 * dired.c (directory_files_internal): Convert result from readdir
4141 to a unibyte string initially, to avoid possible misinterpretation
4142 of some bytes as the internal form of Emacs characters.
4143
2eda09b5
KH
41442001-01-17 Kenichi Handa <handa@etl.go.jp>
4145
4146 * fns.c (concat): Be sure to avoid putting the same `composition'
4147 property on the adjacent regions.
4148
826f3788
GM
41492001-01-16 Gerd Moellmann <gerd@gnu.org>
4150
52283633 4151 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4152 (Fscroll_right, Fscroll_left): Set it here instead, if called
4153 interactively.
4154
d57b83b3
GM
4155 * buffer.c (Fset_buffer_modified_p): Set buffer's
4156 prevent_redisplay_optimizations_p flag.
4157
826f3788 4158 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4159 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4160 with additional arg.
4161
4162 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4163 Change prototype.
826f3788 4164
826f3788
GM
4165 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4166 FROM_WHERE, for debugging.
4167
261d788b
KH
41682001-01-16 Kenichi Handa <handa@etl.go.jp>
4169
4170 * ccl.c (Fregister_ccl_program): Handle the return value of
4171 resolve_symbol_ccl_program correctly.
52283633 4172 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4173
bccee4f2
GM
41742001-01-15 Gerd Moellmann <gerd@gnu.org>
4175
e4ded23c
GM
4176 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4177 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4178
4179 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4180 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4181 the display; we didn't open it.
4182
bccee4f2
GM
4183 * dispnew.c (save_or_restore_current_matrices): Function removed.
4184 (save_current_matrix, restore_current_matrix): New functions.
4185 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4186 restore the frame's current matrix. Due to the glyph pointer
4187 setup done in adjust_glyph_matrix, there is no easy way to make
4188 saving the current matrix in the desired matrix generally correct,
4189 so don't try it.
4190
ebeccffa
KH
41912001-01-15 Kenichi Handa <handa@etl.go.jp>
4192
4193 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4194 truncation glyphs.
4195 (display_line): Optimize for wide characters.
e4ded23c 4196 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4197 partially. On ttys, produce more than one truncation glyph for
4198 multi-column characters that don't fit on the line.
4199
64388126
KH
42002001-01-13 Kenichi Handa <handa@etl.go.jp>
4201
52283633
SM
4202 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4203 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4204
8edb0a6f
JR
42052001-01-13 Jason Rumney <jasonr@gnu.org>
4206
4207 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4208 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4209 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4210 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4211
52283633
SM
4212 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4213 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4214 (x_draw_image_glyph_string): Adapt to change of image margins.
4215
4216 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4217 variables.
4218
4219 * w32bdf.c (search_file_line, get_cached_font_char)
4220 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4221
4222 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4223
4224 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4225 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4226 (Fw32_send_sys_command): Remove unused variables.
4227 (w32_msg_pump): Add parentheses.
4228
4229 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4230 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4231 Add parentheses.
4232
4956d1ef
GM
42332001-01-12 Gerd Moellmann <gerd@gnu.org>
4234
b30623be
GM
4235 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4236 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4237 being a pair of margins.
4238 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4239 to DEFVAR_LISP. Extend doc.
4240
4241 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4242 margins.
4243 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4244 pair of integers `(X . Y)', use X for the horizontal and Y for the
4245 vertical margin.
4246 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4247 (parse_image_spec): Check it.
52283633
SM
4248 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4249 (tiff_format, gif_format, gs_format):
4250 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4251
52283633
SM
4252 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4253 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4254 (x_draw_image_glyph_string): Adapt to the change of image margins.
4255
4256 * dispextern.h (struct image): Replace member `margin' with
4257 `hmargin' and `vmargin'.
4258
4554cc79
GM
4259 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4260 and GLYPHS.
4261
4262 * dispnew.c (update_text_area): Put code which decrements the
4263 stop position when the row's face extends to the end of the
3bffc665 4264 line in #if 0.
4554cc79 4265
3cccce8d
GM
4266 * xfns.c (x_set_mouse_color): Fix color allocation.
4267
4956d1ef
GM
4268 * keyboard.c: Call get_local_map with new argument list.
4269
4270 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4271
4272 * intervals.h (enum map_property): Removed.
4273 (get_local_map): Change prototype.
4274
4275 * keymap.c: Call get_local_map with new argument list.
4276 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4277
2c2ff7f2
GM
42782001-01-11 Gerd Moellmann <gerd@gnu.org>
4279
a23887b9
GM
4280 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4281 of the size needed for the tool bar string. For the last image,
4282 use a `display' property that reaches to the end of the string.
4283
a7ee2d2e
GM
4284 * xselect.c (selection_request_dpyinfo): New variable.
4285 (x_handle_selection_request): Set it.
4286 (x_selection_request_lisp_error): Don't call
4287 x_decline_selection_request if selection request's display has
4288 been closed.
4289
52283633
SM
4290 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4291 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4292
457b792c
GM
42932001-01-10 Dave Love <fx@gnu.org>
4294
4295 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4296 ${SOME_MACHINE_LISP}, not ${lisp}.
4297
c1efd260
GM
42982001-01-10 Gerd Moellmann <gerd@gnu.org>
4299
52283633
SM
4300 * xdisp.c (display_line): On ttys, produce more than one truncation
4301 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4302
ac95a621
GM
4303 * xselect.c (x_reply_selection_request): Add a comment.
4304
c1efd260
GM
4305 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4306 XkbGetNames instead of XkbGetKeyboard.
4307
1bfb1345
DL
43082001-01-10 Dave Love <fx@gnu.org>
4309
4310 * sysdep.c (random): Revert the declaration.
4311
38119822
GM
43122001-01-09 Gerd Moellmann <gerd@gnu.org>
4313
52283633
SM
4314 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4315 Call function string_bytes.
35f464a7
GM
4316 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4317
4318 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4319 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4320 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4321 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4322 the current sblock.
4323 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4324 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4325 after sweeping strings, and at the end.
4326 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4327
38119822
GM
4328 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4329 ensure that pop_message is called.
4330
4331 * keyboard.c (Fexecute_extended_command): Use a
4332 record_unwind_protect to ensure that pop_message is called.
4333
4334 * lisp.h (push_message_unwind): Add prototype.
4335
4336 * xdisp.c (push_message_unwind): New function.
4337
4338 * fileio.c (do_auto_save_unwind): Do the pop_message here
4339 instead of in Fdo_auto_save.
4340 (Fdo_auto_save): Don't call pop_message.
4341
f47a9ec4
KR
43422001-01-08 Ken Raeburn <raeburn@gnu.org>
4343
4344 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4345 in inner block.
4346
a758f97d
GM
43472001-01-08 Gerd Moellmann <gerd@gnu.org>
4348
6d0afc03
GM
4349 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4350 when increasing window's vscroll.
4351
a758f97d
GM
4352 * macros.c (Qkbd_macro_termination_hook): New variable.
4353 (syms_of_macros): Initialize and staticpro it.
4354 (pop_kbd_macro): Run kbd-macro-termination-hook.
4355
4356 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4357
1bfb1345 43582001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4359
4360 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4361 arglist, for documentation's sake.
4362
0dac6924
AI
43632001-01-06 Andrew Innes <andrewi@gnu.org>
4364
4365 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4366 of *.pdb.
4367
8182406a
AI
43682001-01-05 Andrew Innes <andrewi@gnu.org>
4369
4370 * term.c (update_end): Don't check updating_frame; for some reason
4371 this can be 0 sometimes, such as after dismissing a popup menu,
4372 and isn't necessary given the explicit frame argument.
4373
3828218c
GM
43742001-01-05 Gerd Moellmann <gerd@gnu.org>
4375
4376 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4377 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4378
2f5ded21
GM
43792001-01-04 Gerd Moellmann <gerd@gnu.org>
4380
52283633 4381 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4382
4383 * xfns.c (x_create_tip_frame): Preserve the value of
4384 face_change_count around the creation of the tip frame.
52283633 4385
2f5ded21
GM
4386 * xfns.c (last_show_tip_args): New variable.
4387 (compute_tip_xy): New function.
4388 (Fx_show_tip): Reuse an existing tip frame, if possible.
4389 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4390
dfad65fa
DL
43912001-01-04 Dave Love <fx@gnu.org>
4392
64d4ec0f
DL
4393 * editfns.c (Fformat): Doc fix.
4394
dfad65fa
DL
4395 * systime.h (set_file_times): Prototype.
4396
4397 * widget.h (EmacsFrameSetCharSize_): Prototype.
4398
4399 * sysdep.c (random, srandom): Declare explicitly.
4400
4401 * dispextern.h (move_it_vertically_backward): Declare.
4402
85fe3b5e
GM
44032001-01-04 Gerd Moellmann <gerd@gnu.org>
4404
0f2ac578
GM
4405 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4406 like in Fx_create_frame.
4407
482cca61
GM
4408 * xfaces.c (set_font_frame_param): Don't do anything for
4409 non-graphical frames.
4410
85fe3b5e
GM
4411 * window.c (Fdelete_other_windows): Set window's window_end_valid
4412 to nil when changing the window's start. Don't change the
4413 window's start when its top position hasn't changed. If we do,
4414 this will set the window's optional_new_start, which act's like a
4415 force_start during redisplay with C-x 1 M-> under particular
4416 circumstances (see report from Per Starback to emacs-pretest-bug
4417 from 2000-12-13.).
4418
3e99d3b4
GM
44192001-01-03 Gerd Moellmann <gerd@gnu.org>
4420
a77dc1ec
GM
4421 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4422 short cut at the start of the function. Add an assertion.
4423 (reseat_at_next_visible_line_start): Add an assertion.
4424
2f3cad6c
GM
4425 * window.c (Frecenter): When changing the window start, set the
4426 window's window_end_valid to nil.
4427 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4428
4429 * dispextern.h (move_it_past_eol): Add prototype.
4430
4431 * xdisp.c (move_it_past_eol): New function.
4432
3e99d3b4
GM
4433 * window.c (Fwindow_end): Doc fix.
4434
44352001-01-03 Dave Love <fx@gnu.org>
4436
52283633 4437 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4438
bafb434c
GM
44392001-01-03 Gerd Moellmann <gerd@gnu.org>
4440
4441 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4442 the enabled_p flag of the glyph row at window_end_vpos to 0.
4443 (handle_single_display_prop): Fix last change.
4444
5297fb00
RS
44452001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4446
4447 * window.c (Frecenter): Doc fix.
4448
13d6a61c
AI
44492001-01-02 Andrew Innes <andrewi@gnu.org>
4450
4451 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4452
4453 * frame.h (output_method): Add output_w32_console method.
4454 (FRAME_W32_CONSOLE_P): New macro.
4455
4456 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4457 use output_w32_console method.
4458 (Qw32_console): New Lisp_Object.
4459 (Fframep): Return it.
4460 (syms_of_frame): Init it.
52283633 4461 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4462
4463 * xfaces.c (realize_default_face): Set face foreground and
4464 background to unspecified for w32_console frames.
4465 (realize_face): Realize face cache for w32_console frames.
4466 (realize_tty_face): Accept w32_console frames.
4467
52283633 4468 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4469 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4470 necessary, even if running interactively.
4471
4472 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4473 w32_console frames.
4474
52283633
SM
4475 * w32term.c (x_update_begin):
4476 (x_update_end):
4477 (x_clear_frame):
4478 (x_ins_del_lines):
4479 (x_change_line_highlight):
4480 (x_delete_glyphs):
4481 (w32_ring_bell):
4482 (x_update_begin):
4483 (x_update_end):
4484 (w32_reassert_line_highlight):
4485 (w32_frame_rehighlight):
13d6a61c
AI
4486 (w32_frame_raise_lower): Do nothing if not w32 frame.
4487
4488 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4489
4490 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4491 system doesn't tell us directly.
4492 (Fx_display_visual_class): Implement properly.
4493
d6bb0c0d
GM
44942001-01-02 Gerd Moellmann <gerd@gnu.org>
4495
4496 * window.c (Frecenter): Handle centering in graphical frames
4497 specially. Centering on the basis of line counts doesn't work
4498 reliably with variable-height lines.
52283633 4499
315f5865
EZ
45002001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4501
4502 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4503 and al[].
4504
52283633 4505 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
4506 (update_compositions): Remove unused variable `hook'.
4507
4508 * intervals.c (get_local_map): Remove unused variable `tem'.
4509
4510 * doprnt.c (doprnt1): Remove unused variable `size'.
4511
4512 * fns.c (Flength): Remove unused variable `tail'.
4513 (Fdelete): Remove unused variable `size'.
4514
4515 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
4516 and `gcpro2'.
4517
52283633 4518 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
4519
4520 * data.c (find_symbol_value): Remove extra 3rd argument in the
4521 call to swap_in_symval_forwarding.
4522
52283633 4523 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
4524
4525 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
4526 (trivial_regexp_p): Remove unused variable `c'.
4527 (boyer_moore): Remove unused variable `k'.
4528
4529 * indent.c (current_column): Remove unused variable `stopchar'.
4530 (Fcompute_motion): Remove unused variable `contin'.
4531
4532 * casefiddle.c (casify_object): Remove unused variable `tolen'.
4533
4534 * dired.c (directory_files_internal): Fix a typo in a comment.
4535 Remove an unused variable `handler'.
52283633 4536 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
4537 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
4538 on BSD4_2.
4539
52283633 4540 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
4541
4542 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
4543 and `buf'.
4544 (Fmarker_insertion_type): Remove unused variable `buf'.
4545
4546 * insdel.c (make_gap): Remove unused variable `result'.
4547
52283633 4548 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
4549 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
4550 (menu_bar_items): Remove unused function-scope variable `tem'.
4551
4552 * fontset.c (fontset_ref): Remove unused variable `i'.
4553 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 4554 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
4555 (make_fontset_for_ascii_face): Remove unused variable `name'.
4556 (fs_load_font): Remove unused variable `font_idx'.
52283633 4557 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
4558 (list_fontsets): Remove unused variable `tail'.
4559 (Fnew_fontset): Remove unused variables `family' and `registry'.
4560 (accumulate_font_info): Remove unused variable `tmp'.
4561 (Ffontset_font): Remove unused variable `id'.
4562 (syms_of_fontset): Remove unused variable `i'.
4563
4564 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4565 to x_term_init.
4566 (lookup_image): Remove unused variable `file'.
4567 (xbm_load): Remove unused variables `bitmap_data', `height', and
4568 `width'. Remove function-local variable `i', leave the
4569 block-local one.
4570 (gif_load): Remove unused variable `inc'.
4571
52283633 4572 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4573 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4574 leave only the one in the inner block.
4575
4576 * xfaces.c (face_fontset, realize_default_face): Remove unused
4577 variable `fontset'.
4578 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4579
4580 * term.c (encode_terminal_code): Remove unused variable `c'.
4581
4582 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4583 char *' instead of `char *'.
4584
4585 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 4586 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
4587 (Fchar_category_set): Remove unused variables `val', `charset',
4588 `c1' and `c2'.
4589
52283633
SM
4590 * coding.c (detect_coding_iso2022, setup_coding_system):
4591 Remove unused variable `i'.
315f5865
EZ
4592 (detect_coding_mask): Remove unused variable `idx'.
4593 (detect_coding): Remove unused variable `i'.
4594 (ccl_coding_driver): Remove unused variable `result'.
4595 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 4596 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
4597 (encode_coding_string): Remove unused variables `gcpro1' and
4598 `saved_coding_symbol'.
4599 (Ffind_coding_systems_region_internal): Remove function-local
4600 variable args[], leave only the block-local one.
4601 (code_convert_region1): Remove unused variable `len'.
4602
4603 * charset.c (char_printable_p): Remove unused variable `chars'.
4604 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4605 (str_to_multibyte): Remove unused variable `c'.
4606
4607 * window.c (size_window): Remove block-local variable `min_size'.
4608
4609 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4610 `header_line_height'.
4611 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4612 enum display_element_type.
4613
1a8a9daf
GM
46142001-01-02 Gerd Moellmann <gerd@gnu.org>
4615
6dde6abc 4616 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4617 statements that call X. Save away the error message in a local copy.
4618
1883b2c6
GM
4619 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4620 the start.
4621
a13be207
GM
4622 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4623 in or at the start of invisible text.
4624
1a8a9daf
GM
4625 * dispnew.c (update_window): Don't check_current_matrix_flags.
4626
3608c0f9
JR
46272001-01-01 Jason Rumney <jasonr@gnu.org>
4628
4629 * w32fns.c (x_figure_window_size): Do not allow new_height and
4630 new_width of frame to override specified values.
4631
abb1acc4
KH
46322000-12-30 Kenichi Handa <handa@etl.go.jp>
4633
52283633 4634 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4635
762a68ec
GM
46362000-12-29 Gerd Moellmann <gerd@gnu.org>
4637
52283633 4638 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4639 (update_window) [GLYPH_DEBUG]: Call it.
4640 (scrolling_window): Prevent including current rows which are below
4641 what's displayed in the window.
4642
4643 * xdisp.c (try_window_reusing_current_matrix)
4644 <new start <= old start>: Disable rows in the current matrix
4645 which are below the window after scrolling.
52283633 4646
762a68ec
GM
4647 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4648 is zero. It's not worth the complexity.
4649 (invisible_text_between_p): Put in #if 0 because unused.
4650
2d5912c1
GM
46512000-12-28 Gerd Moellmann <gerd@gnu.org>
4652
46f6a258
GM
4653 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4654 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4655
89f93679
GM
4656 * keyboard.c (echo_char): If C is an integer, always call
4657 push_key_description. Former code could signal an invalid
4658 character error.
4659
4660 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4661 If set, print multibyte text.
4662 (Fsingle_key_description): Call push_key_description with
4663 FORCE_MULTIBYTE set.
4664 (describe_buffer_bindings): Likewise.
4665
4666 * lisp.h (push_key_description): Add prototype.
4667
c06017fb
GM
4668 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4669 around the call to redisplay_internal.
4670
f1d2ce7f
GM
4671 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4672
2d5912c1
GM
4673 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4674
9371f831
KH
46752000-12-28 Kenichi Handa <handa@etl.go.jp>
4676
4677 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4678 (ccl_driver): New local variable `extra_bytes'.
4679
4680 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4681
52283633
SM
4682 * coding.c (setup_coding_system):
4683 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
4684 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4685
0c80628a
KH
46862000-12-28 Kenichi Handa <handa@etl.go.jp>
4687
4688 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4689 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4690 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
4691 (decode_composition_emacs_mule): New function.
4692 (decode_coding_emacs_mule): Decode composition sequence by calling
4693 decode_composition_emacs_mule.
4694 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
4695 (encode_coding_emacs_mule): Changed from macro to function.
4696 If a text contains compositions, encode them correctly.
0c80628a
KH
4697 (setup_coding_system): Set coding->commong_flags for emacs-mule so
4698 that decoding and encoding are required.
4699
3e32cc27
GM
47002000-12-27 Gerd Moellmann <gerd@gnu.org>
4701
5e25feee
GM
4702 * xfaces.c (PT_PER_INCH): New macro.
4703 (xlfd_point_size): Compute real point size from font's pixel size.
4704 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
4705 instead of 72.
4706
892d8fcd
GM
4707 * .gdbinit: Comment out the line pointing to the Lesstif source
4708 directory.
4709
12c8b416
GM
4710 * window.c (Frecenter): Use displayed_window_lines instead
4711 of window_internal_height.
4712
6061fbf0
GM
4713 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4714 instead of x-toolkit-scroll-bars-p.
4715 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
4716
4717 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4718 instead of x-toolkit-scroll-bars-p.
4719 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 4720
3e32cc27
GM
4721 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
4722 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
4723 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
4724 New variables.
4725 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
4726 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
4727 (build_frame_matrix_from_leaf_window): Remove unused code.
4728 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
4729 redisplay history.
4730 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
4731 (update_window) [GLYPH_DEBUG]: Likewise.
4732 (syms_of_display): Defsubr dump-redisplay-history.
4733
31798cfe
GM
47342000-12-23 Gerd Moellmann <gerd@gnu.org>
4735
f717c2ba
GM
4736 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4737 the end of the prompt. Set echo_after_prompt to the offset
4738 of echoptr in echobuf.
4739
aeb2b8fc
GM
4740 * xdisp.c (init_from_display_pos): Pop until the iterator's
4741 stack is empty; there may be frames for stretch or images
4742 on the stack.
4743
31798cfe
GM
4744 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4745 (save_or_restore_current_matrix): New function for the same
4746 purpose, but more efficient.
4747 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4748
f8156156
EZ
47492000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4750
4751 * xdisp.c (syms_of_xdisp): Fix last change.
4752
bdd6d4e8
GM
47532000-12-23 Gerd Moellmann <gerd@gnu.org>
4754
4755 * xdisp.c (syms_of_xdisp): Doc fix.
4756
4757 * xdisp.c (redisplay_window): Remove label restore_buffers;
4758 use finish_scroll_bars instead to make sure that scroll bars
4759 are redeemed. If we don't do this, flickering can result from
4760 scroll bars being destroyed and recreated.
4761
9436cdf9
JR
47622000-12-22 Jason Rumney <jasonr@gnu.org>
4763
4764 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4765 in the wrong colors when the foreground is not black.
4766 (expose_window): Don't redraw the window that's currently being
4767 updated.
4768
951f9df5
GM
47692000-12-22 Gerd Moellmann <gerd@gnu.org>
4770
856ff7a7
GM
4771 * window.c (size_window): When setting the window's too_small_ok
4772 flag, compare old size with minimum size depending on WIDTH_P,
4773 don't compare with window_min_width.
52283633 4774
951f9df5
GM
4775 * window.c (delete_window): Simplify somewhat.
4776 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4777 freeing window matrices. The flag windows_or_buffers_changed is
4778 set, so the next redisplay will consider all windows; this should
4779 suffice.
4780
886bc933
KH
47812000-12-22 Kenichi Handa <handa@etl.go.jp>
4782
4783 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4784
4785 * ccl.h (struct ccl_program): New member cr_consumed.
4786
4787 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4788 (CCL_READ_CHAR): Handle EOL conversion here.
4789 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4790
177f4e88
GM
47912000-12-21 Gerd Moellmann <gerd@gnu.org>
4792
52283633 4793 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4794
4795 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4796 otherwise tabs of different size compare equal.
4797
4798 * callint.c (Fcall_interactively): Prevent a compiler warning.
4799
4800 * print.c (print_unwind): Return nil.
4801 (PRINTDECLARE): Initialize all local variables.
4802 (print_preprocess): Add a default case.
4803
8e15274f
GM
4804 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4805
4806 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4807
52283633 4808 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4809 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4810
4811 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4812
4813 * dispnew.c (ensure_frame_matrix): Removed.
4814 (save_frame_matrix, restore_frame_matrix): New functions.
4815 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4816
4817 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4818 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4819
99012074
AI
48202000-12-21 Andrew Innes <andrewi@gnu.org>
4821
4822 * w32term.c (x_update_begin): Regenerate the palette here, rather
4823 than for each window.
4824
4825 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4826 palette is NULL, since this corrupts memory! Also get
4827 display_info reference from frame.
4828
29ef7d2d
JR
48292000-12-21 Jason Rumney <jasonr@gnu.org>
4830
4831 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
4832
4833 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
4834 to avoid returning without releasing it.
3e27fa1f 4835
3f9d67a6
KH
48362000-12-21 Kenichi Handa <handa@etl.go.jp>
4837
587fc3f9
KH
4838 * keymap.c (push_key_description): Don't convert eight-bit-control
4839 and eight-bit-graphic to multibyte character.
4840
3f9d67a6
KH
4841 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
4842 generic character and CODE1 is nil, return the smallest character
4843 in CHARSET.
4844
774ba8c9
DL
48452000-12-20 Dave Love <fx@gnu.org>
4846
4847 * s/osf5-0.h (NSIG): Don't redefine.
4848
88416888
SM
48492000-12-20 Stefan Monnier <monnier@cs.yale.edu>
4850
4851 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
4852 excluding menu-bar and tool-bar.
4853 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
4854 (menu_item_p): Remove.
4855 (where_is_internal_1): Don't ignore menu-items.
4856
a6426c6f
GM
48572000-12-20 Gerd Moellmann <gerd@gnu.org>
4858
03ff8aab
GM
4859 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
4860 into account.
4861
4862 * window.c (make_window): Initialize window's min_hscroll.
4863 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
4864 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
4865 to zero.
4866 (struct saved_window): New member min_hscroll.
4867 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
4868 (Fset_window_configuration): Set window's min_hscroll.
4869 (save_window_save): Save window's min_hscroll.
4870 (compare_window_configurations): Compare min_hscroll values.
4871
4872 * window.h (struct window): New member min_hscroll.
4873
4874 * keyboard.c (echo_prompt): Prevent a compiler warning.
4875
8de4aaf8
GM
4876 * xdisp.c (try_cursor_movement): Fix last change. The real
4877 condition is that PT is at the end of the row, and should
4878 be displayed at the start of the next row.
52283633 4879
3f7e3031
GM
4880 * xdisp.c (try_cursor_movement): If we end on a partially
4881 visible line, end we already decided to scroll, return -1.
4882
a6426c6f
GM
4883 * dispextern.h (ensure_frame_matrix): Add prototype.
4884
4885 * window.c (delete_window, Fsplit_window)
4886 (Fset_window_configuration): Call ensure_frame_matrix.
4887
52283633
SM
4888 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
4889 New functions.
a6426c6f
GM
4890 (adjust_frame_glyphs_for_frame_redisplay): If display has been
4891 completed, call fake_current_matrices instead of marking frame
4892 garbaged.
4893
57fa2774
JR
48942000-12-20 Jason Rumney <jasonr@gnu.org>
4895
4896 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
4897
d925df90
EZ
48982000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
4899
4900 * fns.c (Frequire): Doc fix.
4901
7b93a85b
GM
49022000-12-19 Gerd Moellmann <gerd@gnu.org>
4903
52283633 4904 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 4905
c74e645b
GM
4906 * dispnew.c (direct_output_for_insert): Fix check for mini-window
4907 currently displaying a message.
4908
7b93a85b
GM
4909 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
4910 xterm.h.
4911 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
4912
90d97e64
AI
49132000-12-18 Andrew Innes <andrewi@gnu.org>
4914
4915 * w32.c (w32_strerror): New function.
4916
4917 * w32.h (w32_strerror): New extern.
4918
4919 * w32fns.c (Fw32_shell_execute): Use it.
4920
91c9e6ce
GM
49212000-12-18 Gerd Moellmann <gerd@gnu.org>
4922
4923 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
4924
6f4745e2
EZ
49252000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4926
4927 * msdos.c (IT_set_face): Obey inverse_video.
4928
c9e088ce
KH
49292000-12-18 Kenichi Handa <handa@etl.go.jp>
4930
4931 * dired.c (directory_files_internal): Always return decoded filenames.
4932
c3695f5f
GM
49332000-12-18 Gerd Moellmann <gerd@gnu.org>
4934
52d8e4ff
GM
4935 * xterm.c (x_connection_closed): Prevent being called recursively
4936 because of an error condition in XtCloseDisplay.
52283633 4937
62be9979
GM
4938 * xdisp.c (init_iterator): If noninteractive, and the frame's
4939 face cache is null, make one.
4940
52283633 4941 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 4942
c3695f5f
GM
4943 * process.c (wait_reading_process_input): Check for pending
4944 input when running timers.
4945
78555fbe
EZ
49462000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4947
52283633 4948 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 4949
b2b36264
KH
49502000-12-18 Kenichi Handa <handa@etl.go.jp>
4951
4952 * process.c (read_process_output): Don't run a filter if the code
4953 decoder produces nothing but carryover.
4954
9c543fbf
AI
49552000-12-17 Andrew Innes <andrewi@gnu.org>
4956
4957 * w32.c (sys_rename): Only check errno against EEXIST, and not
4958 EACCES, when determining whether rename failed because the target
4959 exists. This was resulting in indefinite looping on Windows 9x if
4960 the source file was locked by another process.
4961
4962 * w32fns.c (Ffile_system_info): New function.
4963 (syms_of_w32fns): Defsubr it.
4964
10c2b5a8
GM
49652000-12-17 Gerd Moellmann <gerd@gnu.org>
4966
b0228ace
GM
4967 * window.c (coordinates_in_window): Fix computation for
4968 position on vertical line between mode lines.
4969
10c2b5a8
GM
4970 * xfns.c (unwind_create_frame): Return t if frame was deleted.
4971 Don't alter tip_frame or tip_window.
4972 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4973 was deleted.
4974
c844a81a
GM
4975 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
4976 Don't alter tip_frame or tip_window.
4977 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4978 was deleted.
4979
6c825f8e
EZ
49802000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
4981
4982 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
4983 be consistent with the doc string. Reported by NAKAJIMA Mikio
4984 <minakaji@osaka.email.ne.jp>.
4985
af4bb4c8
KH
49862000-12-16 Kenichi Handa <handa@etl.go.jp>
4987
4988 * xfaces.c (Vface_ignored_fonts): New variable.
4989 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
4990 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
4991
8062e53a
GM
49922000-12-15 Gerd Moellmann <gerd@gnu.org>
4993
e87b8809
GM
4994 * dispnew.c (update_window): Detect pending input every nth line
4995 updated, i.e. do it depending on real work done, and not on the
4996 vpos of the line.
4997
4998 * xterm.c (expose_window): Don't redraw the window that's
4999 currently being updated.
5000
a6768cc5
GM
5001 * window.c (Fset_window_point): Remove test for
5002 cursor_in_non_selected_windows.
5003
4ea7fdca
GM
5004 * lread.c (read1): Recognize end of file after `\\'.
5005
8062e53a
GM
5006 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5007 not unwind_create_frame.
5008
bb7959c1
GM
50092000-12-15 Dave Love <fx@gnu.org>
5010
5011 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5012 bcopy & al.
5013
5014 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5015
ced04c42
KH
50162000-12-15 Kenichi Handa <handa@etl.go.jp>
5017
c5443913
KH
5018 * coding.c (setup_coding_system): Clear all members of the struct
5019 coding_system at first.
bc137305
KH
5020 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5021 argument.
5022 (code_convert_region): Don't override coding->src_multibyte and
5023 coding->dst_multibyte.
c5443913 5024
ced04c42
KH
5025 * fns.c (Fmd5): Docstring improved.
5026
c2d7f289
MB
50272000-12-15 Miles Bader <miles@gnu.org>
5028
5029 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5030 are actually marked as mode-lines; otherwise use
5031 estimate_mode_line_height.
5032
9d7d9263
GM
50332000-12-14 Gerd Moellmann <gerd@gnu.org>
5034
5035 * editfns.c (Fformat): Prevent a buffer overrun when the format
5036 specifies a precision.
5037
7cf0153a
EZ
50382000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5039
5040 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5041 argument is outside the range [2..3].
5042
1de0f662
AI
50432000-12-14 Andrew Innes <andrewi@gnu.org>
5044
5045 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5046 nothing to do. Bind inhibit-quit.
5047 (tip_frame): Make it a Lisp_Object.
5048 (x_create_tip_frame): Set tip_frame after it has been added to
5049 Vframe_list.
5050 (Fx_show_tip): Don't set tip_frame here.
52283633 5051 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5052 (unwind_create_frame, unwind_create_tip_frame): New functions.
5053 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5054 while a frame is only partially constructed.
5055
5056 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5057 (x_free_frame_resources): New function.
5058 (x_destroy_window): Use it.
5059
02387dcc
GM
50602000-12-14 Gerd Moellmann <gerd@gnu.org>
5061
5062 * xfns.c (Fx_backspace_delete_keys_p): New function.
5063 (syms_of_xfns): Defsubr it.
5064
5065 * config.in (HAVE_XKBGETKEYBOARD): Add.
5066
0544ef49
KH
50672000-12-14 Kenichi Handa <handa@etl.go.jp>
5068
98d62747
KH
5069 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5070 Always store string in multibyte representation in echobuf.
5071 (echo_char): Always store string in multibyte representation in
5072 echobuf.
5073 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5074 (read_key_sequence): Adjusted for the change of echo_prompt.
5075
a20193cd
KH
5076 * fns.c (Fmd5): Docstring improved.
5077
191b83b6
KH
5078 * lisp.h (detect_coding_system): Prototype adjusted.
5079
0544ef49
KH
5080 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5081 (detect_coding_emacs_mule, detect_coding_iso2022,)
5082 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5083 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5084 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5085 (detect_coding_mask, detect_coding_system): New argument
5086 MULTIBYTEP. Callers changed.
1da1bb05
KH
5087 (decode_coding_string): Set coding->src_multibyte and
5088 coding->dst_multibyte before calling detect_coding and detect_eol.
5089 Update them after some coding system is detected.
52283633 5090
d5b3eb1b
SM
50912000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5092
5093 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5094
5095 * keyboard.c (menu_bar_items, tool_bar_items):
5096 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5097
f7f8bb69
GM
50982000-12-13 Gerd Moellmann <gerd@gnu.org>
5099
52283633 5100 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5101 New variables.
5102 (unwind_create_frame, unwind_create_tip_frame): New functions.
5103 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5104 while a frame is only partially constructed.
5105
5106 * xterm.h (x_free_frame_resources): Declare.
5107
5108 * xterm.c (x_free_frame_resources): New function.
5109 (x_destroy_window): Use it.
5110
e10da507
GM
5111 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5112 don't interrupt the update for pending input initially, i.e.
5113 update at least some lines.
5114
5115 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5116
d5b3eb1b 5117 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5118
5119 * xfns.c (gray_bitmap_bits): Declare `char *'.
5120
90aa2856
GM
51212000-12-12 Gerd Moellmann <gerd@gnu.org>
5122
5123 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5124 lines start with a relief line.
5125
a308c9cd
DL
51262000-12-12 Dave Love <fx@gnu.org>
5127
5128 * window.c (Fdisplay_buffer): Doc fix.
5129 (Fwindow_list): Remove unused var.
5130
5131 * buffer.h (mmap_set_vars): Declare.
5132
5133 * window.h (Fset_window_point): Declare.
5134
d575011f
EZ
51352000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5136
bf6282d2 5137 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5138 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5139 variable `area'. When looking for a row under (X,Y), give up if some
5140 of the previous rows is not enabled.
d575011f 5141
ecf4d726
GM
51422000-12-12 Gerd Moellmann <gerd@gnu.org>
5143
2ebf6139
GM
5144 * window.c (Fset_window_point): If displaying cursors in windows
5145 other than the selected window, make sure redisplay updates
5146 other windows to show the new value of point in the window.
5147
5148 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5149
bfdb75ee
GM
5150 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5151 the buffer is the sole visible buffer when in the mini-buffer.
5152
52283633 5153 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5154 Bind `inhibit-read-only' to t.
5155 (unwind_with_echo_area_buffer): Use AREF.
5156
c0006262
GM
5157 * xfns.c (Fx_hide_tip): Simplified.
5158
52283633
SM
5159 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5160 instead of `1'.
e9a59cad 5161
ecf4d726
GM
5162 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5163
e5959a9a
GM
51642000-12-11 Gerd Moellmann <gerd@gnu.org>
5165
a3642e49 5166 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5167
44b5a125
GM
5168 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5169 nothing to do. Bind inhibit-quit.
5170 (tip_frame): Make it a Lisp_Object.
5171 (x_create_tip_frame): Set tip_frame after it has been added to
5172 Vframe_list.
5173 (Fx_show_tip): Don't set tip_frame here.
5174
5175 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5176
5177 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5178 Lisp_Object.
5179
5180 * dispextern.h: Change external declaration of tip_frame.
5181
d990421f
GM
5182 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5183 return an empty string.
5184
4db87380
GM
5185 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5186 of the window's update_mode_line flag, since the former is set by
5187 force-mode-line-update, not the latter. This makes
5188 column-number-mode slightly faster.
52283633 5189
e5959a9a
GM
5190 * xdisp.c (try_window_id) <all changes above window start>:
5191 Set the cursor.
5192
169fe44e
GM
51932000-12-11 Paul Eggert <eggert@twinsun.com>
5194
5195 * config.in (HAVE_FTELLO): Remove.
5196 (HAVE_FSEEKO): Add.
5197 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5198 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5199 HAVE_FTELLO.
5200 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5201 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5202
59ec59ae
MB
52032000-12-11 Miles Bader <miles@gnu.org>
5204
5205 * window.c (displayed_window_lines): Don't round up when
5206 converting empty space at bottom to lines.
ff904dd6
MB
5207 Handle non-newline-terminated final lines properly.
5208 (Fwindow_text_height): New function (used to be in lisp).
5209 (syms_of_window): Initialize it.
59ec59ae 5210
42ebfa31
SM
52112000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5212
5213 * syntax.c (scan_lists): Check that the right quote char has the
5214 right Sstring syntax when jumping over strings.
5215 (init_syntax_once): Use Smax rather than 13.
5216
5cdb3cf3
MB
52172000-12-09 Miles Bader <miles@gnu.org>
5218
5219 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5220 with PARTIALLY, inverting the sense.
5221 (window_scroll_pixel_based): Scroll partially visible lines into
5222 place if we hit the beginning or end of the buffer.
a12167c5
MB
5223 (displayed_window_lines): Don't include partially visible lines.
5224 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5225
842b2a94
GM
52262000-12-08 Gerd Moellmann <gerd@gnu.org>
5227
5228 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5229
5230 * tparam.c (tparam1): Change the way buffers are reallocated to be
5231 portable and less obfuscated.
5232
5233 * termcap.c (tgetent): Change the way buffers are reallocated to
5234 be portable and less obfuscated.
5235
5236 * macros.c (store_kbd_macro_char): Change the way buffers are
5237 reallocated to be portable and less obfuscated.
5238
5239 * lread.c (read1): Change the way buffers are reallocated to be
5240 portable and less obfuscated.
5241
5242 * doc.c (Fsubstitute_command_keys): Change the way buffers
5243 are reallocated so that it is portable.
5244
137cad7c
EZ
52452000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5246
5247 * dosfns.c (Ffile_system_info): New function.
5248 (syms_of_dosfns): Defsubr it.
5249
5c7f629c
SM
52502000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5251
5252 * alloc.c (gc_sweep): Add comment.
5253
959e647d
GM
52542000-12-07 Gerd Moellmann <gerd@gnu.org>
5255
52283633
SM
5256 * sound.c (vox_configure): Change order of ioctls.
5257 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5258 Ignore errors when changing volume.
5259 (vox_close): Don't reset the device.
5260
926b7e5e
GM
5261 * process.c (read_process_output): Make sure the process marker's
5262 position is valid when the process buffer is changed in
5263 after-change functions. W3 does that.
52283633 5264
959e647d
GM
5265 * xfns.c (x_free_gcs): New function.
5266
5267 * xterm.h (x_free_gcs): Add prototype.
5268
5269 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5270 freeing GCs here.
5271
5272 * xterm.c (x_destroy_window): Call x_free_gcs so that
5273 resources of non-toolkit X windows will be freed.
5274
478ea067
AI
52752000-12-07 Andrew Innes <andrewi@gnu.org>
5276
5277 * w32fns.c (xlfd_charset_of_font): Fix last change.
5278
fbee3231
DL
52792000-12-06 Dave Love <fx@gnu.org>
5280
67292061
DL
5281 * md5.h (__P): Don't define -- it comes from config.h.
5282
fbee3231
DL
5283 * strftime.c: Change some #if foo to #ifdef foo.
5284
4ee87dbb
AI
52852000-12-06 Andrew Innes <andrewi@gnu.org>
5286
5287 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5288
52283633 5289 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5290 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5291 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5292
9765b4a4
GM
52932000-12-06 Gerd Moellmann <gerd@gnu.org>
5294
d285b373
GM
5295 * alloc.c (gc_sweep): Prevent symbols read during loadup
5296 from being freed.
5297
384333ee
GM
5298 * xdisp.c (underlying_face_id): New function.
5299 (handle_face_prop, face_before_or_after_it_pos): Use it
5300 to determine the face ``under'' a string. Let strings inherit
5301 the face of the buffer under them.
5302
5303 * xfaces.c (face_at_string_position): Update function comment.
52283633 5304
d4b72d58
GM
5305 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5306 matrix if the window's left position has changed; we need to
5307 redraw it in this case.
5308
5309 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5310
e1d05387
GM
5311 * window.c (coordinates_in_window): Check mouse on mode-line or
5312 header-line first.
5313
eb1b0c74
GM
5314 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5315 advertized by the function documentation.
5316
d94d636f
GM
5317 * window.c (syms_of_window): Doc fix.
5318
3887b449
GM
5319 * sound.c (vox_configure): Set volume for left and right channel.
5320 (sound_cleanup): Return nil.
5321
efc8f57a
GM
5322 * xdisp.c (move_it_by_lines): Fix paren typo.
5323
9765b4a4
GM
5324 * xterm.c (x_load_font): Don't use the font's max_bounds for
5325 computing the height of the font. If max_bounds' ascent or
5326 descent are greater than the font's ascent or descent, this means
5327 glyphs overlap, which should be handled now by redisplay.
5328
6529ed87
GM
5329 * window.c (Veven_window_heights): New variable.
5330 (syms_of_window): DEFVAR_LISP it.
5331 (Fdisplay_buffer): Check Veven_window_heights before evening the
5332 window heights.
52283633 5333
0eb2ecde
MB
53342000-12-06 Miles Bader <miles@gnu.org>
5335
5336 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5337 update `default-frame-alist' instead of setting no frame parameters.
5338
03d7a167
KH
53392000-12-06 Kenichi Handa <handa@etl.go.jp>
5340
5341 * composite.c (update_compositions): Fix typo (use the correct
5342 variable).
5343
5f8803c2
JR
53442000-12-05 Jason Rumney <jasonr@gnu.org>
5345
5346 * md5.h: Remove underscores from function declarations.
5347 (__attribute__, __alignof__) [!__GNUC__]: Define.
5348
5349 * md5.c: Delay include of md5.h until after namespace cleaning.
5350
c28a075b
JR
5351 * makefile.w32-in (fns.o): Depend on md5.h
5352 (md5.o): New target.
5353 (sunfns.o): Remove.
5354
5355 * makefile.nt: Likewise.
5356
ff3c7056
JR
53572000-12-05 Jason Rumney <jasonr@altavista.net>
5358
5359 * w32term.c (expose_area): Complete last change.
5360
0c21eeeb
KR
53612000-12-05 Ken Raeburn <raeburn@gnu.org>
5362
5363 * minibuf.c: Include intervals.h.
5364
f201d732
JR
53652000-12-05 Jason Rumney <jasonr@gnu.org>
5366
5367 * w32term.c (x_produce_glyphs): If a font for a component of
5368 a composition is not found, use 1 pixel dot ascent and 0 dot
5369 descent value to avoid displaying terribly tall empty boxes.
5370 (expose_area): Pass x-coordinate relative to the exposed
5371 area to x_draw_glyphs instead of a window-relative coordinate.
5372
21999ab9
GM
53732000-12-05 Gerd Moellmann <gerd@gnu.org>
5374
4d2036e4
GM
5375 * xdisp.c (next_element_from_ellipsis): Save face before selective
5376 display in saved_face_id, and set face_before_selective_p.
5377 (reseat_1): Reset face_before_selective_p.
5378 (append_space, extend_face_to_end_of_line): If iterator's
5379 face_before_selective_p is set, use the face from saved_face_id.
5380 (extend_face_to_end_of_line): For tty frames, make sure to
5381 use the right face id when producing spaces at the end of
5382 the line.
5383
5384 * dispextern.h (struct it): Add face_before_selective_p.
5385
52be17cc
GM
5386 * keyboard.c (record_char): Don't record identical help-echo
5387 events in recent_keys.
5388
8a4f36cc
GM
5389 * xterm.c [USE_X_TOOLKIT]: Close the display.
5390 (xim_close_dpy): Handle case that the display has been closed.
5391
57d6e381
GM
5392 * xterm.c (x_destroy_window): Reset the frame's X window after
5393 destroying it.
5394
21999ab9
GM
5395 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5396 variable window_width.
5397 (line_draw_cost): Fix code skipping over spaces at the end of the
5398 line when must_write_spaces is not set.
5399 (scrolling_window): Fix code inserting runs in list of all runs.
5400
91372bb7
KH
54012000-12-05 Kenichi Handa <handa@etl.go.jp>
5402
5403 * coding.c (setup_coding_system): Be sure to initialize
5404 coding->category_idx.
5405
6c083b4c
GM
54062000-12-04 Gerd Moellmann <gerd@gnu.org>
5407
0c68ce6f 5408 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5409
6452929e
GM
5410 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5411 area to x_draw_glyphs instead of a window-relative coordinate.
5412
d7f31e22
GM
5413 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5414 error in the message.
5415
ae18aa3b
GM
5416 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5417 timer after having read a key. It's not good for code reading
5418 several keys in a loop, like an input method.
5419
caa15ef7
GM
5420 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5421 record undo information for format-decode.
5422
5423 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5424 current buffer is read-only, not if it isn't.
5425
6c083b4c
GM
5426 * keyboard.c (record_char): Record `help-echo' input events
5427 in recent_keys only if they display some help. Don't record
5428 `help-echo' events as macro char.
5429
caa15ef7
GM
54302000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5431
5432 * editfns.c (save_excursion_restore): Don't move point
5433 in another window if it is showing the wrong buffer.
5434 Avoid the call to Fwindow_live_p, for speed.
5435
5a13529b
KH
54362000-12-04 Kenichi Handa <handa@etl.go.jp>
5437
e225faa7
KH
5438 * xfaces.c (struct font_name): New member registry_priority.
5439 (split_font_name): Initialize the above member to zero.
5440 (concat_font_list): New function.
5441 (font_list): Include fonts of all alternative registries.
5442 (FONT_POINT_SIZE_QUANTUM): New macro.
5443 (better_font_p): Ignore point size difference less than
5444 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5445
e89648b4
KH
5446 * xterm.c (x_produce_glyphs): If a font for a component of
5447 a composition is not found, use 1 pixel dot ascent and 0 dot
5448 descent value to avoid displaying terribly tall empty boxes.
5449
5a13529b
KH
5450 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5451
d7935eb6
KR
54522000-12-03 Ken Raeburn <raeburn@gnu.org>
5453
5454 * coding.h (code_convert_string1): Declare.
5455
5456 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5457
52283633 5458 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5459
0dd5e255
JR
54602000-12-02 Jason Rumney <jasonr@gnu.org>
5461
5462 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5463 correctly for single byte character case.
5464 (w32_per_char_metric): Do not try to make any assumptions about
5465 the metrics of BDF fonts.
250cfece 5466 (x_estimate_mode_line_height): If `mode-line' face
52283633 5467 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5468 (note_mouse_highlight): Change the cursor shape on the vertical
5469 border between windows [not enabled].
5470
5471 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5472
5473 * w32fns.c (Fx_create_frame): Reintroduce the call to
5474 face-set-after-frame-defaults.
5475 (Vx_window_horizontal_drag_shape): New variable.
5476 (syms_of_xfns): DEFVAR_LISP it.
5477 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5478 enabled].
0dd5e255 5479
b5d8d2ca
GM
54802000-12-02 Simon Josefsson <simon@josefsson.org>
5481
5482 * fns.c (Fmd5): Use a different logic to decide the coding system
5483 to use.
5484
5485 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5486
fbb87147
EZ
54872000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5488
52283633 5489 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5490
447e9da0
GM
54912000-12-01 Gerd Moellmann <gerd@gnu.org>
5492
7708ced0
GM
5493 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5494 height for YNegative.
5495 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5496 height; also see comment there.
5497
447e9da0
GM
5498 * window.c (coordinates_in_window): Handle computations for
5499 positions on the vertical bar and fringes differently for
5500 window-system frames. Consider some pixels near the vertical bar
5501 as on the bar if the frame doesn't have vertical scroll bars.
5502 Associate positions between mode or header lines with the
5503 right window, the left one.
5504
86d1db20
JR
55052000-12-01 Jason Rumney <jasonr@gnu.org>
5506
5507 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5508
5509 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
5510 invalid frame.
5511
a1d58e5b
GM
55122000-12-01 Gerd Moellmann <gerd@gnu.org>
5513
52283633 5514 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
5515 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
5516 (save_window_save, Fset_window_configuration): Save/restore
5517 window's orig_top and orig_height.
5518
89c609af
JR
55192000-12-01 Jason Rumney <jasonr@gnu.org>
5520
4d177746 5521 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 5522
89c609af
JR
5523 * w32fns.c (x_set_cursor_color): Fix last change.
5524
eccc05db
GM
55252000-11-30 Gerd Moellmann <gerd@gnu.org>
5526
31b6671b
GM
5527 * xdisp.c (echo_area_display): If cursor is in the echo area, make
5528 sure that the next redisplay displays the minibuffer, so that
5529 the cursor will be replaced with what the minibuffer wants.
5530
eccc05db
GM
5531 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
5532 #ifndef instead of using #if.
5533 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
5534 USE_TOOLKIT_SCROLL_BARS is defined.
5535
162de750
JR
55362000-11-30 Jason Rumney <jasonr@gnu.org>
5537
5538 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
5539 x_display_cursor.
5540
693c4692
GM
55412000-11-30 Gerd Moellmann <gerd@gnu.org>
5542
5543 * fns.c (Fmd5): Doc fix.
5544
b5d8d2ca 55452000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
5546
5547 * fns.c (Fmd5): New function.
5548 (syms_of_fns): Defsubr md5.
5549
5550 * Makefile.in (obj): Add md5.o
5551
b02cd40b
GM
55522000-11-30 Gerd Moellmann <gerd@gnu.org>
5553
edfb795e
GM
5554 * md5.h, md5.c: New files, taken from glibc.
5555
df3aedcf
GM
5556 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5557
b02cd40b 5558 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 5559 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 5560
8b5176cd
SM
55612000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5562
5563 * eval.c (Frun_hooks): Allow 0 arguments.
5564
346598f1
GM
55652000-11-29 Gerd Moellmann <gerd@gnu.org>
5566
f9396e03
GM
5567 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5568 is over the menu bar widget, say it's not on the frame.
5569
4a967a9b
GM
5570 * xfns.c (Fx_create_frame): Reintroduce the call to
5571 face-set-after-frame-defaults.
5572
346598f1
GM
5573 * eval.c (Fsignal): Reset handling_signal.
5574
222456a1
JR
55752000-11-28 Jason Rumney <jasonr@gnu.org>
5576
5577 * w32menu.c (add_menu_item): Reset menu item text when changing
5578 type to radio button.
5579
8049ddc0
GM
55802000-11-28 Gerd Moellmann <gerd@gnu.org>
5581
346598f1 5582 * xselect.c: Update copyright.
f4f4ee4d 5583
bebe4a2c
GM
5584 * window.c (coordinates_in_window): If on a mode or header line,
5585 but sufficiently close to its start, return ``on vertical
5586 border''. This gives us a way to drag windows horizontally when
5587 using toolkit scroll bars.
5588
5589 * xterm.c (note_mouse_highlight): Change the cursor shape
5590 on the vertical border between windows.
5591
5592 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5593
5594 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5595 (syms_of_xfns): DEFVAR_LISP it.
5596 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5597
8d2c2642
GM
5598 * textprop.c (text_read_only): New function.
5599 (verify_interval_modification): Use it instead of signaling
5600 `text-read-only'. This makes it easier to catch this error
52283633 5601 with a breakpoint.:
8d2c2642 5602
52283633 5603 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
5604 not end of line, which includes CR.
5605
5a2bae6c
KH
56062000-11-28 Kenichi Handa <handa@etl.go.jp>
5607
5608 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5609 include no-conversion.
5610
ae31f84d
JR
56112000-11-27 Jason Rumney <jasonr@gnu.org>
5612
5613 * w32fns.c (w32_load_system_font): Always mark font as double byte
5614 if codepage is unicode.
5615
67f1cf4c
GM
56162000-11-27 Gerd Moellmann <gerd@gnu.org>
5617
4a74d071 5618 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5619 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5620
902ae620
GM
5621 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5622 `vertical-line', `mode-line' and `header-line' events.
5623
5624 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5625 of a character, a TAB for instance. This is easier than to set
5626 up the iterator exactly, and it's not a frequent case, so the
5627 additional effort wouldn't really pay off.
5628
c1e279c2
AC
56292000-11-26 Andrew Choi <akochoi@i-cable.com>
5630
67f1cf4c 5631 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5632 init_window_once.
5633
a609568a
JR
56342000-11-25 Jason Rumney <jasonr@gnu.org>
5635
52283633
SM
5636 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5637 Args to window_from_coordinates should be pixel coordinates.
48b21762 5638
a609568a
JR
5639 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5640 redisplay handles them properly.
5641
a658d039
MB
56422000-11-25 Miles Bader <miles@gnu.org>
5643
5644 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5645
d3416cca
JR
56462000-11-24 Jason Rumney <jasonr@gnu.org>
5647
5648 * w32.c (init_environment): Set LANG environment variable based on
5649 locale settings, if not set.
5650
5651 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5652 making tool bar smaller. When clearing the frame, also
5653 clear current matrices. Clear frame when tool bar disappears.
5654 Don't use more lines for the tool-bar than is available.
5655 (x_change_window_heights): New function.
5656
ba193890
GM
56572000-11-24 Gerd Moellmann <gerd@gnu.org>
5658
2be8f184
GM
5659 * xdisp.c (init_from_display_pos): If POS says we're already after
5660 an overlay string ending at POS, make sure to pop the iterator
5661 because it will be in front of that overlay string. When POS is
5662 ZV, we've thereby also ``processed'' overlay strings at ZV.
5663
ba193890
GM
5664 * xfaces.c (lface_from_face_name): Function comment fix.
5665
1862a24e
MB
56662000-11-24 Miles Bader <miles@gnu.org>
5667
5668 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5669 apply `mode-line-inverse-video' -- zero means force display using
5670 the default face, non-zero means display using the specialized face.
5671 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5672
f07fa1b8
KH
56732000-11-23 Kenichi Handa <handa@etl.go.jp>
5674
5675 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5676 hard coded `4'.
5677
2bcdf662
EZ
56782000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5679
5680 * coding.c (decode_coding_emacs_mule): Fix the case of
5681 CODING_EOL_LF, which used uninitialized value of c.
5682
ba8299ff
SM
56832000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5684
5685 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5686
f4117c4d
GM
56872000-11-22 Gerd Moellmann <gerd@gnu.org>
5688
03e757c1
GM
5689 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5690 buffer object.
5691
f4117c4d
GM
5692 * frame.h (struct frame): Replace desired_tool_bar_items,
5693 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 5694 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
5695
5696 * frame.c (make_frame): Change initialization of tool bar
5697 items accordingly.
5698
5699 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 5700 Change references to members deleted from struct frame to use the
f4117c4d
GM
5701 new ones.
5702
5703 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 5704 references to members deleted from struct frame to use the new ones.
f4117c4d 5705
52283633 5706 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
5707
5708 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
5709
5710 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 5711 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
5712 from struct frame to use the new ones.
5713
f8e2f3f2
MB
57142000-11-23 Miles Bader <miles@gnu.org>
5715
5716 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
5717 the face's inverse-video attribute, rather than overriding it.
5718
60e8e0a5
GM
57192000-11-22 Gerd Moellmann <gerd@gnu.org>
5720
5721 * xfns.c (x_set_tool_bar_lines): Clear internal border when
5722 making tool bar smaller.
5723
92dd1b29
DL
57242000-11-22 Dave Love <fx@gnu.org>
5725
5726 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
5727
e672fdce
MB
57282000-11-22 Miles Bader <miles@gnu.org>
5729
3a17d6cc
MB
5730 * keyboard.c (Vminibuffer_message_timeout): New variable.
5731 (command_loop_1): Use it to determine message timeout.
5732 (syms_of_keyboard): Initialize it.
5733
60e8e0a5 5734 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 5735
e9655d81
KH
57362000-11-22 Kenichi Handa <handa@etl.go.jp>
5737
5738 * sysdep.c: Move the code for declaring h_errno after #include
5739 <netdb.h>.
5740
77270fac
GM
57412000-11-21 Gerd Moellmann <gerd@gnu.org>
5742
cd913aae
GM
5743 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5744 the menu bar when the tooltip is unmapped.
5745
77270fac
GM
5746 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5747 sole visible buffer when we're currently in the mini-buffer, and
5748 give up if so.
52283633 5749
556635d6
JR
57502000-11-21 Jason Rumney <jasonr@gnu.org>
5751
5752 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5753 put on the clipboard.
5754 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5755 copy of what Emacs last put there. If they are the same, do not
52283633 5756 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5757
5b7bde64
MB
57582000-11-22 Miles Bader <miles@gnu.org>
5759
5760 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5761 (syms_of_minibuf): Initialize it.
5762 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5763 to prompt, don't make read-only.
5764
ff23e1dd
GM
57652000-11-21 Gerd Moellmann <gerd@gnu.org>
5766
52283633
SM
5767 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5768 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5769
7aaf4388
GM
5770 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5771
f5f47add 5772 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5773
ff23e1dd
GM
5774 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5775
37c35586
KH
57762000-11-21 Kenichi Handa <handa@etl.go.jp>
5777
5778 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5779 ... #endif scope.
5780
ff9ab414
GM
57812000-11-20 Gerd Moellmann <gerd@gnu.org>
5782
52283633 5783 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5784 screen supports it.
5785
29a01b72
GM
5786 * s/gnu-linux.h: Don't use `#cpu'.
5787
09dfdf85
GM
5788 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5789 not defined in mman.h.
5790
52283633 5791 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5792 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5793 and store an index in the XClientMessageEvent. Storing a
5794 Lisp_Object or pointer can fail on a 64 bit system, since X only
5795 transfers 32 bits.
52283633
SM
5796 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5797
81459ac9
DL
57982000-11-20 Dave Love <fx@gnu.org>
5799
5800 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5801
56c13ae6
GM
58022000-11-20 Gerd Moellmann <gerd@gnu.org>
5803
5804 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5805
495a6df3
KH
58062000-11-20 Kenichi Handa <handa@etl.go.jp>
5807
2bcf3714
KH
5808 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5809 by WIDTH.
5810
495a6df3
KH
5811 * alloc.c (make_string): Fix previous change. Be sure to make
5812 unibyte string correctly.
5813
6d950f4c
GM
58142000-11-19 Gerd Moellmann <gerd@gnu.org>
5815
39b39373
GM
5816 * window.c (Fwindow_list): Change parameter list to be XEmacs
5817 compatible.
5818 (window_list_1): New function.
5819 (window_loop): Use it instead of Fwindow_list.
5820
b95b34e5
GM
5821 * sysdep.c (emacs_ospeed): New variable.
5822 (toplevel): Don't declare ospeed extern.
5823 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5824
5825 * termcap.c (ospeed): Remove.
5826 (tputs) [!emacs]: Remove unused code.
5827 (tgetent): Avoid a compiler warning.
5828
e83dc917
GM
5829 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
5830 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 5831 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
5832
5833 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
5834 removed.
5835 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
5836 Take the X display as additional argument.
5837 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
5838 `Widget' is a pointer type that's not easily stored in Lisp_Object
5839 form in a portable way.
52283633 5840
6d950f4c
GM
5841 * dispnew.c (update_text_area): Fix last change.
5842
e47306e6
GM
58432000-11-18 Gerd Moellmann <gerd@gnu.org>
5844
fb3cd89b
GM
5845 * xdisp.c: Use BINDING_STACK_SIZE throughout.
5846
5847 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
5848 clear current matrices.
5849
edaa9aed
GM
5850 * buffer.c (mmap_enlarge): Don't print a message on stderr
5851 if mapping new memory at the end of the existing region fails.
5852
e47306e6
GM
5853 * dispnew.c (update_text_area): Don't skip over equal glyphs
5854 when the last current glyph overlaps the glyph to its right.
5855
509633e3
MB
58562000-11-18 Miles Bader <miles@gnu.org>
5857
5858 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
5859 lines that *end* with "..." too (that's the most common case!).
5860
d392e9c5
GM
58612000-11-18 Gerd Moellmann <gerd@gnu.org>
5862
67988445
GM
5863 * xdisp.c (resize_mini_window): Temporarily change to the
5864 mini-window's buffer if necessary.
1bfdbe43 5865
d392e9c5
GM
5866 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
5867 the tooltip obscures less text under it.
5868
58692000-11-17 Gerd Moellmann <gerd@gnu.org>
5870
5871 * puresize.h (BASE_PURESIZE): Increase to 700000.
5872
92bb977f
JR
58732000-11-18 Jason Rumney <jasonr@gnu.org>
5874
5875 * w32term.c (w32_draw_bitmap): Use face to set colors.
5876
26fbf20b
DL
58772000-11-17 Dave Love <fx@gnu.org>
5878
5879 * lread.c (Fload): Fix #ifdef for pcc.
5880
100b593b
GM
58812000-11-17 Gerd Moellmann <gerd@gnu.org>
5882
5883 * xdisp.c (pos_visible_p): Compute the default character height
5884 differently.
5885
a288d0d1
GM
58862000-11-16 Gerd Moellmann <gerd@gnu.org>
5887
cac94de6 5888 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 5889 knowing the line's height; use the default font's height in that case.
cac94de6 5890
a288d0d1
GM
5891 * xfaces.c (weight_table): Add `demi' with the same meaning as
5892 `demibold'.
5893
981fb6f6
KH
58942000-11-16 Kenichi Handa <handa@etl.go.jp>
5895
2cca872d 5896 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
5897 (clear_glyph_row): Delete local static variable null_row.
5898
e5fa381b
JR
58992000-11-15 Jason Rumney <jasonr@gnu.org>
5900
5901 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
5902 (w32_alloc_lighter_color): Use new brightness calculations from
5903 xterm.c. Scale delta to be in the range expected by W32.
5904 (w32_draw_relief_rect): Use frame relief colors.
5905
8e42f043
GM
59062000-11-15 Gerd Moellmann <gerd@gnu.org>
5907
6d133d1f
GM
5908 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
5909 (Qinhibit_default_face_x_resources): New variable.
5910 (syms_of_frame): Initialize it.
5911 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
5912
5913 * xdisp.c (pos_visible_p): Improve function comment.
5914
5915 * lisp.h (BINDING_STACK_SIZE): New macro.
5916
8e42f043
GM
5917 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
5918 reading the directory if readdir returns null and errno is EAGAIN
5919 or EINTR.
5920
e8c87124
SM
59212000-11-14 Stefan Monnier <monnier@cs.yale.edu>
5922
5923 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
5924 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
5925 Set amount_to_scroll to max of dx and scroll_step so that
5926 scroll-conservatively doesn't defeat scroll-step>1.
5927 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
5928 scroll-conservatively for line-at-a-time scrolling.
5929
5f0c971d
GM
59302000-11-14 Gerd Moellmann <gerd@gnu.org>
5931
5932 * window.c (Fpos_visible_in_window_p): Call pos_visible with
5933 extra argument.
5934
5935 * xdisp.c (current_mode_line_height, current_header_line_height):
5936 New variables.
5937 (init_xdisp): Initialize them.
5938 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
5939 and use exact mode line heights if it is set.
5940
5941 * lisp.h (pos_visible_p): Change prototype.
5942
5943 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
5944 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
5945 and current_header_line_height first.
52283633
SM
5946 (current_mode_line_height, current_header_line_height):
5947 Declare extern.
5f0c971d 5948
d7361edf
MB
59492000-11-14 Miles Bader <miles@lsi.nec.co.jp>
5950
5951 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
5952 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
5953 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
5954
ee5e440a
MB
59552000-11-14 Miles Bader <miles@gnu.org>
5956
5957 * xterm.c (x_alloc_lighter_color): Include an additive component
5958 too for dark colors, because FACTOR isn't enough.
5959 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
5960 New macros.
5961
5ca020fc
GM
59622000-11-13 Gerd Moellmann <gerd@gnu.org>
5963
5964 * keyboard.c (show_help_echo): Call message3_nolog with number of
5965 bytes in the help string as 2nd parameter, instead of the number
5966 of characters.
5967
9d348294
MB
59682000-11-13 Miles Bader <miles@gnu.org>
5969
5970 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
5971 (Fload): Use new openp return protocol.
5972 Don't try to use Vload_source_file_function to load .elc files.
5973 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
5974 openp return protocol.
5975 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
5976
1729bb9a
KH
59772000-11-11 Kenichi Handa <handa@etl.go.jp>
5978
4e677396
KH
5979 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
5980
5981 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
5982 Defined these macros.
5983 (NLIST_STRUCT): Avoid re-defining it.
5984
1729bb9a
KH
5985 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
5986 -I/usr/contrib/X11R6/include.
5987 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
5988
a82fe213
JR
59892000-11-10 Jason Rumney <jasonr@gnu.org>
5990
5991 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
5992
5993 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
5994 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
5995
5996 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
5997 (Qw32_charset_vietnamese): New symbol.
5998 (xlfd_charset_of_font): New function.
5999 (w32_load_system_font): Use it.
6000 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6001 when Vw32_charset_info_alist is nil to ensure default face always
6002 has font. Use Fcar and Fcdr for safety.
6003 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6004 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6005 pseudo-codepages for special cases.
6006 (w32_to_x_font): New parameter to allow charset portion to be
6007 specified where there is many to one mapping. Callers changed.
6008 (w32_list_fonts): Avoid listing fonts that won't display.
6009
52d89894
GM
60102000-11-10 Gerd Moellmann <gerd@gnu.org>
6011
6012 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6013 (font_list_1): Renamed from font_list.
6014 (font_list): New function, trying alternative registries from
6015 Vface_alternative_font_registry_alist.
6016 (Finternal_set_alternative_font_registry_alist): New function.
6017 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6018 Vface_alternative_font_registry_alist.
6019 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6020
651cd3da
KR
60212000-11-09 Ken Raeburn <raeburn@gnu.org>
6022
6023 * lisp.h (Flooking_at): Declare.
6024
388ac098
GM
60252000-11-09 Gerd Moellmann <gerd@gnu.org>
6026
778fbc46 6027 * dired.c (directory_files_internal): Fix a braino.
52283633 6028
388ac098
GM
6029 * dired.c (directory_files_internal): Add missing GCPRO's.
6030 Some cleanup.
6031
ecaedde1
GM
60322000-11-08 Gerd Moellmann <gerd@gnu.org>
6033
f7eb32aa
GM
6034 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6035 (resize_mini_window): Return quickly if Vresize_mini_window is
6036 nil. Don't return if Vmax_mini_window_height is nil.
6037
6038 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6039 (syms_of_xdisp): Initialize them.
6040 (resize_mini_window): Act according to the setting of
6041 Vresize_mini_window.
6042 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6043
ecaedde1
GM
6044 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6045 scroll bar widget after configuring it, so that it will appear at
6046 the right position from the start.
6047 (XTredeem_scroll_bar): Cleaned up.
6048
3747ef2c
KH
60492000-11-08 Kenichi Handa <handa@etl.go.jp>
6050
6051 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6052 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6053 division by two.
6054
6055 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6056
03391420
DL
60572000-11-07 Dave Love <fx@gnu.org>
6058
7758f1c1 6059 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6060
6061 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6062
b5de343d
GM
60632000-11-07 Gerd Moellmann <gerd@gnu.org>
6064
acad3c0b
GM
6065 * window.c (Fset_window_configuration): Don't try to preserve
6066 point in the current buffer, if that buffer is displayed in more
6067 than one window.
6068
b5de343d
GM
6069 * xfaces.c (lookup_named_face): If default face isn't realized,
6070 try to realize it. Return -1 if not successful.
6071 (Fx_list_fonts): Handle case that face cannot be determined.
6072 (Fface_font): Likewise.
6073
cdb1fe49
GM
60742000-11-06 Gerd Moellmann <gerd@gnu.org>
6075
6076 * window.c (displayed_window_lines): Detect partially
6077 visible lines at the bottom correctly.
6078
d3a67486
SM
60792000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6080
6081 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6082 when ensuring we don't do visit in indirect buffer.
6083
ff8dd5d5
KH
60842000-11-06 Kenichi Handa <handa@etl.go.jp>
6085
6086 * composite.h (compose_chars_in_text): Add prototype.
6087
6088 * composite.c (Vcomposition_function_table): New variable.
6089 (Qcomposition_function_table): New variable.
6090 (run_composition_function): Call
6091 Vcompose_chars_after_function with three arguments.
6092 (compose_chars_in_text): New function.
6093 (syms_of_composite): Modified the doc-string of
6094 Vcompose_chars_after_function. Declare composition-function-table
6095 as a lisp variable, and initialize it.
6096
6097 * xfns.c (x_encode_text): Suppress producing escape sequences for
6098 composition.
6099
6100 * xselect.c: Include composite.h.
6101 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6102
d1145f85
AI
61032000-11-05 Andrew Innes <andrewi@gnu.org>
6104
6105 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6106
6107 * sysdep.c (read_input_waiting): Remove extraneous argument to
6108 read_socket_hook.
6109
6110 * w32fns.c (Fx_server_version): Include w32_build_number in the
6111 return list.
6112
6113 * w32heap.c (w32_build_number): New variable.
6114 (cache_system_info): Set it.
6115
6116 * w32heap.h (w32_build_number): Add extern.
6117
6118 * emacs.c (syms_of_emacs): Update docstring for
6119 system-configuration, to reflect the actual usage on MS-Windows.
6120
e85ee976
GM
61212000-10-31 Gerd Moellmann <gerd@gnu.org>
6122
26dcb81b
GM
6123 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6124 process idle timers while waiting for another event.
6125
52283633 6126 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6127 the default face are colored.
6128
e85ee976
GM
6129 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6130 window height hasn't changed.
6131
01b220b6
JR
61322000-10-31 Jason Rumney <jasonr@gnu.org>
6133
6134 * w32term.c (x_produce_glyphs): Handle composite characters.
6135 (x_draw_glyph_string_foreground)
6136 (x_draw_composite_glyph_string_foreground): Restore old font.
6137
4e6b7204
MB
61382000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6139
6140 * minibuf.c (read_minibuf): Reset the undo history just before
6141 starting the recursive-edit.
6142
d4358b37
GM
61432000-10-30 Gerd Moellmann <gerd@gnu.org>
6144
563f68f1
GM
6145 * xfaces.c (menu_face_change_count): New variable.
6146 (Finternal_set_lisp_face_attribute): Increment it for changes
6147 of the `menu' face.
6148 (realize_basic_faces): Reflect changes in the `menu' faces
6149 in menu bars.
6150
82e274d1
GM
6151 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6152 dy obtained from the iterator's y-position after moving from
6153 scroll_margin_pos to PT; see comment there.
52283633 6154
0dbf9fd2
GM
6155 * xdisp.c (safe_eval_handler): Call add_to_log.
6156
906b3b14
GM
6157 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6158 is not a symbol or string.
6159
d4358b37
GM
6160 * xdisp.c (echo_area_display): Don't perform a display update from
6161 inside redisplay. The update will happen anyway at the end of
6162 redisplay, and it can confuse redisplay (GC messages while
6163 redisplaying, for instance.)
6164
70c825df
SM
61652000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6166
cf9b4b0b
SM
6167 * xrdb.c (x_load_resources): Use the class name in the defaults.
6168
70c825df
SM
6169 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6170 (regex_compile): Catch bogus \(\1\).
6171
a1d34b1e
GM
61722000-10-30 Gerd Moellmann <gerd@gnu.org>
6173
cae71efe
GM
6174 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6175 RGB values.
52283633 6176
35efe0a1
GM
6177 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6178 we have a color cache, check that the cached color equals the
6179 allocated color. If not, clear the color cache.
6180
1d3baf74
GM
6181 * window.c (displayed_window_lines): Change buffers if necessary.
6182 Fix computation of displayed lines.
6183
a1d34b1e
GM
6184 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6185 update_menu_bindings to DEFVAR_BOOL.
6186
70737ea9
KH
61872000-10-30 Kenichi Handa <handa@etl.go.jp>
6188
70c825df 6189 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6190
fa0cb51d
KH
6191 * puresize.h (BASE_PURESIZE): Increase to 680000.
6192
70737ea9
KH
6193 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6194
0e4c08e8
JR
61952000-10-29 Jason Rumney <jasonr@gnu.org>
6196
6197 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6198
6199 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6200 (w32_cache_char_metrics): Handle possibility that 'x' does not
6201 exist in a BDF font.
6202 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6203
6204 * w32bdf.h (bdffont): Add nchars.
6205
6206 * w32bdf.c (set_bdf_font_info): Set it.
6207 (w32_BDF_TextOut): Swap byte order of double byte characters.
6208 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6209
45b84006
EZ
62102000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6211
6212 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6213 don't override the colors in frame's param_alist, unless they are
6214 unspecified.
6215
6216 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6217 reverse the effect of the highlight flag.
6218
caf9deee
KR
62192000-10-27 Ken Raeburn <raeburn@gnu.org>
6220
6221 * window.h (Fwindow_live_p): Declare.
6222
ae0b9b46
KR
6223 * undo.c (record_delete): Check that last_undo_buffer is really a
6224 buffer before applying XBUFFER to it.
6225
6226 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6227 Faref.
6228
02067692
SM
62292000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6230
6231 * lisp.h (KEYMAPP): New macro.
6232 (get_keymap): Remove.
6233 (get_keymap_1): Rename get_keymap.
6234
6235 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6236
6237 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6238
6239 * xmenu.c (single_submenu): Use KEYMAPP.
6240 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6241 Use KEYMAPP rather than Fkeymapp.
6242
6243 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6244
6245 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6246 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6247 Use KEYMAPP rather than Fkeymapp.
6248 (single_submenu): Use KEYMAPP.
6249 (w32_menu_show, w32_dialog_show): Use TRUE.
6250
6251 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6252
6253 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6254 (Fkeymapp): Use KEYMAPP.
6255 (get_keymap): Rename from get_keymap_1. Remove old def.
6256 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6257 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6258 (Fminor_mode_key_binding): Don't raise an error if the binding
6259 is not a keymap.
6260 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6261 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6262
6263 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6264 Allow Vspecial_event_map to be autoloaded.
6265 (menu_bar_items): Fetch the keymap rather than using keymapp.
6266 (menu_bar_one_keymap): No need to follow func-indirect any more.
6267 (parse_menu_item): get_keymap_1 -> get_keymap.
6268 (tool_bar_items): Fetch the keymap rather than using keymapp.
6269 (read_key_sequence): Use KEYMAPP.
6270
6271 * intervals.c (get_local_map): Use get_keymap rather than following
6272 function-indirections explicitly.
6273
6274 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6275
f9d80af3
JR
62762000-10-27 Jason Rumney <jasonr@gnu.org>
6277
6278 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6279 point, as Windows has oversized fonts.
6280
6281 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6282
a3ba27da
GM
62832000-10-27 Gerd Moellmann <gerd@gnu.org>
6284
6285 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6286 (freehook, reallochook): Handle null pointer arguments.
6287 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6288
aa3b80cc
SM
62892000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6290
6291 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6292 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6293 Giving in to popular pressure to shut up the compiler with casts.
6294
e24e84cc
GM
62952000-10-27 Gerd Moellmann <gerd@gnu.org>
6296
6297 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6298 signed value, and use a default value computed from the font's
6299 maximum descent.
6300
05ea7ef2
MB
63012000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6302
6303 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6304 that specify a negative underline position can still use underlines.
6305
6306 * window.c (Fpos_visible_in_window_p): Make POS default to
6307 WINDOW's point, not the current buffer's point.
6308
0b95284b
DL
63092000-10-26 Dave Love <fx@gnu.org>
6310
6311 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6312 when it's necessary.
6313
6c5b90af
GM
63142000-10-26 Gerd Moellmann <gerd@gnu.org>
6315
8b6d9dc9
GM
6316 * window.c (size_window): Compute size difference from sum of old
6317 child window sizes instead of from parent's size.
6318
6bc92b2e
GM
6319 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6320 Handle obscured lines at the top of the window.
6321
6322 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6323 down after the last error condition check.
6324
6c5b90af
GM
6325 * frame.c (Fdelete_frame): Run delete-frame-hook.
6326
42f92d4d
KH
63272000-10-26 Kenichi Handa <handa@etl.go.jp>
6328
6329 * coding.c (decode_coding): Fix previous change (check also
6330 CODING_MODE_LAST_BLOCK).
6331
d97151cb
SM
63322000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6333
e7efc503
SM
6334 * regex.c: More `unsigned char' -> `re_char' changes.
6335 Also change several `int' into `re_wchar_t'.
6336 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6337 (PUSH_FAILURE_POINTER): Don't cast any more.
6338 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6339 We want GCC to complain, since this piece of code makes
6340 re_match non-reentrant, which *should* be fixed.
6341 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6342 (EXTEND_BUFFER): Use RETALLOC.
6343 (SET_LIST_BIT): Don't cast.
6344 (re_wchar_t): New type.
6345 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6346 that those two functions will always properly return.
6347 (IMMEDIATE_QUIT_CHECK): Cast to void.
6348 (analyse_first): Use recursion rather than an explicit stack.
6349 (re_compile_fastmap): Can't fail anymore.
6350 (re_search_2): Don't check re_compile_fastmap for failure.
6351 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6352 Now also sets the new value (passed in a new argument).
6353 (re_match_2_internal): Use it.
6354 Also, use a new var `reg' of type size_t when looping through regs
6355 rather than reuse the inappropriate `mcnt'.
6356
d97151cb
SM
6357 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6358 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6359 (where_is_internal): Renamed from Fwhere_is_internal.
6360 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6361 (Fwhere_is_internal): New function wrapping where_is_internal.
6362 (where_is_internal_1): Handle the case where we're filling the cache.
6363 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6364
d5789b65
MB
63652000-10-25 Miles Bader <miles@gnu.org>
6366
6367 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6368
4ecda532
GM
63692000-10-25 Gerd Moellmann <gerd@gnu.org>
6370
6371 * window.c (pos_fully_visible_p): Removed.
6372 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6373 if position is visible and/or fully visible.
6374
6375 * lisp.h (pos_visible_p): Add prototype.
6376
6377 * xdisp.c (pos_visible_p): New function.
6378
68c3a137
KH
63792000-10-25 Kenichi Handa <handa@etl.go.jp>
6380
6381 * process.c (send_process): If OBJECT is t, it means that the data
6382 is from C string, but we should encode it. Before calling
6383 setup_raw_text_coding_system, be sure to flush out data by the
6384 previous coding system.
6385
7ae1c032
MB
63862000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6387
ff4dcd4b
MB
6388 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6389 assignment of startpos to prev when startpos == pos.
6390
7ae1c032
MB
6391 * editfns.c (find_field): Set the field stickiness correctly from
6392 overlay fields. Use renamed `text_property_stickiness'.
6393 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6394 Only check text properties, not overlays.
7ae1c032
MB
6395 * textprop.c (get_char_property_and_overlay): New function.
6396 (Fget_char_property): Use it.
6397 * intervals.h (get_char_property_and_overlay): Add declaration.
6398
49801145
SM
63992000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6400
6401 * keymap.c: Use AREF, ASET and ASIZE macros.
6402 (Fmake_sparse_keymap): Docstring fix.
6403 (synkey): Remove.
6404 (shadow_lookup): Move up.
6405 Handle the case where lookup-key returns an integer.
6406 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6407 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6408 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6409 Simplify/rewrite the keymap-finding code.
6410 Add check for command shadowing, using shadow_lookup.
6411
39e776cd
SM
64122000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6413
6414 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6415 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6416 a symbol.
6417
2488aba5
AI
64182000-10-24 Andrew Innes <andrewi@gnu.org>
6419
6420 * dired.c (directory_files_internal_unwind): New function.
6421 (directory_files_internal): Use it to ensure closedir is called
6422 even if expand-file-name or file-attributes throw, eg. because of
6423 a user interrupt. Also enable immediate_quit while calling
6424 re_search, so that matching can be interrupted as well.
6425
b94fdf61
AI
64262000-10-24 Andrew Innes <andrewi@gnu.org>
6427
6428 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6429 NT-Emacs only.
6430 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6431 so that re_search functions only quit when callers expect them to.
6432
64332000-10-24 Kenichi Handa <handa@etl.go.jp>
6434
6435 * regex.c (regex_compile): Change the way of handling a range from
6436 a char less than 256 to a char not less than 256.
6437
1946f901
GM
64382000-10-24 Gerd Moellmann <gerd@gnu.org>
6439
7ae2f10f
GM
6440 * window.c (size_window): Prevent setting window's width or
6441 height to a negative value (esp. with XSETFASTINT).
6442
5dcab13e
GM
6443 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6444 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6445 (protect_malloc_state) [GC_MALLOC_CHECK &&
6446 GC_PROTECT_MALLOC_STATE]: New function.
6447 (PROTECT_MALLOC_STATE): New macro.
6448 (__malloc_initialize, morecore, _malloc_internal)
6449 (_free_internal) _realloc_internal): Use it to make _heapinfo
6450 read-only outside of gmalloc.
6451
63e1b552
GM
6452 * keymap.c: Update copyright.
6453
1946f901
GM
6454 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6455 a symbol.
6456
4fa09beb
GM
64572000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6458
6459 * filelock.c (unlock_all_files): Use unlock_file to expand each
6460 buffer's file_truename before trying remove its lock file.
6461
23afac01
EZ
64622000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6463
6464 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6465 or CRLF, decode EOLs.
6466
04448b95
KH
64672000-10-24 Kenichi Handa <handa@etl.go.jp>
6468
6469 * window.c (Fdisplay_buffer): Fix doc.
6470
3090a5a5
JR
64712000-10-23 Jason Rumney <jasonr@gnu.org>
6472
6473 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6474 ASCII font of default fontset on Windows.
6475
6476 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6477 xterm.c comment below).
6478
6479 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6480
a83fee2c
GM
64812000-10-23 Gerd Moellmann <gerd@gnu.org>
6482
6483 * xterm.c (x_connection_closed): Reset handling_signal.
6484
52283633 6485 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6486
6ffdb539
MB
64872000-10-23 Miles Bader <miles@gnu.org>
6488
6489 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6490 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6491 maintain old behavior.
6492 * minibuf.c (Fminibuffer_complete): Likewise.
6493
7f1c969b
MB
64942000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6495
6496 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6497 that when a font can't be exactly centered, it errs up rather than
6498 down.
6499
23afac01 65002000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 6501
52283633 6502 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 6503
1a578e9b
AC
65042000-10-23 Andrew Choi <akochoi@i-cable.com>
6505
6506 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6507
6508 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 6509 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
6510
6511 * emacs.c (main) [macintosh]: Call syms_of_textprop,
6512 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
6513 syms_of_search, x_term_init, and init_keyboard before calling
6514 init_window_once. Also, call syms_of_xmenu.
6515
6516 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
6517 default fontset to Monaco.
6518
6519 * frame.c [macintosh]: Include macterm.h. Remove declarations of
6520 NewMacWindow and DisposeMacWindow.
6521 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
6522 instead of calling NewMacWindow and setting fields of
6523 f->output_data.mac directly. Call init_frame_faces.
6524 (Fdelete_frame) [macintosh]: Remove unused code.
6525 (Fmodify_frame_parameters) [macintosh]: Call
6526 x_set_frame_parameters instead of mac_set_frame_parameters.
6527
6528 * frame.h [macintosh]: Define menu_bar_lines field in struct
6529 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
6530
6531 * keyboard.c [macintosh]: Include macterm.h.
6532 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
6533 and menu_bar_activate_event type events as for X and NT.
6534 (make_lispy_event) [macintosh]: Construct lisp events of type
6535 MENU_BAR_EVENT as for X and NT.
6536
6537 * sysdep.c [macintosh]: Remove declaration for sys_signal.
6538 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
6539 (sys_subshell) [macintosh]: Remove definition entirely.
6540 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
6541 Vwindow_system_version here. Remove initialization of
6542 Vx_bitmap_file_path.
6543 (read_input_waiting): Correct the number of parameters passed to
6544 read_socket_hook.
6545 Move all Macintosh functions to mac/mac.c.
6546
6547 * term.c [macintosh]: Include macterm.h.
6548
6549 * window.c [macintosh]: Include macterm.h.
6550
6551 * xdisp.c [macintosh]: Include macterm.h. Declare
6552 set_frame_menubar and pending_menu_activation.
6553 (echo_area_display) [macintosh]: Do not return if terminal frame
6554 is the selected frame.
6555 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
6556 Allow only the selected frame to set menu bar.
6557 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6558 calling FRAME_EXTERNAL_MENU_BAR (f).
6559 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6560
6561 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6562 and check_x. Declare XCreateGC. Define x_create_gc and
6563 x_free_gc. Initialize font_sort_order.
6564 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6565 but call x_list_fonts instead of w32_list_fonts.
6566 (Finternal_face_x_get_resource) [macintosh]: Do not call
6567 display_x_get_resource.
6568 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6569 (realize_x_face) [macintosh]: Load the font if it is specified in
6570 ATTRS.
52283633 6571 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6572
1ffbabe3
SM
65732000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6574
6575 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6576 is nil: since we go to the end of submap anyway, we'd end up
6577 setting nil to nil.
6578 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6579 doesn't obey autoload.
6580
bed43f1d
EZ
65812000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6582
1ffbabe3 6583 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 6584
ea4233a7
JR
65852000-10-21 Jason Rumney <jasonr@gnu.org>
6586
6587 * w32term.c (w32_cache_char_metrics): Double check that font is
6588 really fixed pitch before trusting tmPitchAndFamily.
6589
f3d3c491
AI
65902000-10-21 Andrew Innes <andrewi@gnu.org>
6591
6592 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6593
6594 * w32term.h: Extern decl for w32_cache_char_metrics.
6595
6596 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6597
6598 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6599 (w32_unload_font): Free per_char array if present.
6600
6601 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6602 cached information in emulated XFontStruct to handle common cases
6603 quickly. Do not allocate XCharStruct for return.
6604 (w32_native_per_char_metric): New function.
6605 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6606 allocating one.
6607 (x_produce_glyphs): Don't get an HDC. Change calls to
6608 w32_per_char_metric to match arg change above. Remove calls to
6609 free results.
6610 (w32_get_glyph_overhangs): Ditto.
6611 (w32_cache_char_metrics): New function.
6612
6613 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6614 ($(BLD)/casefiddle.$(O)): Remove compile command.
6615 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6616 ($(BLD)/dispnew.obj):
6617 ($(BLD)/keyboard.obj):
6618 ($(BLD)/w32inevt.obj):
6619 ($(BLD)/w32bdf.obj):
6620 ($(BLD)/alloc.obj):
6621 ($(BLD)/buffer.obj):
6622 ($(BLD)/editfns.obj):
6623 ($(BLD)/emacs.obj):
6624 ($(BLD)/fileio.obj):
6625 ($(BLD)/fns.obj):
6626 ($(BLD)/indent.obj):
6627 ($(BLD)/insdel.obj):
6628 ($(BLD)/intervals.obj):
6629 ($(BLD)/minibuf.obj):
6630 ($(BLD)/print.obj):
6631 ($(BLD)/scroll.obj):
6632 ($(BLD)/sysdep.obj):
6633 ($(BLD)/textprop.obj):
6634 ($(BLD)/widget.obj):
f3d3c491
AI
6635 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6636 ($(BLD)/term.obj): Add dependency on dispextern.h.
6637
52283633
SM
6638 * makefile.nt ($(BLD)\dispnew.obj):
6639 ($(BLD)\keyboard.obj):
6640 ($(BLD)\w32inevt.obj):
6641 ($(BLD)\w32bdf.obj):
6642 ($(BLD)\alloc.obj):
6643 ($(BLD)\buffer.obj):
6644 ($(BLD)\editfns.obj):
6645 ($(BLD)\emacs.obj):
6646 ($(BLD)\fileio.obj):
6647 ($(BLD)\fns.obj):
6648 ($(BLD)\indent.obj):
6649 ($(BLD)\insdel.obj):
6650 ($(BLD)\intervals.obj):
6651 ($(BLD)\minibuf.obj):
6652 ($(BLD)\print.obj):
6653 ($(BLD)\scroll.obj):
6654 ($(BLD)\sysdep.obj):
6655 ($(BLD)\textprop.obj):
6656 ($(BLD)\widget.obj):
f3d3c491
AI
6657 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6658 ($(BLD)\term.obj): Add dependency on dispextern.h
6659
18ad4821
EZ
66602000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6661
6662 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6663 with an additional argument of Qt.
6664
de54681a
MB
66652000-10-21 Miles Bader <miles@gnu.org>
6666
6667 * window.c (pos_fully_visible_in_window_p): New function.
6668 (Fpos_visible_in_window_p): Add FULLY argument.
6669 Use pos_fully_visible_in_window_p.
6670 (window_scroll_pixel_based, window_scroll_line_based): Update
6671 calls to Fpos_visible_in_window_p.
6672 * lisp.h (Fpos_visible_in_window_p): Update prototype
6673
13c844fb
GM
66742000-10-20 Gerd Moellmann <gerd@gnu.org>
6675
6676 * alloc.c (toplevel): Conditionalize compilation of mem_*
6677 functions differently.
52283633 6678
d9506268
JR
66792000-10-20 Jason Rumney <jasonr@gnu.org>
6680
6681 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6682 mem_init where it used to be. mem_z etc not defined otherwise.
6683
8094989b
GM
66842000-10-20 Gerd Moellmann <gerd@gnu.org>
6685
6686 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6687 GC_MALLOC_CHECK.
6688 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6689 structure definition and related variabled to the top of the file.
6690 Include this code when GC_MALLOC_CHECK is defined.
6691 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
6692 register/unregister allocated region.
6693 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
6694 which isn't allocated.
6695 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
6696 something which is already in use.
6697 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
6698 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
6699 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
6700 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
6701
6702 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
6703 _malloc_internal instead of malloc.
6704 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
6705 of free.
6706
ea456eb4
AI
67072000-10-20 Andrew Innes <andrewi@gnu.org>
6708
6709 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
6710 Windows.
6711 (my_strftime) <macro>: Don't use macro arg list when redefining as
6712 _strftime_copytm.
6713 (my_strftime) <function>: Supply 0 as ut argument.
6714
e64c3a75
JR
67152000-10-19 Jason Rumney <jasonr@altavista.net>
6716
6717 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
6718 including dispextern.h, as it stops faces from working.
6719
6720 * w32fns.c (Fx_create_frame): Don't bother calling
6721 face-set-after-frame-default since the caller does it for us
6722 anyway. Clean up calls to x_get_arg to be consistent with X.
6723
6724 * w32term.c (x_produce_glyphs): Handle
6725 unibyte_display_via_language_environment correctly.
6726 (w32_draw_box_rect): Fix the calculation of width and height.
6727
6728 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
6729 as it has stopped working.
6730 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
6731 menu-bar.
6732
17401c97
GM
67332000-10-19 Gerd Moellmann <gerd@gnu.org>
6734
6735 * eval.c (skip_debugger): Prevent a compiler warning.
6736 (Fcondition_case): Likewise.
6737 (Fbacktrace_frame): Use a null interactive spec.
6738
773272d8
KH
67392000-10-19 Kenichi Handa <handa@etl.go.jp>
6740
6741 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6742
a42943e9
GM
67432000-10-18 Gerd Moellmann <gerd@gnu.org>
6744
e50517d9
GM
6745 * strftime.c: Sync with glibc, file version 1.78.
6746 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6747 should no longer be used according to ISO 8601.
6748
9035a35a
GM
6749 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6750 no map for meta_prefix_char, don't try to use it as a keymap.
6751 Instead, if T_OK is non-zero, look up a default binding, if any,
6752 otherwise, if T_OK is zero, return nil.
6753
a42943e9
GM
6754 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6755 (x_to_xcolors, png_load): Use x_query_color.
6756
52283633
SM
6757 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6758 New functions.
a42943e9
GM
6759 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6760 which can be slow.
6761 (x_copy_color, x_alloc_lighter_color): Likewise.
6762
6763 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6764 (x_query_color, x_query_colors): Add prototype.
6765
6766 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6767 check_string_bytes only if not noninteractive, increase count to 50.
6768
00de2987
MB
67692000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6770
6771 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6772 markers correctly.
6773
54918e2b
GM
67742000-10-17 Gerd Moellmann <gerd@gnu.org>
6775
1f0b3fd2
GM
6776 * alloc.c (pure_bytes_used): Renamed from pureptr.
6777 (ALIGN): New macro.
6778 (pure_alloc): New function.
6779 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6780 Use it.
6781 (Fpurecopy): Use PURE_POINTER_P.
6782
68c5d1db
GM
6783 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6784 PT has moved backward.
52283633 6785
9a038881
GM
6786 * xdisp.c (cursor_row_p): Take continued lines into account.
6787
361b097f
GM
6788 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6789 string's size_byte.
6790 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6791 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6792 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6793 string allocated.
6794
54918e2b
GM
6795 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6796 of selective display off while searching for the next line start.
6797
03ed0806
KH
67982000-10-17 Kenichi Handa <handa@etl.go.jp>
6799
6800 * Makefile.in (term.o): Depend on dispextern.h.
6801
7e05cdaf
SM
68022000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6803
6804 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6805
a6801fd1
GM
68062000-10-16 Gerd Moellmann <gerd@gnu.org>
6807
483de32b
GM
6808 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6809 the iterator at the beginning, so that they can be set later on,
6810 for instance in reseat_at_next_visible_line_start, without being
6811 overwritten.
6812
a6801fd1
GM
6813 * xfns.c (pbm_format): Add :foreground and :background keywords.
6814 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6815 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6816
dbf1fcc1
EZ
68172000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6818
6819 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6820
52283633 6821 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6822
6823 * msdos.c (IT_set_face): Compare highlighted face with the default
6824 face, and invert colors if these faces' colors are identical.
6825 (Fmsdos_remember_default_colors): Don't swap foreground and
6826 background colors in initial_colors[].
6827 (IT_set_frame_parameters): Don't swap frame's foreground and
6828 background pixels. If ALIST includes "(reverse . t)", swap
6829 foreground-color and background-color properties in frame's
6830 param_alist. If the original frame's param_alist doesn't specify
6831 the colors, store unspecified-fg and unspecified-bg, reversed if
6832 required.
6833
6834 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
6835 the colors are unspecified and reversed, reverse fore- and back-
6836 ground in the returned value.
6837 (Fframe_parameter): Ditto.
6838
b41fe2c3 68392000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 6840
3a6b59d9
GM
6841 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
6842 get_last_unchanged_at_beg_row.
6843 (find_first_unchanged_at_end_row): Renamed from
6844 get_first_unchanged_at_end_row.
6845 (find_first_unchanged_at_end_row): Convert assertions to
6846 unconditional tests which abort. When looking for a row in
6847 unchanged text, don't go further back than first_text_row.
6848
b41fe2c3
GM
6849 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
6850 Don't add in the last line's height when deciding if the new
6851 position is below the scroll margin.
9d1af64f 6852
b41fe2c3 68532000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
6854
6855 * editfns.c (Fconstrain_to_field): Check carefully for field
6856 boundaries if either OLD_POS or NEW_POS has a non-nil field
6857 property, even if they're the same.
6858
c412cb7b
KH
68592000-10-16 Kenichi Handa <handa@etl.go.jp>
6860
6861 * xterm.c (x_draw_box_rect): Fix the calculation of width and
6862 height for XFillRectangle.
6863
5586f3eb
SM
68642000-10-15 Stefan Monnier <monnier@cs.yale.edu>
6865
6866 * syntax.c (Fstring_to_syntax): New function extracted from
6867 Fmodify_syntax_entry.
6868 (Fmodify_syntax_entry): Use it and document the ! and | fences.
6869 (skip_chars, Fforward_comment): Remove unused variables.
6870 (syms_of_syntax): Add defsubr for string-to-syntax.
6871 (describe_syntax): Add code for comment and string fences.
6872
db785038
SM
68732000-10-14 Stefan Monnier <monnier@cs.yale.edu>
6874
6875 * keymap.c (access_keymap): Add AUTOLOAD parameter.
6876 Do the meta->esc mapping. Call get_keyelt before returning.
6877 Start scanning from the second element (the first is always `keymap')
6878 to make it easier to detect when we reach a parent map.
6879 Handle the case of inheriting from a symbol whose function is a map.
6880 (Fkeymap_parent): Also handle the `inherit from symbol' case.
6881 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
6882 (get_keyelt, Flookup_key): Update call to access_keymap.
6883 Remove the meta->esc mappings.
6884 (define_as_prefix): Delete old disabled code.
6885 (menu_item_p): New function.
6886 (where_is_internal_1): Skip over the few remaining menu items.
6887 * lisp.h (access_keymap): Update prototype.
6888 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
6889 Update call to access_keymap.
6890 (follow_key, read_key_sequence): Update calls to access_keymap.
6891 Remove the meta->esc mappings.
6892
cafafe0b
GM
68932000-10-13 Gerd Moellmann <gerd@gnu.org>
6894
a2e2a7f6
GM
6895 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
6896 with additional argument.
6897
cafafe0b
GM
6898 * xdisp.c (cursor_row_p): New function.
6899 (try_cursor_movement, display_line): Use it.
52283633 6900
cafafe0b
GM
6901 * xdisp.c (append_space): Also save/restore iterator's current
6902 character and its length.
6903
6904 * xdisp.c (init_from_display_pos): Add an assertion.
6905 (handle_stop): Don't set iterator's add_overlay_start.
6906 (handle_invisible_prop): Likewise.
6907 (load_overlay_strings): If text under an overlay is invisible,
6908 take both before- and after-strings into account when the iterator
6909 is positioned either at the start or at the end of the overlay.
6910 (forward_to_next_line_start): Rewritten.
6911 (reseat_at_next_visible_line_start): Rewritten.
6912 (set_iterator_to_next): Add parameter RESEAT_P.
6913
6914 * dispextern.h (struct it): Remove member add_overlay_start.
6915 (set_iterator_to_next): Change prototype.
6916
c744452b
KH
69172000-10-13 Kenichi Handa <handa@etl.go.jp>
6918
6919 * coding.c (code_convert_region): Be sure to initialize
6920 coding->category_idx.
e4a3f4e1
KH
6921 (decode_coding_string): Set coding->src_multibyte and
6922 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
6923 (encode_coding_string): Set coding->src_multibyte and
6924 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 6925
321fd26f
SM
69262000-10-12 Stefan Monnier <monnier@cs.yale.edu>
6927
6928 * xfns.c (Fx_create_frame): Don't bother calling
6929 face-set-after-frame-default since the caller does it for us anyway.
6930
76832439
EZ
69312000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
6932
6933 * window.c (coordinates_in_window): Fix detection of vertical line
6934 on character terminals.
6935
2483cf58
GM
69362000-10-12 Gerd Moellmann <gerd@gnu.org>
6937
6938 * editfns.c (save_excursion_save): Additionally record the
6939 selected window.
6940 (save_excursion_restore): If buffer was visible in a window, and a
6941 different window was selected, and the old selected window is
6942 still live, restore point in that window.
6943
eb991b25
KH
69442000-10-12 Kenichi Handa <handa@etl.go.jp>
6945
8a0eba09
KH
6946 * xterm.c (x_produce_glyphs): Handle
6947 unibyte_display_via_language_environment correctly.
6948
20401fcc
KH
6949 * regex.c (regex_compile): Change the way of handling a range from
6950 unibyte char to multibyte char.
6951
6952 * syntax.c (skip_chars): Change the way of handling a range from
6953 unibyte char to multibyte char.
6954
eb991b25
KH
6955 * process.c (read_process_output): Cancel previous change.
6956
365dd325
EZ
69572000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
6958
c1b096cb
EZ
6959 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
6960
365dd325
EZ
6961 * charset.c (Ffind_charset_string): Doc fix.
6962 (Ffind_charset_region): Doc fix.
6963
eb483c2b
KH
69642000-10-11 Kenichi Handa <handa@mule.m17n.org>
6965
6966 * process.c (read_process_output): Fix previous change. Adjust
6967 multibyteness of text to insert in a buffer by
52283633 6968 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 6969
b40bfb99
AS
69702000-10-10 Andreas Schwab <schwab@suse.de>
6971
6972 * alloc.c (mark_object): Remove all workarounds installed on
6973 1993-08-08.
6974
caff31d4
KH
69752000-10-10 Kenichi Handa <handa@etl.go.jp>
6976
52283633 6977 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
6978 (base64_encode_1): Make it work for a text of multibyte form.
6979 (Fbase64_decode_region): Allocate sufficient memory for multibyte
6980 case. Don't call str_to_multibyte because base64_decode_1
6981 produces correct multibyte form for eight-bit codes.
52283633 6982 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
6983 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
6984 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
6985 codes.
6986
6987 * charset.h (CHAR_STRING): Optimized for single byte characters.
6988
cba026ef
AS
69892000-10-09 Andreas Schwab <schwab@suse.de>
6990
6991 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
6992 -1 after socket is closed, to fall through to error processing.
6993
1e21fe48
EZ
69942000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
6995
6996 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 6997 variables. If ALIST includes foreground-color or
1e21fe48
EZ
6998 background-color, change also the colors of the default face for
6999 this frame.
7000
a640322e
EZ
70012000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7002
7003 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7004 them extern (they are defined on xfaces.c).
7005 (syms_of_msdos): Don't intern and don't staticpro
7006 Qbackground_color and Qforeground_color.
7007
a115794c
EZ
70082000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7009
7010 * frame.c (Fframe_parameter): For non-windowed frames, if
7011 f->param_alist says foreground or background color is unspecified,
7012 call tty_color_name to return the color name computed from the
7013 frame's current colors.
7014
f5533b63
DL
70152000-10-06 Dave Love <fx@gnu.org>
7016
7017 * terminfo.c (ospeed): Don't declare.
7018
7019 * sysdep.c: Don't include string.h.
7020 (h_errno): Declare conditional also on TRY_AGAIN.
7021
7022 * charset.c (Ffind_charset_string): Doc fix.
7023
52283633 7024 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7025 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7026 error messages.
7027
2b06561a
DL
70282000-10-05 Dave Love <fx@gnu.org>
7029
7030 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7031 position like menu-bar.
7032
ca839c85
GM
70332000-10-05 Gerd Moellmann <gerd@gnu.org>
7034
7035 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7036
7037 * xdisp.c (handle_single_display_prop): Use safe_call1.
7038 (safe_call): Renamed from call_function.
7039 (safe_call1): New function.
7040 (handle_fontified_prop): Use safe_call1 instead of call1.
7041 (safe_eval): Renamed from eval_form.
7042 (safe_eval_handler): Renamed from eval_handler.
7043 (handle_single_display_prop, display_mode_element): Use safe_eval
7044 instead of eval_form.
7045
7046 * xfaces.c (merge_face_heights): Use safe_call instead of
7047 call_function.
7048
7049 * keyboard.c (show_help_echo): Use safe_call instead of
7050 call_function; use safe_eval instead of eval_form.
7051
7052 * lisp.h (safe_call): Renamed from call_function.
7053 (safe_eval): Renamed from eval_form.
7054 (safe_call1): Add prototype.
7055
a3489ece
MB
70562000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7057
7058 * xfns.c (image_ascent): Rearrange ascent calculation for the
7059 has-a-font case.
7060
35810b6f
SM
70612000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7062
7063 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7064 (where_is_internal_1): Don't bother ignoring menu-items any more.
7065
3dc78168
GM
70662000-10-04 Gerd Moellmann <gerd@gnu.org>
7067
7068 * keyboard.c (update_menu_bindings): New variable.
7069 (parse_menu_item): Use AREF. If update_menu_bindings
7070 is 0, don't update menu bindings.
7071 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7072
1efc2bb9
EZ
70732000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7074
7075 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7076 to `mark_object'.
7077
3f679f55
SM
70782000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7079
7080 * syntax.c (forw_comment): Match nestedness of ender/starter.
7081 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7082 (prev_char_comstart_first): Remove.
7083 (back_comment): Check two-char comment markers more carefully
7084 to better handle overlapping cases like *//* or /* */* */ ...
7085 Match nestedness of ender/starter.
7086
2021ab61
DL
70872000-10-02 Dave Love <fx@gnu.org>
7088
7089 * config.in (HAVE_GAI_STRERROR): Add undef.
7090
7091 * process.c (Fopen_network_stream): Use it.
7092
7093 * m/alpha.h (NO_REMAP): Don't define.
7094
64e6cc18
GM
70952000-10-02 Gerd Moellmann <gerd@gnu.org>
7096
7097 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7098 return with a string converted to an integer or vice versa when
7099 Vmocklisp_arguments is t.
7100 (Fsignal): Likewise. The function can return for `quit'.
7101 (struct gcpro): Declare member `var' to point to a volatile
7102 Lisp_Object.
7103
7104 * eval.c (error): Prevent compiler warning.
7105
b1904cd9
SM
71062000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7107
7108 * keymap.c (keymap_memberp): New function.
7109 (Fset_keymap_parent): Use it.
7110 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7111 Use keymap_memberp to avoid creating cycles.
7112 (access_keymap): Use KEYMAPP.
7113
71c9ec51
GM
71142000-09-30 Gerd Moellmann <gerd@gnu.org>
7115
7116 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7117 gai_strerror. Make sure xerrno is set if connect fails. Improve
7118 error recovery.
71c9ec51 7119
c70c6b58
JR
71202000-09-29 Jason Rumney <jasonr@gnu.org>
7121
7122 * w32term.c (w32_char_font_type, w32_encode_char)
7123 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7124 (w32_bdf_per_char_metric): New function.
7125 (w32_per_char_metric): Use it.
7126 (x_draw_glyph_string_background): Always draw background for BDF
7127 glyphs.
7128
7129 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7130 GDI object which is a scarce resource.
7131
7132 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7133 (get_quoted_string): Fix limit on memchr search.
7134 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7135 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7136 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7137 (get_cached_font_char, cache_char_offset): Use macro
7138 BDF_CODEPOINT_RANGE_COVER_P.
7139 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7140 (clear_cached_bitmap_slots): New function.
7141 (GET_HEX_VALUE): G-Z, g-z are not hex.
7142 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7143 (get_bitmap_with_cache): Use new cache implementation.
7144 (create_offscreen_bitmap): New function.
7145 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7146
7147 * w32term.c (x_produce_glyphs): If the distance from the current
7148 position to the next tab stop is less than a canonical character
7149 width, use the tab stop after that.
7150 (x_draw_glyphs): Handle case START and END are out of bounds more
7151 carefully.
7152 (x_clear_mouse_face): Block/unblock input.
7153 (x_display_and_set_cursor): Don't show a hollow box cursor for
7154 buffers whose cursor_type is nil.
7155
fe01239f
GM
71562000-09-29 Gerd Moellmann <gerd@gnu.org>
7157
52283633 7158 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7159
7160 * dispextern.h (updating_frame): Declare extern.
7161
e7c52f1f
AS
71622000-09-29 Andreas Schwab <schwab@suse.de>
7163
7164 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7165
de6e1f7c
GM
71662000-09-29 Gerd Moellmann <gerd@gnu.org>
7167
25126faa
GM
7168 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7169 use its function definition.
7170 (tool_bar_items): Likewise.
7171
de6e1f7c 7172 * lisp.h (fatal): Declare NO_RETURN.
52283633 7173
454ee39b
KH
71742000-09-29 Kenichi Handa <handa@etl.go.jp>
7175
7176 * keymap.c: Remove the line "#undef NULL".
7177
96301c5f
GM
71782000-09-28 Gerd Moellmann <gerd@gnu.org>
7179
52283633 7180 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7181
efffeeb4
DL
71822000-09-28 Dave Love <fx@gnu.org>
7183
ecb8b666
DL
7184 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7185
dc3cd20f
DL
7186 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7187
7188 * .gdbinit (xreload): Note its need on GNU/Linux.
7189
efffeeb4
DL
7190 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7191 r_alloc, r_alloc_free.
7192
8610d903
KH
71932000-09-28 Kenichi Handa <handa@etl.go.jp>
7194
7195 * syntax.c (skip_chars): Handle negation correctly.
7196
8901d1ac
GM
71972000-09-27 Gerd Moellmann <gerd@gnu.org>
7198
6f22f1ad
GM
7199 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7200 with non-zero FORCE_P argument.
7201
52283633 7202 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7203 Add assertions.
7204
7205 * xdisp.c (window_box_height): Add an assertion.
7206
7207 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7208 tool-bar than is available.
7209 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7210
36f1966f
DL
72112000-09-27 Dave Love <fx@gnu.org>
7212
efffeeb4 7213 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7214
31d929e5
GM
72152000-09-26 Gerd Moellmann <gerd@gnu.org>
7216
c98863bf
GM
7217 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7218 instead of BITS_PER_INT.
7219 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7220 EMACS_UINT, respectively.
7221 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7222
7223 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7224
7225 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7226
77072ab1
GM
7227 * window.c (freeze_window_starts): Construct last argument for
7228 foreach_window differently.
7229
7230 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7231
7232 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7233 EMACS_UINT instead of `int' and `unsigned int'.
7234 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7235
7236 * frame.h (struct frame): Make the `nothing' member of union
7237 output_data an EMACS_INT.
7238
52283633 7239 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7240 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7241 size in the sdata structure.
7242 (SDATA_NBYTES, SDATA_DATA): New macros.
7243 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7244 differently for the different layout of the sdata structure.
7245 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7246 in sdata.
7247 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7248 Check that size recorded in the string size and size recorded in
7249 the sdata structure agree.
7250
3e60b029
DL
72512000-09-25 Dave Love <fx@gnu.org>
7252
7253 * buffer.c: Include stdio.h.
7254
7255 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7256
3e60b029
DL
7257 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7258
7259 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7260 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7261 (__malloc_extra_blocks): Declare as __malloc_size_t.
7262
8ff16b4e
GM
72632000-09-25 Gerd Moellmann <gerd@gnu.org>
7264
755a2ccd
GM
7265 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7266
d8b4516f
GM
7267 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7268 (read_char): If help-echo is showing, preserve the echo area
7269 when redisplaying.
7270
7271 * xdisp.c (help_echo_showing_p): New variable.
7272 (set_message): Reset it to 0.
7273 (init_xdisp): Initialize help_echo_showing_p.
7274
7275 * dispextern.h (help_echo_showing_p): Declare extern.
7276
7277 * config.in: Fix typo in __GNUC_MINOR__.
7278
7279 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7280
b11af2dd
GM
7281 * s/freebsd.h (POSIX_SIGNALS): Define.
7282
8ff16b4e
GM
7283 * xterm.c (x_clear_mouse_face): Block/unblock input.
7284
844eb643
DL
72852000-09-24 Dave Love <fx@gnu.org>
7286
7287 * fns.c (base64_encode_1): Fix last change.
7288
b30ab1b3
GM
72892000-09-22 Gerd Moellmann <gerd@gnu.org>
7290
7291 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7292
7293 * xdisp.c (try_window_reusing_current_matrix): More fixes
7294 for the case window has a header-line.
7295
c6cbe5f0
DL
72962000-09-22 Dave Love <fx@gnu.org>
7297
4c7c1f3f
DL
7298 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7299 a doc string.
7300
7301 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7302
c6cbe5f0
DL
7303 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7304
550a625e
GM
73052000-09-21 Gerd Moellmann <gerd@gnu.org>
7306
4c7c1f3f 7307 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7308 for GCC >= 2.5.
7309
52283633
SM
7310 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7311 Declare NO_RETURN.
fca99116 7312
80d26f99
GM
7313 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7314 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7315 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7316 warnings.
52283633 7317
80d26f99
GM
7318 * marker.c (byte_char_debug_check): Return void.
7319
623a0aae
GM
7320 * xfns.c (Fx_create_frame): Set default frame parameter value
7321 for tool-bar-lines to 1.
7322
7323 * dispnew.c (scrolling_window): Compare y-positions of rows
7324 equal at the start. Some simplification.
7325
7326 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7327 reused rows' y-position in the case window has a header-line, and
7328 new window start is greater than old window start.
7329
42ac0ae5
GM
7330 * process.c (process_sent_to): New variable.
7331 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7332 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7333 Declare more parameters volatile.
7334
550a625e
GM
7335 * lread.c (Vrecursive_load_depth_limit): New variable.
7336 (Fload): Check recursive loads whose recursion depth exceeds
7337 Vrecursive_load_depth_limit.
7338 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7339
8320414c
GM
73402000-09-20 Gerd Moellmann <gerd@gnu.org>
7341
f46c275e
GM
7342 * fileio.c (Fread_file_name): Doc fix.
7343
7344 * editfns.c (Fmessage_or_box): Doc fix.
7345
7346 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7347
b7e11c5b 7348 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7349
8320414c
GM
7350 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7351 symbols are specified, add color translations to the cache.
52283633 7352 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7353 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7354 xpm_cache_color.
7355 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7356 structures to xpm_init_color_cache.
7357
da1608d9
GM
73582000-09-19 Gerd Moellmann <gerd@gnu.org>
7359
52283633 7360 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7361
6badfa25
AI
73622000-09-19 Andrew Innes <andrewi@gnu.org>
7363
7364 * makefile.nt (bootstrap-emacs): Don't change directory.
7365
3a5f42bb
KH
73662000-09-19 Kenichi Handa <handa@etl.go.jp>
7367
1b7649bd
KH
7368 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7369
3a5f42bb
KH
7370 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7371 If output buffer is too small, signal an appropriated error.
7372
9f83cf0b
DL
73732000-09-18 Dave Love <fx@gnu.org>
7374
52283633 7375 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7376 (current_active_maps): Remove redundant get_local_map call.
7377
28c7826c
GM
73782000-09-18 Gerd Moellmann <gerd@gnu.org>
7379
5cefa566
GM
7380 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7381 cursor for buffers whose cursor_type is nil.
52283633 7382
6fed3546
GM
7383 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7384 a feature to implement that is already implemented.
7385 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7386 warnings.
7387
7388 * xfns.c (x_clear_image_1): New function.
7389 (x_clear_image): Use it.
52283633 7390 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7391
05b1f851
GM
7392 * dispnew.c (update_window): Move test for invisible lines
7393 at the top to update_window_line.
7394 (update_window_line): Handle invisible lines here.
7395
f4779de9
GM
7396 * xfns.c (clear_image_cache): Clear current matrices of all
7397 frames sharing an image cache. Block input while freeing
7398 images. Fix timestamp comparison.
7399 (x_clear_image): Also free the mask.
7400
28c7826c
GM
7401 * xfns.c (lookup_image): Block input while loading the image so
7402 that we won't get interrupted in a state where the image isn't yet
7403 set up completely.
7404 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7405 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7406 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7407 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7408
b7412313
GM
74092000-09-16 Gerd Moellmann <gerd@gnu.org>
7410
7411 * dispnew.c (update_window): Make sure to make desired rows
7412 current even if they are completely invisible at the top
7413 of a window.
7414
47e351a3
GM
74152000-09-15 Gerd Moellmann <gerd@gnu.org>
7416
7f8f1edc
GM
7417 * xfns.c (lookup_image): Build mask before applying an algorithm.
7418 Recognize algorithm `disabled'.
7419 (cross_disabled_images): New variable.
7420 (COLOR_INTENSITY): New macro.
7421 (x_detect_edges): Use COLOR_INTENSITY.
7422 (x_disable_image): New function.
7423 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7424
7425 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7426 disabled state, don't apply an image transformation algorithm if
7427 the user specified an image for the disabled state. Use
28c7826c 7428 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7429 user hasn't specified an image.
7430
ebb8f116
GM
7431 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7432 allocation functions with the XPM lib.
7433 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7434 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7435 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7436 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7437 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7438 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7439 functions, if possible, because these handle color allocation
7440 failure more gracefully.
7441 (Fimage_mask_p): New function.
7442
47e351a3
GM
7443 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7444 (Qedge_detection, Qheuristic): New symbols.
7445 (syms_of_xfns): Initialize new symbols.
7446 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7447 `algorithm (edge-detection ...)'.
7448 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7449 (tiff_format, gif_format, gs_format): Add `:mask'.
7450 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7451 (GIF_MASK, GS_MASK): New enumerators.
7452 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7453 (emboss_matrix, laplace_matrix): New variables.
7454 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7455 (x_edge_detection): New functions.
7456 (x_laplace): Rewritten in terms of x_detect_edges.
7457 (x_build_heuristic_mask): If image has a mask, free it.
7458
fe83b953
AI
74592000-09-14 Andrew Innes <andrewi@gnu.org>
7460
7461 * makefile.w32-in: Revert to Unix line endings.
7462
3021e816
AI
74632000-09-14 Andrew Innes <andrewi@gnu.org>
7464
7465 * makefile.w32-in: Standardize indentation somewhat.
7466 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7467 cater for differences between shells.
7468
7469 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7470
2a32b5ea
GM
74712000-09-14 Gerd Moellmann <gerd@gnu.org>
7472
7473 * xterm.c (x_produce_glyphs): If the distance from the current
7474 position to the next tab stop is less than a canonical character
7475 width, use the tab stop after that.
7476
b4331e96
DL
74772000-09-14 Dave Love <fx@gnu.org>
7478
7479 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7480
ef9e4345
GM
74812000-09-14 Gerd Moellmann <gerd@gnu.org>
7482
085536c2
GM
7483 * xdisp.c (handle_fontified_prop): While running fontification
7484 functions, bind `fontification-functions' and
7485 `after-change-functions' to nil.
7486
ef9e4345
GM
7487 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7488 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7489
7490 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7491
7492 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7493 USE_MMAP_FOR_BUFFERS.
7494
7495 * insdel.c (make_gap): Use enlarge_buffer_text.
7496
7497 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7498 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7499 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7500 from former r_alloc_* functions in ralloc.c.
52283633 7501 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
7502 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7503 (mmap_init) [REL_ALLOC_MMAP]: New function.
7504 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7505 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7506 BUFFER_FREE.
7507
7508 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7509 (enlarge_buffer_text): Add prototype.
7510
7511 * ralloc.c: Remove everything having to do with the use of mmap.
7512
f8608968
GM
75132000-09-13 Gerd Moellmann <gerd@gnu.org>
7514
2a494b2d
GM
7515 * sound.c (Fplay_sound): Doc fix.
7516
8c907a56
GM
7517 * keyboard.c: Avoid some more compiler warnings.
7518 (parse_tool_bar_item): Ignore cached key bindings.
7519
f8608968
GM
7520 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
7521 and allocation of Lisp data.
7522
6ab70e9a
GM
75232000-09-12 Gerd Moellmann <gerd@gnu.org>
7524
d12d0a9b
GM
7525 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
7526 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
7527 defaults first.
7528
6ab70e9a
GM
7529 * lread.c (Fload): Put code checking for recursive loads in #if 0.
7530
63c36c3c
KH
75312000-09-12 Miyashita Hisashi <himi@meadowy.org>
7532
7533 * ccl.c: Comment fixed.
7534 (MAX_MAP_SET_LEVEL): Increased to 30.
7535 (PUSH_MAPPING_STACK): Enclose with do-while block.
7536 (POP_MAPPING_STACK): Likewise.
7537 (stack_idx_of_map_multiple): New variable.
7538 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
7539 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 7540 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
7541 (ccl_driver) <CCL_MapSingle>: Likewise.
7542 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
7543 with the case where looking up process reaches to the end of
7544 map-set, and call CCL programs as the above change.
7545
7ee3bd7b
GM
75462000-09-11 Gerd Moellmann <gerd@gnu.org>
7547
8ec8a5ec
GM
7548 * xfns.c (png_load, jpeg_load): Declare some variables volatile
7549 that might be clobbered by longjmp.
7550 (check_x_display_info, x_decode_color, create_frame_xic)
7551 (Fx_display_backing_store, Fx_display_visual_class)
52283633 7552 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 7553
f74b0705
GM
7554 * lread.c (init_lread): Set Vloads_in_progress to nil.
7555 (Fload): Show list of recursively loaded files, when signaling an
7556 error.
7557
7ee3bd7b
GM
7558 * lread.c (Vloads_in_progress): New variable.
7559 (record_load_unwind): New function.
7560 (Fload): Check for recursive loads.
7561 (syms_of_lread): Initialize Vloads_in_progress.
7562 (read_integer, read1): Avoid some compiler warnings.
7563
7564 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7565 compiler warnings.
7566
974e1e5b
MB
75672000-09-11 Miles Bader <miles@gnu.org>
7568
7569 * editfns.c (Fbuffer_string): Doc fix.
7570
9824c4e3
GM
75712000-09-10 Gerd Moellmann <gerd@gnu.org>
7572
7573 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7574
6a72fdd1
KR
75752000-09-09 Ken Raeburn <raeburn@gnu.org>
7576
7577 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7578 whether to include other header files.
7579
28e6fb66
GM
75802000-09-09 Gerd Moellmann <gerd@gnu.org>
7581
52283633 7582 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 7583 by Fmemq as a boolean.
28e6fb66 7584
7f8b6551
SM
75852000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7586
7587 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7588
a8710abf
GM
75892000-09-08 Gerd Moellmann <gerd@gnu.org>
7590
d1a02881
GM
7591 * ralloc.c (mmap_fd): Remove initializer which can make it
7592 read-only in a dumped Emacs.
7593 (mmap_fd_1): New variable.
7594 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7595 restore it from there.
7596 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7597 unconditionally so that mmap_fd can be initialized there.
7598 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7599 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7600 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7601
c454aac1
GM
7602 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7603
7604 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 7605 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 7606
fc653ef2
GM
7607 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7608
3015eec0
GM
7609 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7610 inheritance.
7611
bfe0ee88
GM
7612 * xdisp.c (try_window_id): When trying to locate cursor in
7613 unchanged rows at the top, handle the case that we can't find it.
7614
a8710abf
GM
7615 * xterm.c (x_draw_glyphs): Handle case START and END are out
7616 of bounds more carefully.
7617
6b7d4ae4
DL
76182000-09-08 Dave Love <fx@gnu.org>
7619
423193c5
DL
7620 * s/sol2.h (REL_ALLOC_MMAP): Define.
7621 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7622
7623 * ralloc.c: Don't include string.h (redundant).
7624 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7625 [!MAP_ANON]: Include fcntl.h.
7626 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7627 (r_alloc, r_re_alloc, r_alloc_free)
7628 (mmap_enlarge, mmap_set_vars): Use it.
7629 (r_alloc_init_fd): New function.
7630 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7631 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7632 malloc type.
7633
7634 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7635 Remove vm-limit.o.
7636
6b7d4ae4
DL
7637 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7638 change to __NetBSD__.
7639
44d31981
KH
76402000-09-08 Kenichi Handa <handa@etl.go.jp>
7641
7642 * search.c (compile_pattern): Check the multibyteness of cached
7643 string and PATTERN.
7644
aad40737
MB
76452000-09-08 Miles Bader <miles@gnu.org>
7646
7647 * xfaces.c (default_face_vector): Function removed.
7648 (Finternal_merge_in_global_face): Restore old global/local
7649 attribute override order. Use inline loop instead of calling
7650 default_face_vector.
7651
91a211b5
GM
76522000-09-07 Gerd Moellmann <gerd@gnu.org>
7653
7654 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7655 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7656 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7657 where necessary, in case POINTER_TYPE is `void'.
7658
03419440
EZ
76592000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7660
7661 * frame.c (make_terminal_frame): Initialize frame foreground and
7662 background colors to unspecified, for the initial instance of an
7663 MSDOS frame.
7664
f46f845b
GM
76652000-09-07 Gerd Moellmann <gerd@gnu.org>
7666
24f76fbf
GM
7667 * ralloc.c (mmap_find): Fix overlap computation.
7668 (mmap_enlarge): Compute nbytes before trying to find an
7669 overlapping region.
7670
f46f845b
GM
7671 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7672 instead of `!='.
7673
7674 * lread.c (syms_of_lread): Change value of regexp
7675 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7676
7677 * xmenu.c (xdialog_show): When looking up the selection in
7678 menu_items, take `quote' boundaries into account; this corresponds
7679 to a nil ITEM in x-popup-dialog.
7680
3c014385
KH
76812000-09-07 Kenichi Handa <handa@etl.go.jp>
7682
fd6f711b
KH
7683 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7684 not 0x81.
7685 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7686
3c014385 7687 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
7688 encoding, not decoding. Fix the handling of latin-jisx0201.
7689 Check for the charset katakana-jisx0201 too.
3c014385 7690 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 7691 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 7692
0da3ecef
GM
76932000-09-07 Gerd Moellmann <gerd@gnu.org>
7694
ab0ee409
GM
7695 * xfaces.c (Vparam_value_alist): New variable.
7696 (syms_of_xfaces): Initialize it.
7697 (Finternal_set_lisp_face_attribute): Avoid more consing.
7698
7699 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
7700 specially.
7701 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
7702 (Qbackground_mode): New variable.
7703 (syms_of_frame_1): Initialize Qbackground_mode.
7704
7705 * lisp.h (Qdisplay): Declare extern.
1091dd67 7706
0da3ecef
GM
7707 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
7708 change face on all frames, and change the default for new frames.
7709
b14654b9
DL
77102000-09-07 Dave Love <fx@gnu.org>
7711
7712 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
7713
d24fd56f
KH
77142000-09-07 Kenichi Handa <handa@etl.go.jp>
7715
794f3670
KH
7716 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
7717
0fddd0dc
KH
7718 * charset.c: Include composite.h
7719 (lisp_string_width): New function.
7720 (Fstring_width): Call lisp_string_width instead of strwidth.
7721
7722 * Makefile.in (charset.o): Depends on composite.h.
7723
d24fd56f
KH
7724 * process.c (read_process_output): Before inserting the decoded
7725 text in the buffer, adjust the multibyteness.
7726
fa0b693c
GM
77272000-09-06 Gerd Moellmann <gerd@gnu.org>
7728
52283633 7729 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
7730 buffer's text buffer is null, map new memory.
7731
0a58f946
GM
7732 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
7733 POINTER_TYPE and size_t.
7734 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
7735 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7736 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7737 [REL_ALLOC_MMAP]: New macros.
7738 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7739 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7740 [REL_ALLOC_MMAP]: New functions.
7741
7742 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7743 before and after unexec.
7744
7745 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7746 text buffers if necessary.
7747
7748 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7749 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7750 in prototypes.
7751
fa0b693c
GM
7752 * config.in (HAVE_MMAP): Add #undef.
7753
877055f6
GM
77542000-09-05 Gerd Moellmann <gerd@gnu.org>
7755
08ba3862
GM
7756 * frame.c (Qdisplay_type): New variable.
7757 (syms_of_frame_1): Initialize it.
7758 (Fframe_parameter): New function that avoids consing.
7759 (syms_of_frame): Defsubr it.
7760
66ffe51c
GM
7761 * buffer.c (Fother_buffer): Consider buffers as invisible when
7762 they are displayed in a window on an invisible frame.
7763
877055f6
GM
7764 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7765 get-largest-window always return nil.
7766
bb970e67
GM
77672000-09-04 Gerd Moellmann <gerd@gnu.org>
7768
7769 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7770 variable; recognize Emacs 19 elc files.
7771
7a3d0e0e
MB
77722000-09-04 Miles Bader <miles@gnu.org>
7773
7774 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7775 before initially popping up the menu, so the menu doesn't flash
52283633 7776 when the face settings are significantly different from the defaults.
7a3d0e0e 7777
14473664
SM
77782000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7779
7780 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7781 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7782 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7783 (BIT_UNIBYTE): Remove.
7784 (re_match_2_internal): Delete corresponding code and streamline the
7785 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7786 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7787 (re_wctype_t): New type.
7788 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7789 (regex_compile): Use them and fix handling of overly long char classes.
7790
c1174479
AI
77912000-09-03 Andrew Innes <andrewi@gnu.org>
7792
f8803e97
AI
7793 * makefile.w32-in: Change to DOS line endings.
7794
c1174479
AI
7795 * s/ms-w32.h (ORDINARY_LINK): New define.
7796
7797 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7798 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7799
7800 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7801 (distclean): Delete them here instead.
7802
44ef7cf6
AI
7803 * w32proc.c (compare_env): Convert to uppercase for comparison,
7804 not lowercase, to match how the native Windows shell works.
7805
49b3bd82
JR
78062000-09-03 Jason Rumney <jasonr@gnu.org>
7807
7808 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7809 CVS changes the line-ends when checking in/out on DOS/Windows.
7810
7811 * makefile.nt (emacs): Do not change directory to run temacs, as
7812 the load-path is set relative to current directory.
7813
a3d35a39
MB
78142000-09-03 Miles Bader <miles@gnu.org>
7815
7816 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7817
d276b0cf
GM
78182000-09-02 Gerd Moellmann <gerd@gnu.org>
7819
715e84c9
GM
7820 * xdisp.c (redisplay_mode_lines): New function.
7821 (display_mode_lines): Return number of mode lines displayed.
7822 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7823 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7824
8892f40b
GM
7825 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7826 string.h and strings.h.
7827 (index) [HAVE_INDEX]: Add prototype.
7828
d276b0cf
GM
7829 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
7830 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
7831
7832 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
7833 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7834
38404229
GM
78352000-09-01 Gerd Moellmann <gerd@gnu.org>
7836
7837 * lread.c (read1): Accept `?' as symbol constituent, for
7838 compatiblity with XEmacs.
7839
c0f9ea08
SM
78402000-08-31 Stefan Monnier <monnier@cs.yale.edu>
7841
7842 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
7843 (struct re_pattern_buffer): Remove newline_anchor.
7844 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
7845 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
7846 (re_max_failures, fail_stack): Use size_t rather than unsigned.
7847 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
7848 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
7849 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
7850 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
7851 Get rid of references to newline_anchor.
7852 (regcomp): Allocate and precompute a fastmap.
7853
8c0f83fe
GM
78542000-08-31 Gerd Moellmann <gerd@gnu.org>
7855
7856 * lread.c (openp): GCPRO local variable `filename'.
7857
4bb91c68
SM
78582000-08-30 Stefan Monnier <monnier@cs.yale.edu>
7859
7860 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
7861
7862 * regex.c: Merge some changes from GNU libc. Add prototypes.
7863 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
7864 Use memcmp and memcpy instead of bcopy and bcmp.
7865 (init_syntax_once): Use ISALNUM.
7866 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
7867 (REG_UNSET_VALUE): Remove. Use NULL instead.
7868 (REG_UNSET, re_match_2_internal): Use NULL.
7869 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
7870 New macros.
7871 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
7872 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
7873 (regex_compile): In handle_interval, return an error rather than try to
7874 unfetch the interval if we can't find the closing brace.
7875 Obey the RE_NO_GNU_OPS syntax bit.
7876 (TOLOWER): New macro.
7877 (regcomp): Use it.
7878 (regexec): Allocate regs.start and regs.end as one block.
7879
5226a931
GM
78802000-08-30 Gerd Moellmann <gerd@gnu.org>
7881
868dd24b
GM
7882 * xdisp.c (echo_area_display): Check display_completed instead
7883 of calling detect_input_pending.
7884
7885 * dispnew.c (update_frame): Only set display_completed here; move
7886 the update_begin and update_end calls here from update_frame_1.
7887 (update_frame_1): Don't set display_completed here, don't call
7888 update_begin/update_end.
7889
5226a931
GM
7890 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
7891 instead of store_frame_param.
7892
2a8bd25f
GM
78932000-08-29 Gerd Moellmann <gerd@gnu.org>
7894
7895 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
7896 desired window matrix hasn't been displayed, use the current row
7897 instead. Make sure that only those frame rows are updated for
7898 which there exists a corresponding enabled desired row.
52283633 7899
ba3478d9
MB
79002000-08-29 Miles Bader <miles@gnu.org>
7901
7902 * xfaces.c (default_face_vector): New function.
7903 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
7904
87d0f685
GM
79052000-08-29 Gerd Moellmann <gerd@gnu.org>
7906
7907 * lread.c (openp): Prevent temporary string passed to
7908 Ffile_readable_p from being garbage collected.
7909
6fa86045
DL
79102000-08-28 Dave Love <fx@gnu.org>
7911
7912 * keymap.c (store_in_keymap): Add `static' to declaration.
7913
bb17930d
GM
79142000-08-28 Gerd Moellmann <gerd@gnu.org>
7915
7916 * emacs.c, callint.c, doc.c, editfns.c
7917 (toplevel) [HAVE_STRING_H]: Include string.h.
7918 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
7919 (index): Remove prototypes which might conflict with non-standard
7920 definitions of index/strchr.
7921
7922 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
7923 (rindex): Define only if !HAVE_RINDEX.
7924
7925 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
7926
7927 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
7928
87188200
MB
79292000-08-28 Miles Bader <miles@gnu.org>
7930
7931 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
7932 made inconsistent by a font-related attribute in FROM.
7933 (merge_face_inheritance): Add function comment.
7934
41a68aef
KH
79352000-08-28 Kenichi Handa <handa@etl.go.jp>
7936
7937 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
7938 the 4th arg (PREV_EVENT) Qt to suppress input method.
7939
f7c436c1
SM
79402000-08-27 Stefan Monnier <monnier@cs.yale.edu>
7941
0b32bf0e
SM
7942 * regex.c: Indent cpp directives and remove parens after `defined'.
7943 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
7944 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
7945 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
7946 (re_compile_pattern): Use size_t for length.
7947 (init_syntax_once): Move to a better place.
7948 * regex.h: Merge changes from GNU libc. Indent cpp directives.
7949 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
7950
f7c436c1
SM
7951 * syntax.c (back_comment): Detect cases where a comment-starter is
7952 actually inside another comment as in: /* a // b */ c // d \n.
7953 Make it clear that `comstart_pos' is unused for nested comments.
7954
7955 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
7956 (KEYMAPP): New macro.
7957 (Fkeymap_parent, Fset_keymap_parent): Use it.
7958 (fix_submap_inheritance): Mark it static.
7959 (define_as_prefix, describe_buffer_bindings, describe_command)
7960 (describe_translation, describe_map): Complete prototypes.
7961
7962 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
7963
7964 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
7965 to better match the key-lookup behavior.
7966
6288c62f
GM
79672000-08-27 Gerd Moellmann <gerd@gnu.org>
7968
7969 * xfaces.c (lface_fully_specified_p): Handle :inherit.
7970 (Finternal_set_lisp_face_attribute): Fix typo in error message.
7971
e931344e
EZ
79722000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
7973
7974 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
7975 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
7976 (xterm.o): Depend on coding.h
7977
d10dfeef
KH
79782000-08-26 Kenichi Handa <handa@etl.go.jp>
7979
7980 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
7981 the corresponding '#endif'.
7982
2d73e8d3
MB
79832000-08-26 Miles Bader <miles@gnu.org>
7984
7985 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
7986 * xfaces.c (QCinherit): New variable.
7987 (syms_of_xfaces): Initialize it.
7988 (LFACE_INHERIT): New macro.
7989 (Finternal_get_lisp_face_attribute)
52283633 7990 (merge_face_vector_with_property)
2d73e8d3
MB
7991 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
7992 (check_lface_attrs): Allow new types of face height. Check
7993 inherit attribute.
7994 (CYCLE_CHECK): New macro.
7995 (merge_face_inheritance): New function.
7996 (merge_face_vectors): Merge inherited faces too. Add F and
7997 CYCLE_CHECK arguments.
7998 (merge_face_vector_with_property, Finternal_merge_in_global_face)
7999 (lookup_named_face, lookup_derived_face, realize_named_face)
8000 (face_at_string_position, face_at_buffer_position): Supply
8001 new F and CYCLE_CHECK arguments to merge_face_vectors.
8002 (merge_face_heights): New function.
52283633 8003 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8004 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8005 handle relative face heights.
8006 (lface_same_font_attributes_p): Compare heights using EQ.
8007
6ce974d4
KH
80082000-08-26 Kenichi Handa <handa@etl.go.jp>
8009
8010 * charset.c (char_to_string): Check the character validity.
52283633 8011 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8012
dc1e502d
SM
80132000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8014
8015 * regex.c (PUSH_FAILURE_COUNT): New macro.
8016 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8017 Handle popping of a register's or a counter's data.
8018 (POP_FAILURE_POINT): Use the new name.
8019 (re_match_2_internal): Push counter data on the stack for succeed_n,
8020 jump_n and set_number_at and remove misleading dead code in succeed_n.
8021
bd9d0f3f
GM
80222000-08-25 Gerd Moellmann <gerd@gnu.org>
8023
8024 * xdisp.c (redisplay_internal): If considering all windows on all
8025 frames, update the display for each frame as soon as possible,
8026 instead of first building all desired matrices for all frames, and
8027 then updating them all.
8028 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8029
aa5b8e15
GM
80302000-08-24 Gerd Moellmann <gerd@gnu.org>
8031
17494071
GM
8032 * bytecode.c (mark_byte_stack): Add a comment.
8033
52283633
SM
8034 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8035 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8036 a graphical frame.
8037
c543db81
KH
80382000-08-24 Kenichi Handa <handa@etl.go.jp>
8039
d246d5f5
KH
8040 * minibuf.c (do_completion): Always use compare-string, not
8041 string-equal because the latter doesn't pay attention to
8042 multibyteness of strings.
8043
c543db81
KH
8044 * process.c (create_process): Don't setup raw-text coding here.
8045 (Fopen_network_stream): Don't set coding->src_multibyte and
8046 coding->dst_multibyte here.
8047 (read_process_output): For process filter, return unibyte string
8048 if default-enable-multibyte-characters is nil.
8049 (send_process): If OBJECT is multibyte text, be sure to encoded it
8050 by the specified coding system for the process. Otherwise, setup
8051 raw-text coding.
52283633 8052 (init_process): Don't initialize default-process-coding-system here.
c543db81 8053
9b47cfe0
EZ
80542000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8055
8056 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8057 <scroll-down-aggressively>: Likewise.
8058
f5a36960
KH
80592000-08-23 Kenichi Handa <handa@etl.go.jp>
8060
8061 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8062 zero. Set coding->produced_char correctly.
8063
69a7ffa7
AI
80642000-08-22 Andrew Innes <andrewi@gnu.org>
8065
8066 * makefile.w32-in: New file.
8067
8068 * unexw32.c (unexec): Ignore old_name, and use the actual location
8069 of the current executable instead. Base new_name on this.
8070
8071 * w32proc.c (create_child): Remove reference to security
8072 descriptor, which isn't needed and doesn't compile with mingw32.
8073
8074 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8075 up dllimport attributes.
8076 (x_update_window_end): Update prototype.
8077
8078 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8079 extern, which screws up dllimport attributes.
8080
8081 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8082 up dllimport attributes.
8083
8084 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8085 screws up dllimport attributes.
8086
8087 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8088 up dllimport attributes.
8089 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8090 screws up dllimport attributes.
8091
8092 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8093 up dllimport attributes.
8094
8095 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8096 screws up dllimport attributes.
8097
8098 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8099 screws up dllimport attributes.
8100
8101 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8102 up dllimport attributes.
8103
8104 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8105 unnecessary extern, which screws up dllimport attributes.
8106 (main): Ditto.
8107
8108 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8109 up dllimport attributes.
8110
8111 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8112 unnecessary extern, which screws up dllimport attributes.
8113
8114 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8115 screws up dllimport attributes.
8116
8117 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8118 up dllimport attributes.
8119
8120 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8121
52283633
SM
8122 * w32bdf.c (search_file_line):
8123 (set_bdf_font_info):
8124 (seek_char):
8125 (w32_get_bdf_glyph):
69a7ffa7
AI
8126 (w32_BDF_to_x_font): Fix compile warnings.
8127
52283633 8128 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8129
8130 * w32select.c: Include keyboard.h before frame.h.
8131
8132 * w32fns.c (max): Define macro.
8133 (JOHAB_CHARSET): Define if not known.
8134 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8135 (Fx_show_tip): Synch with X version.
8136
8137 * w32xfns.c: Include keyboard.h before frame.h.
8138
8139 * w32fns.c: Include keyboard.h before frame.h.
8140
8141 * w32term.c: Include keyboard.h before frame.h.
8142
8143 * fontset.c: Include keyboard.h before frame.h.
8144
8145 * w32inevt.c: Include keyboard.h before frame.h.
8146 (MOUSE_MOVED): Define if not known.
8147
8148 * minibuf.c: Include keyboard.h before frame.h.
8149
8150 * keyboard.c: Include keyboard.h before frame.h.
8151
8152 * indent.c: Include keyboard.h before frame.h.
8153
8154 * dispnew.c: Include keyboard.h before frame.h.
8155
8156 * buffer.c: Include keyboard.h before frame.h.
8157
8158 * alloc.c: Include keyboard.h before frame.h.
8159
8160 * print.c: Include keyboard.h before frame.h.
8161
8162 * process.c: Include keyboard.h before frame.h.
8163
8164 * scroll.c: Include keyboard.h before frame.h.
8165
8166 * sysdep.c: Include keyboard.h before frame.h.
8167
8168 * term.c: Include keyboard.h before frame.h.
8169
8170 * window.c: Include keyboard.h before frame.h.
8171
8172 * xdisp.c: Include keyboard.h before frame.h.
8173 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8174
8175 * frame.c: Include keyboard.h before frame.h.
8176
8177 * w32heap.h: Undefine min, max.
8178
8179 * w32gui.h: Undefine min, max.
8180
8181 * unexw32.c: Change PUCHAR to PCHAR.
8182 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8183 (relocate_offset):
8184 (get_section_info):
69a7ffa7
AI
8185 (copy_executable_and_dump_data): Remove unnecessary static defs.
8186 (copy_executable_and_dump_data): Fix compile warnings.
8187
8188 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8189
8190 * w32console.c (min): Define macro.
8191 (clear_frame, write_glyphs): Fix compile warning.
8192
52283633 8193 * w32proc.c (compare_env):
69a7ffa7
AI
8194 (find_child_console): Fix compile warning.
8195
8196 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8197 sys_errlist instead of _sys_errlist.
8198 (get_emacs_configuration_options): New function.
8199
8200 * s/ms-w32.h (sys_nerr): Provide default definition.
8201 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8202 name with _ prepended.
8203 (NSIG): Define if not known.
8204 (get_emacs_configuration): Provide extern declaration.
8205 (get_emacs_configuration_options): Provide extern declaration.
8206 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8207
8208 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8209 (map_w32_filename):
69a7ffa7
AI
8210 (read_unc_volume): Fix compile warning.
8211
8212 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8213 definitions from being used.
8214
8215 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8216
52283633 8217 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8218 (open_unc_volume): Make arg const.
8219
8220 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8221 (read_input_waiting): Remove excess parameter.
8222
8223 * w32.c (init_environment): Call _access.
8224 (check_windows_init_file): Call _close.
8225 (init_user_info): Call _putenv.
8226 (init_environment): Call _putenv and _strdup.
8227 (init_ntproc): Reset volume info cache on startup.
8228
8229 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8230 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8231 cannot override the CRT malloc.
8232
8233 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8234 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8235
8236 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8237 unless we are linking with a static CRT.
8238 (RVA_TO_PTR): Cast result to unsigned char*.
8239
8240 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8241 (add_volume_info): Use xstrdup.
8242
25060080
SM
82432000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8244
8245 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8246 (do_completion, Fminibuffer_complete_word): Use it.
8247 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8248 var so it can take non-boolean values.
8249
6917e6bb
GM
82502000-08-21 Gerd Moellmann <gerd@gnu.org>
8251
acb7cc89 8252 * editfns.c (find_field): Formatting changes.
52283633 8253 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8254 changed to prototypes, some new protypes added, some functions
8255 made static.
8256
8257 * lisp.h (set_time_zone_rule): Add prototype.
8258 (use_dialog_box): External declaration.
8259
0bbfdc25
GM
8260 * keyboard.c (gen_help_event): Add parameter SIZE.
8261 (kbd_buffer_events_waiting): Slightly rewritten.
8262 (clear_event): New function.
8263 (kbd_buffer_get_event): Use it, and clear the input_events of
8264 HELP_EVENTs.
8265 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8266 don't fill the newly created array with nils.
8267 (toplevel): Convert some old-style function forward declarations
8268 to prototypes.
8269
8270 * keyboard.h (gen_help_event): Change prototype.
8271
8272 * xterm.c (XTread_socket): Change calls to gen_help_event.
8273
8274 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8275
6917e6bb
GM
8276 * eval.c (Fmacroexpand): Doc fix.
8277
e5cd3d11
JR
82782000-08-20 Jason Rumney <jasonr@gnu.org>
8279
8280 * w32term.h (x_display_info_for_display): Remove as this function
8281 does not exist on W32.
8282
8283 * w32term.c (help_echo_window): New variable.
8284 (syms_of_w32term): staticpro it.
8285 (note_mode_line_highlight): Set it.
8286 (XTextExtents16): Removed as there is no equivalent on W32.
8287 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8288 the X way of doing this will not work for W32.
8289 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8290 (x_draw_image_foreground): Avoid drawing outside of the clip area
8291 when image doesn't have a mask.
8292 (note_mouse_highlight): Process overlays in the right order of
8293 priority. Set help_echo_window.
8294 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8295 because that's more visible for large images.
8296
8297 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8298 name to single_keymap_panes.
8299 (w32_menu_show): Set wv->title when dealing with titles.
8300 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8301
6e69ab8c
MB
83022000-08-21 Miles Bader <miles@gnu.org>
8303
8304 * minibuf.c (do_completion): Try again if we rewrite the input
8305 string, but no completion was done, so that any completion message
8306 will be correct.
8307
511bd4eb
GM
83082000-08-20 Gerd Moellmann <gerd@gnu.org>
8309
8310 * xfaces.c (lface_equal_p): Compare strings differently.
8311 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8312 (realize_tty_face): Use them.
8313 (syms_of_xfaces): Initialize new variables.
8314 (map_tty_color): New function, extracted from realize_tty_face.
8315 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8316 foreground or background color, store the new color name in the
8317 realized face; previous code trying to do this had no effect.
8318 (realize_tty_face): Use map_tty_color.
8319 (Fclear_face_cache): Set face_change_count and ensure thorough
8320 redisplay.
8321
1433385f
GM
83222000-08-19 Gerd Moellmann <gerd@gnu.org>
8323
511bd4eb
GM
8324 * undo.c (record_first_change, record_marker_adjustment): Don't
8325 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8326
419ac0a2
KH
83272000-08-18 Kenichi Handa <handa@etl.go.jp>
8328
8329 * coding.c (decode_coding_string): Set members consumed,
8330 consumed_char, produced, produced_char of *coding correctly. If
8331 decode_coding doesn't consume any byte, don't try anymore.
8332 (encode_coding_string): Likewise.
8333
7eb9e30d
GM
83342000-08-18 Gerd Moellmann <gerd@gnu.org>
8335
511bd4eb
GM
8336 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8337 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8338
8339 * xdisp.c (redisplay_internal): Compare windows for equality with
8340 EQ, instead of applying XWINDOW to something that might not
8341 be a window.
52283633 8342
dd34a735
KH
83432000-08-18 Kenichi Handa <handa@etl.go.jp>
8344
8345 * fontset.c (Finternal_char_font): Search only the selected frame
8346 for a window of the current buffer.
8347
385ff9e3
GM
83482000-08-18 Gerd Moellmann <gerd@gnu.org>
8349
511bd4eb 8350 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8351 Lisp_Objects.
8352
385ff9e3
GM
8353 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8354 second half of a HELP_EVENT is found at the start of kbd_buffer.
8355
d6abb4c7
MB
83562000-08-18 Miles Bader <miles@gnu.org>
8357
4618074a
MB
8358 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8359
d6abb4c7
MB
8360 * editfns.c (save_restriction_save): Rewrite to use markers.
8361 (save_restriction_restore): Rewrite to understand new form of data
8362 saved by save_restriction_save.
8363 (Fsave_restriction): Remove cautionary note in doc-string.
8364
a7b28523
GM
83652000-08-17 Gerd Moellmann <gerd@gnu.org>
8366
8367 * fileio.c (build_annotations): Add a comment explaining the
8368 return value of format-annotate-function. Replace a spurious call
8369 to Flength with a CONSP test. Call format-annotate-function with
8370 a fifth arg specifying how many times the function is been called
8371 in a row, to let it choose temporary buffers appropriately.
8372
03c9ed77
DL
83732000-08-17 Dave Love <fx@gnu.org>
8374
8375 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8376 declare make_temp_name twice.
8377
52283633 8378 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8379 (unreadpure): Give it an arg.
8380
8381 * unexalpha.c: Prototype fatal_unexec, mark_x,
8382 update_dynamic_symbols. Declare unexec as void.
8383
8384 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8385 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8386
8387 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8388 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8389
8390 * alloca.c: Use #error.
8391 [POINTER_TYPE]: Use it.
8392
8393 * eval.c (Fdefvar): Doc fix.
8394
8395 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8396 INITIALIZE_INTERVAL.
8397
8398 * buffer.h: Avoid DECLARE_INTERVALS.
8399
8400 * config.in: Add size_t.
8401
aae41d97
EZ
84022000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8403
8404 * w16select.c (set_clipboard_data): If there's not enough memory
8405 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8406 expects. In case of other failures, return 3.
8407 (system_error_msg): New error message.
8408 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8409 system_error_msg.
8410
65aa5e85
GM
84112000-08-16 Gerd Moellmann <gerd@gnu.org>
8412
8413 * term.c (write_glyphs): Also turn off inverse video after turning
8414 off other appearances in case TS_exit_attribute_mode is not equal
8415 to TS_end_standout_mode.
8416 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8417 with the same face.
8418 (turn_off_face): Reset standout_mode only if
8419 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8420 is equal to TS_end_standout_mode.
8421
ece23901
KH
84222000-08-16 Kenichi Handa <handa@etl.go.jp>
8423
9d7bcb2e
KH
8424 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8425 sequence at the end of the source block.
8426
ece23901
KH
8427 * ccl.c (Fccl_program_p): Docstring modified.
8428 (Fccl_execute): Likewise.
8429 (Fccl_execute_on_string): Likewise.
8430
5e30eaa2
EZ
84312000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8432
8433 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8434
290602fd
KH
84352000-08-16 Kenichi Handa <handa@etl.go.jp>
8436
8437 The following changes are mainly to fix bugs of
8438 encode/decode-coding-string failing if encoding/decoding return
8439 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8440 variable conversion_buffer.
8441
8442 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8443 decrement dst_end to avoid buffer overflow in the later call of
8444 string_as_multibyte
8445
8446 * coding.h (conversion_buffer_size, conversion_buffer)
8447 (get_conversion_buffer): Extern deleted.
8448
8449 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8450 (conversion_buffer, conversion_buffer_size): Variables deleted.
8451 (get_conversion_buffer): Function deleted.
8452 (struct conversion_buffer): New structure.
8453 (MAX_ALLOCA): New macro.
8454 (allocate_conversion_buffer): New macro.
8455 (extend_conversion_buffer, free_conversion_buffer): New functions.
8456 (ccl_coding_driver): Set coding->result.
8457 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8458 this is the last block of source.
8459 (encode_coding): Likewise. Handle the source block as the last
8460 one only when the whole source text is consumed.
8461 (decode_coding_string): Handle the case that the output buffer is
8462 too small to decode the whole source text. Use
8463 allocate_conversion_buffer, extend_conversion_buffer and
8464 free_conversion_buffer, not get_conversion_buffer.
8465 (encode_coding_string): Likewise.
8466 (init_coding): Function deleted.
52283633 8467 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8468
8469 * emacs.c (main): Don't call init_coding.
8470
52283633 8471 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8472
8473 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8474 (insert_glyphs): Likewise.
8475
8476 * w32console.c (write_glyphs): Use a locally declared
8477 conversion_buffer.
8478
b9f80d41
EZ
84792000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8480
8481 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8482 member of display_info is NULL.
8483
32dc52f7
GM
84842000-08-15 Gerd Moellmann <gerd@gnu.org>
8485
52283633 8486 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8487
32dc52f7 8488 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8489 appearances with capability `me'.
32dc52f7
GM
8490 (write_glyphs): Switch on inverse video before each face change.
8491
4eb22d33
DL
84922000-08-14 Dave Love <fx@gnu.org>
8493
8494 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8495 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8496 (lisp_free): Declare and make static.
8497
8498 * window.c: Fix embedded comment.
8499 (syms_of_window): Fix doc string.
8500
90cbf47e
GM
85012000-08-14 Gerd Moellmann <gerd@gnu.org>
8502
52283633 8503 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
8504 make sure to print `C-' before `M-', like in the manual.
8505
440fc135
GM
85062000-08-11 Gerd Moellmann <gerd@gnu.org>
8507
8508 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8509 since they aren't relocated anymore.
52283633 8510 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
8511
8512 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 8513 partially visible line which is smaller than the window's height.
440fc135 8514
6e264fad
KH
85152000-08-11 Kenichi Handa <handa@etl.go.jp>
8516
8517 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 8518 the multibyte form of eight-bit-control characters.
6e264fad
KH
8519 (Fccl_execute_on_string): Initialize ccl->multibyte.
8520
8521 * ccl.h (struct ccl_program): New member multibyte.
8522
8523 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
8524
c371f69a
KH
85252000-08-11 Kenichi Handa <handa@etl.go.jp>
8526
8527 * regex.c (regex_compile) <normal_char>: Pay attention to
8528 multibyteness.
8529 (analyse_first) <exactn>: Setup fastmap correctly for
8530 eight-bit-control characters.
8531
85322000-08-11 Kenichi Handa <handa@etl.go.jp>
8533
52283633 8534 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
8535
8536 * keyboard.c (make_lispy_event): Handle the new event type
8537 multibyte_char_keystroke.
8538
8539 * xterm.c: Include coding.h.
8540 (XTread_socket): Work around a bug of XmbLookupString. If the
8541 input is from XIM, decode it according to the current locale. In
8542 that case, generate multibyte_char_keystroke events.
8543
b8ddbe71
KH
85442000-08-11 Kenichi Handa <handa@etl.go.jp>
8545
8546 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
8547 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
8548
47589c8c
GM
85492000-08-10 Gerd Moellmann <gerd@gnu.org>
8550
8551 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
8552 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
8553 (move_it_in_display_line_to): Record iterator's ascent and descent
8554 before producing glyphs, and restore them when we know the glyph
8555 doesn't fit on the line.
8556 (move_it_to): Restructured so that it's easier to debug. If
8557 moving to a vpos, and not moving to an x or character position,
8558 stop as soon as the specified vpos is reached; don't move further
8559 into that line because that might change the computed line height.
8560 (try_cursor_movement): New function, extracted from the cursor
8561 movement branch of redisplay_window. If ending on a partially
8562 visible line, don't try to scroll if the cursor line is taller
8563 than the window.
8564 (redisplay_window): Use try_cursor_movement.
8565
8566 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8567 because that function doesn't cope with variable-height lines.
8568
8569 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8570 box cursor because that's better visible for large images.
52283633 8571
c51bacd6
MB
85722000-08-10 Miles Bader <miles@gnu.org>
8573
8574 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8575
bea56df7
GM
85762000-08-10 Gerd Moellmann <gerd@gnu.org>
8577
8578 * xdisp.c (Vmessages_buffer_name): New variable.
8579 (message_dolog): Use it.
8580 (syms_of_xdisp): Initialize it.
8581
99cd7364
EZ
85822000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8583
52283633 8584 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
8585 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8586 redundant now that keyboard.h is included.
8587
7d093d56
EZ
85882000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8589
8590 * keyboard.c (kbd_buffer_events_waiting): New function.
8591
8592 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8593
8594 * msdos.c: Include keyboard.h.
8595 (XMenuActivate): Empty no_event events from the event buffer. If
8596 no events are left after that, call clear_input_pending.
8597 (mouse_clear_clicks): New function, code moved from mouse_init.
8598 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8599 mouse driver to ``forget'' any past clicks.
8600
8601 * Makefile.in (msdos.o): Depend on keyboard.h.
8602
41e757a6
GM
86032000-08-09 Gerd Moellmann <gerd@gnu.org>
8604
8e7bd231
GM
8605 * lisp.h (input_pending): External declaration.
8606
8607 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8608
8e7bd231
GM
8609 * xdisp.c (echo_area_display): Display thoroughly if input is
8610 pending. Bind redisplay-dont-pause to t during the redisplay.
8611 in case input is pending.
8612
8613 * dispnew.c (Qredisplay_dont_pause): New variable.
8614 (syms_of_display): Initialize and staticpro it.
8615 (update_frame_1): Don't interrupt the display for pending input if
8616 redisplay_dont_pause is set.
52283633 8617
43028b7e
GM
8618 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8619
41e757a6
GM
8620 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8621
2f2174fa
KH
86222000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8623
8624 * callproc.c (Fcall_process): Terminate the unwind-protect around
8625 the post-read-conversion of coding system.
8626
0a6fd67e
MB
8627 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8628 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8629 * buffer.h (overlays_at): Update prototype.
8630 * xdisp.c (next_overlay_change): Update call to overlays_at.
8631 * xfaces.c (face_at_buffer_position): Likewise.
8632 * textprop.c (Fget_char_property): Likewise.
8633 * xterm.c (note_mouse_highlight): Likewise.
8634
0c80756e
MB
8635 * minibuf.c (do_completion): Don't consider a simple change of
8636 case as `completion'.
8637
975f250a
KR
86382000-08-08 Ken Raeburn <raeburn@gnu.org>
8639
52283633 8640 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8641 * undo.c (record_delete): Make sure last_point_position_buffer is
8642 a buffer before comparing pointers.
8643
8644 * coding.h (decode_coding_string): Declare.
8645
8646 * intervals.h (Fprevious_single_char_property_change): Declare.
8647
8648 * textprop.c (Fprevious_single_char_property_change): Don't do
8649 arithmetic directly on lisp objects.
8650
52283633 8651 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
8652
8653 * keyboard.h (menu_item_eval_property): Declare.
8654
8655 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8656 reuse as buffer name, instead of recreating (and discarding) every
8657 time a message is logged.
8658 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
8659 (current_message_1, truncate_message_1, set_message_1)
8660 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8661 (current_message, truncate_echo_area, display_echo_area)
8662 (resize_echo_area_axactly): Changed calls.
b347b3fd 8663
975f250a 8664 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 8665 Lisp object.
975f250a 8666 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 8667 must be an integer, not a Lisp object.
975f250a 8668
46dc9912
KH
86692000-08-08 Kenichi Handa <handa@etl.go.jp>
8670
8671 * charset.c (Fchar_width): Doc fix.
8672
9f6d1a6c
GM
86732000-08-08 Gerd Moellmann <gerd@gnu.org>
8674
8675 * charset.c (Fstring_width): Doc fix.
8676
ff3d9573
GM
86772000-08-07 Gerd Moellmann <gerd@gnu.org>
8678
41e757a6 8679 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
8680 line, clear ascent and descent members of the iterator structure;
8681 the height of the continued line does not affect the height of the
8682 continuation line.
8683 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8684 line taller than the window.
8685 (redisplay_window) <forced window start>: Handle case that the
8686 middle of the window is not found in any row.
8687 (dump_glyph_row): Show more information.
8688 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8689 first text line in a glyph matrix.
8690
8691 * xterm.c (x_draw_image_foreground): Avoid drawing outside
8692 of the clip area when image doesn't have a mask.
8693
70fc58b3
GM
8694 * fns.c (sweep_weak_table): Fix survival conditions for
8695 key-or-value and key-and-value weakness.
8696
8697 * .gdbinit (xhashtable): New command.
8698
ac0e96ee
GM
8699 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
8700 tables out of the list of all weak hash tables.
8701
ff3d9573
GM
8702 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
8703 a new buffer is created, make sure echo_area_buffer[] references
8704 the new buffer.
8705
e0d8827b
EZ
87062000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
8707
8708 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
8709 the doc string.
8710
c6f35378
KH
87112000-08-07 Kenichi Handa <handa@etl.go.jp>
8712
8713 * syntax.c (skip_chars): Fix previous change. Make the handling
8714 of unibyte string consistent with that of regex search.
8715
1fd4c450
GM
87162000-08-05 Gerd Moellmann <gerd@gnu.org>
8717
e49aa397
GM
8718 * xmenu.c (popup_get_selection): Use xfree instead of free.
8719
8720 * fileio.c (Finsert_file_contents): Use xfree instead of free.
8721
8722 * editfns.c (Ftranspose_regions): Use xfree instead of free.
8723
8724 * callproc.c (child_setup): Use xfree instead of free.
8725
8726 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
8727 instead of malloc.
8728 (run_mac_command, closedir): Use `xfree' instead of `free'.
8729
8730 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
8731
8732 * eval.c (error): Use xfree instead of free.
8733
1fd4c450
GM
8734 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
8735
8736 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8737 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8738
82d497fc
KH
87392000-08-05 Kenichi Handa <handa@etl.go.jp>
8740
8741 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8742 conversion.
8743
59f953a2
NF
87442000-08-04 Noah Friedman <friedman@splode.com>
8745
8746 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8747 docstring.
8748
688351f2
GM
87492000-08-04 Gerd Moellmann <gerd@gnu.org>
8750
8751 * syntax.c (skip_chars): Fix typo in error message.
8752
2dad51cc
AS
87532000-08-04 Andreas Schwab <schwab@suse.de>
8754
8755 * m/ia64.h: Moved from s/ia64.h.
8756
99bb2c60
KH
87572000-08-04 Kenichi Handa <handa@etl.go.jp>
8758
082a1df2
KH
8759 * process.c (read_process_output): Big simplification. Handle
8760 composition and post-read-conversion of coding system correctly.
8761 (send_process): Handle composition correctly.
8762
8763 * callproc.c (Fcall_process): Handle post-read-conversion of
8764 coding system if any.
8765
99bb2c60
KH
8766 * coding.c (decode_coding_iso2022): More strict check for handling
8767 single shifting.
082a1df2
KH
8768 (coding_restore_composition): Pay attention to the case that
8769 cmp_data is not set properly (because of invalid code in the
8770 source text).
8771 (run_pre_post_conversion_on_str): Include text properties in the
8772 resulting string.
8773 (decode_coding_string): Set members of coding correctly.
99bb2c60 8774
f4988be7
GM
87752000-08-03 Gerd Moellmann <gerd@gnu.org>
8776
8777 * s/ia64.h: New file.
8778
8779 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8780 Use NULL instead of 0 at the end of variable argument list of
8781 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8782 sizeof (int) < sizeof (void *).
8783
8784 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8785 of variable argument lists of XtVaGetValues and XtVaSetValues.
8786
8787 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8788 variable argument lists of XtVaGetValues and XtVaSetValues.
8789
ead53494
GM
87902000-08-02 Gerd Moellmann <gerd@gnu.org>
8791
8792 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8793 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8794
8795 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8796 prototype.
8797
8798 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8799 in call to Fsingle_key_description.
8800
8801 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8802 Callers changed.
8803
88042000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8805
8806 * window.c (display_buffer_reuse_frames): New variable.
8807 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8808 frames displaying BUFFER.
52283633 8809 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8810
10b0f752
MB
88112000-08-01 Miles Bader <miles@gnu.org>
8812
8813 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8814 when to constrain NEW_POS (they were pretty screwed up before).
8815
16425c4a
EZ
88162000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8817
8818 * msdos.c (run_msdos_command): Save and restore the master
8819 environment, for the case that child_setup signals an error.
8820 When mirroring slashes in DOS shell commands, don't fail when
8821 argv[2] has embedded blanks.
da288c14
EZ
8822 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8823 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8824 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8825
8826 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
8827 using alloca; free it after run_msdos_command returns.
8828
27f73852
DL
88292000-07-27 Dave Love <fx@gnu.org>
8830
52283633
SM
8831 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
8832 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
8833
8834 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
8835
c0261b5e
EZ
88362000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
8837
8838 * editfns.c (lisp_time_argument): Fix last change.
8839
b548072f
GM
88402000-07-27 Gerd Moellmann <gerd@gnu.org>
8841
3ab82477
GM
8842 * fns.c (Fdelete): Make it work on vectors and strings in addition
8843 to lists.
8844
b548072f
GM
8845 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
8846 (syms_of_fns): Initialize new variables.
52283633 8847 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
8848 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
8849 weakness, with t meaning the same as `key-and-value'.
8850
91ae8751
KH
88512000-07-27 Kenichi Handa <handa@etl.go.jp>
8852
8853 * coding.h (struct coding_system): Member safe_charset deleted.
8854
8855 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
8856 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
8857 New variables.
91ae8751
KH
8858 (coding_safe_chars): New function.
8859 (CODING_SAFE_CHAR_P): New macro.
8860 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 8861 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
8862 (detect_coding_iso2022): New local variable safe_chars.
8863 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
8864 safe_charsets member of the coding system.
8865 (decode_coding_iso2022): New local variable safe_chars.
8866 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
8867 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
8868 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
8869 (ENCODE_UNSAFE_CHARACTER): New macro.
8870 (encode_coding_iso2022): New local variable safe_chars. Check
8871 unsafe chars.
8872 (setup_coding_system): Delete the code to initialize
8873 coding->safe_charses
8874 (intersection, find_safe_codings): New functions.
8875 (Ffind_coding_systems_region_internal): New function.
8876 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
8877 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
8878 variable and initialize it.
8879
8880 * fns.c (char_table_ref_and_index): New function.
8881
8882 * lisp.h (char_table_ref_and_index): Add prototype.
8883
34a7a267
SS
88842000-07-26 Sam Steingold <sds@gnu.org>
8885
8886 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 8887 (Ffloat_time): New built-in Lisp function.
34a7a267 8888
a95cb10a
GM
88892000-07-26 Gerd Moellmann <gerd@gnu.org>
8890
3353ef5a
GM
8891 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
8892 for the character code.
8893
8894 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
8895 GNU/Linux.
8896
a95cb10a
GM
8897 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
8898 if called for a popup menu.
8899 (xmenu_show): Store help string in widget values.
8900
b4a12321
DL
89012000-07-26 Dave Love <fx@gnu.org>
8902
8903 * syswait.h: Move some definitions.
8904 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
8905 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
8906 perspicuous definitions.
8907 (WTERMSIG): Fix bit pattern used.
8908
13f5ad37
KH
89092000-07-26 Kenichi Handa <handa@etl.go.jp>
8910
8911 * print.c (print_object): If vector printing is truncated, print
8912 "..." to indicate it as well as the case of list printing.
8913
070fe99c
GM
89142000-07-25 Gerd Moellmann <gerd@gnu.org>
8915
969065c3
GM
8916 * xdisp.c (next_element_from_display_vector): Improve comments.
8917
8918 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
8919 for the character code, and the rest for the face id as in 20.x.
8920 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
8921
8922 * window.c (window_display_table): Cleaned up.
8923
070fe99c
GM
8924 * syntax.c (Fforward_word): Add last arg nil in call of
8925 Fconstrain_to_field.
8926
bad77ef7
EZ
89272000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
8928
969065c3 8929 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
8930 identical but for the letter-case, don't call
8931 barf_or_query_if_file_exists.
bad77ef7 8932
c28da489
MB
89332000-07-25 Miles Bader <miles@gnu.org>
8934
8935 * editfns.c (find_field): Honor special `boundary' fields.
8936 (Qboundary): New variables.
8937 (syms_of_editfns): Initialize Qboundary.
8938 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
8939 Use scan_buffer instead of find_before_next_newline, because it
8940 allows us to detect the boundary case where there's a newline at
8941 the search limit.
8942 * lisp.h (Fconstrain_to_field): Update external declaration.
8943
e3c31fd5
GM
89442000-07-24 Gerd Moellmann <gerd@gnu.org>
8945
8946 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
8947 if that is nil.
c28da489 8948
c66c29a2
DL
89492000-07-24 Dave Love <fx@gnu.org>
8950
8951 * s/sunos4-0.h, s/sol2.h:
8952 (LIBS_TERMCAP): Move from m/sparc.h.
8953
8954 * m/sparc.h (TERMINFO): Moved to system files (probably only
8955 relevant for sunos4 judging by its vintage).
8956 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
8957 __arch64__.
8958
fbe0a958
EZ
89592000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
8960
8961 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
8962 name to single_keymap_panes.
8963
7d88e5c9
AS
89642000-07-24 Andreas Schwab <schwab@suse.de>
8965
8966 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
8967
e024b101
GM
89682000-07-24 Gerd Moellmann <gerd@gnu.org>
8969
8970 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
8971 parameters instead of using int parameters. Expect FN to accept
8972 EMACS_INT parameters.
8973 (display_echo_area, resize_echo_area_axactly, current_message)
8974 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
8975 with new argument list.
8976 (resize_mini_window_1): New callback function.
8977 (current_message_1, truncate_message_1, set_message_1): Change
52283633 8978 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 8979
25c1a9ce
KH
89802000-07-24 Kenichi Handa <handa@etl.go.jp>
8981
8982 * fontset.c (fontset_ref): Remove INLINE declaration.
8983 (fontset_ref_via_base): Likewise.
8984 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
8985 to downcase.
8986
7f987ac0
EZ
89872000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
8988
8989 * msdos.c (IT_note_mouse_highlight): Process overlays in the
8990 correct order of priority. If help echo was found in an overlay,
8991 use that overlay as the object in which the help echo was found.
8992
e2db3069
MB
89932000-07-22 Miles Bader <miles@gnu.org>
8994
8995 * textprop.c (Fprevious_single_char_property_change): The initial
8996 property value should be from the position preceding POSITION, not
8997 following it.
8998
5e3203e4
EZ
89992000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9000
9001 * coding.c (syms_of_coding): Doc fix for
9002 inhibit-iso-escape-detection.
9003
62145073
GM
90042000-07-21 Gerd Moellmann <gerd@gnu.org>
9005
c20aeb83
GM
9006 * xterm.c (note_mouse_highlight): Process overlays in the right
9007 order of priority.
34a7a267 9008
743934db
GM
9009 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9010
9011 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9012 overlay, use that overlay as the object in which the help was found.
743934db 9013
d1dc7e43 9014 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9015
62145073
GM
9016 * window.c (foreach_window): Instead of a fake variable argument
9017 list, take one USER_DATA argument.
9018 (foreach_window_1): Likewise, and call callback functions with two
9019 args, the window and USER_DATA.
9020 (struct check_window_data): New struct.
9021 (check_window_containing): Use it.
9022 (window_from_coordinates): Set up a struct check_window_data for
9023 foreach_window.
9024 (add_window_to_list, freeze_window_start): Change parameters
9025 according to new calling convention.
9026
9027 * window.h (foreach_window): Change prototype.
9028
9029 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9030
90312000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9032
9033 * xmenu.c (menu_help_callback): Call show_help_echo with
9034 additional arguments OBJECT and POS.
9035
11270583
KH
90362000-07-21 Kenichi Handa <handa@etl.go.jp>
9037
07b14857
KH
9038 * data.c (Faset): Allow storing any multibyte character in a
9039 string. Convert unibyte string to multibyte if necessary.
9040
11270583
KH
9041 * xfns.c (x_encode_text): New function.
9042 (x_set_name): Use x_encode_text.
9043 (x_set_title): Likewise.
9044
9045 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9046
9047 * xterm.h (x_encode_text): Add prototype.
9048
bc75b4fd
DL
90492000-07-20 Dave Love <fx@gnu.org>
9050
9051 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9052 xfree, not free.
9053
48c14970
EZ
90542000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9055
9056 * msdos.c (help_echo_window): New variable.
9057 (syms_of_msdos): Initialize and staticpro it.
9058 (IT_note_mode_line_highlight): Set help_echo_window.
9059 (IT_note_mouse_highlight): Ditto.
9060 (dos_rawgetc): Store help_echo_window in the second event produced
9061 for HELP_EVENTs.
9062
9063 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9064 Record the object that generated the help echo and the position of
9065 that object in help_echo_object and help_echo_pos. Record that
9066 some glyphs in a row are displayed in mouse-face.
9067 (IT_update_begin): Don't clear mouse highlight unless one of the
9068 enabled glyph rows is marked as being displayed in mouse-face.
9069 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9070 and position recorded in help_echo_object and help_echo_pos to the
9071 event queue.
9072 (IT_menu_display): Accept a new argument PN: the pane number of
9073 the current menu pane. Record the pane number and the item
9074 number of the item which has associated help string.
9075 (XMenuActivate): Update the prototype for help_callback in
9076 function declaration. Call IT_menu_display with the current menu
9077 pane number as an additional argument. Call help_callback with
9078 two additional arguments: the pane number and the item number of
9079 the menu item associated with the help text.
9080 (help_echo_object, help_echo_pos): New variables.
9081 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9082
9083 * msdos.h (XMenuActivate): Update prototype.
9084
4279296d
GM
90852000-07-19 Gerd Moellmann <gerd@gnu.org>
9086
47db06aa
GM
9087 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9088 Add some more prototypes.
9089
9090 * xterm.c, xterm.h: Add some more prototypes.
9091
9092 * lisp.h (Fnext_single_char_property_change): Add prototype.
9093
9094 * dispnew.c (direct_output_for_insert): Remove confusing
9095 outer local variable mouse_face_overwritten_p.
9096 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9097
4279296d
GM
9098 * alloc.c (allocate_string_data): Don't copy old string contents.
9099
670acd62
KH
91002000-07-19 Kenichi Handa <handa@etl.go.jp>
9101
9102 * coding.c (code_convert_region): Delete text properties before
9103 shrinking the conversion region.
9104
7cea38bc
GM
91052000-07-18 Gerd Moellmann <gerd@gnu.org>
9106
dc1cac59
GM
9107 * dispnew.c (update_text_area): Write the whole row if it
9108 has mouse-face in it.
9109
85a8aca9
GM
9110 * xfaces.c (face-alternative-font-family-alist): Remove
9111 DEFVAR_LISP; staticpro instead.
9112
34a7a267 9113 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9114 new arguments.
9115
9116 * keyboard.c (show_help_echo): Add parameter WINDOW.
9117 (read_char): Call show_help_echo with window extracted from Lisp
9118 help event.
9119 (gen_help_event): Add parameter WINDOW.
9120
9121 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9122
9123 * xterm.c (help_echo_window): New variable.
52283633 9124 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9125 (XTread_socket): Pass help_echo_window to gen_help_event.
9126 (syms_of_xterm): Initialize and staticpro help_echo_window.
9127
f8276b77
DL
91282000-07-18 Dave Love <fx@gnu.org>
9129
52283633 9130 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9131
088831a6
GM
91322000-07-18 Gerd Moellmann <gerd@gnu.org>
9133
3d6cd763
GM
9134 * alloc.c (allocate_string_data): If string had already data
9135 assigned, copy old contents to new string data.
9136
9137 * coding.c (syms_of_coding): Fix typo in spelling of variable
9138 `inhibit-iso-escape-detection'.
9139
088831a6
GM
9140 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9141
9142 * Makefile.in: Add dependencies on dispextern.h.
9143 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9144 `free'; both can conflict with system header files.
9145
bc8a8d55
KH
91462000-07-18 Kenichi Handa <handa@etl.go.jp>
9147
9148 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9149 undefined.
9150
069f5950
DL
91512000-07-18 Dave Love <fx@gnu.org>
9152
9153 * window.c (Fwindow_list): Declare arg `window'.
9154
aa96c820
KH
91552000-07-18 Kenichi Handa <handa@etl.go.jp>
9156
9157 * coding.c (setup_coding_system): Don't override the explicitly
9158 specified designations.
9159
06be8d32
MB
91602000-07-15 Miles Bader <miles@gnu.org>
9161
9162 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9163 from `text_property_eq' and `text_property_stickiness', respectively.
9164 (find_field, Fconstrain_to_field, char_property_eq)
9165 (char_property_stickiness): Changed to call char-property functions
9166 instead of text-property-only ones.
9167
9168 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9169 `next_single_char_property_change'). Do more error checking, and
9170 cleanup limit behavior.
9171 (Fprevious_single_char_property_change): New function.
9172 (syms_of_textprop): Initialize new subrs.
9173
9174 * xdisp.c (display_prop_end, invisible_text_between_p):
9175 Call Fnext_single_char_property_change instead of
9176 next_single_char_property_change.
9177
3fddcdc3
JR
91782000-07-15 Jason Rumney <jasonr@gnu.org>
9179
9180 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9181 after menu is finished with.
9182 (add_menu_item): Only consider wv->title as a menu title.
9183 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9184
9185 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9186 null title.
9187 (FONT_REGEXP): Remove unused macro, and its sub-components.
9188 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9189
9190 * w32term.c (help_echo_object, help_echo_pos): New variables.
9191 (note_mode_line_highlight): Store additional information about the
9192 help-echo in help_echo_object and help_echo_pos. Check both
9193 `local-map' and `keymap' properties for changing the cursor
9194 (note_mouse_highlight): Store additional information about the
9195 help-echo in help_echo_object and help_echo_pos.
9196 (note_tool_bar_highlight): Set help_echo_object to nil and
9197 help_echo_pos to -1.
9198 (w32_read_socket): Use gen_help_event instead of filling
9199 input_events manually.
9200 (syms_of_w32term): Staticpro help_echo_object.
9201 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9202 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9203 (x_clear_mouse_face): New function.
9204 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9205 (x_update_window_begin): No need to turn off the mouse
9206 highlight here.
9207 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9208 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9209 (x_fill_stretch_glyph_string): Consume runs of stretch
9210 glyphs instead of a single one.
9211 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9212 with new argument list.
9213 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9214 (x_append_glyph, x_append_composite_glyph)
9215 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9216 changes in struct glyph starting 1999-12-27. See comments for
9217 xterm.c on 2000-07-05.
9218
178c5d9c
SS
92192000-07-14 Sam Steingold <sds@gnu.org>
9220
9221 * xfaces.c (realize_x_face): Fix the last patch:
9222 check `default_face' before dereferencing.
9223
6fe533f6
DL
92242000-07-14 Dave Love <fx@gnu.org>
9225
069f5950 9226 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9227
dd7b81cf
KH
92282000-07-14 Kenichi Handa <handa@etl.go.jp>
9229
0693904a 9230 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9231 default_face's fontset, not using the default fontset.
0693904a 9232
dd7b81cf
KH
9233 * coding.c (inhibit_iso_escape_detection): New variable.
9234 (syms_of_coding): Make it a Lisp variable.
9235 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9236 nonzero, ignore ISO2022's escape sequence.
9237
d5aa31d8
GM
92382000-07-14 Gerd Moellmann <gerd@gnu.org>
9239
e5acf0ca
GM
9240 * alloca.c (malloc) [emacs]: Define as xmalloc.
9241
bd23a692
GM
9242 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9243 use that instead of the mouse position. Add parameters DX and DY.
9244
9245 * dispextern.h (Fx_show_tip): Adjust number of parameters
9246 in prototype.
9247
9662da0b
GM
9248 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9249 if HELP is a function, call it with OBJECT and POS as parameters
9250 to get the help to display.
9251 (gen_help_event, kbd_buffer_store_help_event): New functions.
9252 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9253 (read_char): Call show_help_echo with new parameters.
9254
178c5d9c 9255 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9256 Add prototypes.
9257
9258 * xterm.c (help_echo_object, help_echo_pos): New variables.
9259 (note_mode_line_highlight): Store additional information about the
9260 help-echo in help_echo_object and help_echo_pos. Check both
9261 `local-map' and `keymap' properties for changing the cursor
9262 (note_mouse_highlight): Store additional information about the
9263 help-echo in help_echo_object and help_echo_pos.
9264 (note_tool_bar_highlight): Set help_echo_object to nil and
9265 help_echo_pos to -1.
9266 (XTread_socket): Use gen_help_event instead of filling
9267 input_events manually.
9268 (syms_of_xterm): Staticpro help_echo_object.
9269
9270 * xmenu.c (menu_highlight_callback): Use
9271 kbd_buffer_store_help_event instead of setting up and input_event
9272 structure manually.
9273
9274 * xdisp.c (eval_form): GCPRO argument sexpr.
9275 (call_function): New function.
9276 (handle_single_display_prop): Use call_function and FUNCTIONP
9277 instead of checking whether if font_height is a symbol and
9278 using eval_form.
9279
9280 * eval.c (internal_condition_case_2): New function.
9281
9282 * lisp.h (FUNCTIONP): New macro.
9283 (internal_condition_case_2, call_function): Add prototypes.
9284
d5aa31d8
GM
9285 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9286 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9287 Always set `arg' member of input_events.
9288 (construct_menu_click): Unused function removed.
9289
9290 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9291
9292 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9293 (construct_drag_n_drop, x_scroll_bar_handle_click)
9294 (w32_read_socket): Always set `arg' member of input_events.
9295
9296 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9297
9298 * lisp.h (eval_form): Add prototype.
9299
9300 * xdisp.c (eval_form): Make it externally visible.
9301
0f1a9b23
GM
93022000-07-13 Gerd Moellmann <gerd@gnu.org>
9303
9304 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9305 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9306 consing. For prefix events, store the frame in the `arg' slot of
9307 the event, otherwise store the key there.
9308 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9309 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9310
9311 * xmenu.c (menu_highlight_callback): Store help string in the
9312 `arg' member of the input event; don't cons.
9313 (menubar_selection_callback): Use the `arg' slot of input events
9314 to queue additional information, instead of consing.
9315
9316 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9317
9318 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9319 TOOL_BAR_EVENTs.
9320 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9321
9322 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9323 input events to queue additional information, instead of consing.
9324
9325 * keyboard.c (kbd_buffer_gcpro): Renamed from
9326 kbd_buffer_frame_or_window. Now used for all Lisp objects
9327 referenced from the input queue.
9328 (kbd_buffer_store_event): Always use structure assignment for
9329 copying input events. Record all Lisp objects referenced from
9330 events in kbd_buffer_gcpro.
9331 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9332 differently from input events. Test for prefix menu_bar_events
9333 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9334 event in kbd_buffer_gcpro to nil.
9335 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9336 frame_or_window is equal to its arg member as prefix events.
9337 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9338 used by an input event to nil.
9339 (init_keyboard): Use two times the size of the input queue
9340 for kbd_buffer_gcpro.
9341 (syms_of_keyboard): Likewise.
9342
52283633
SM
9343 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9344 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9345
9346 * termhooks.h (struct input_event): Add member `arg'.
9347 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9348 (USER_SIGNAL_EVENT): Renamed from user_signal.
9349
9350 * xfaces.c (ASET): Remove definition.
9351
9352 * lisp.h (AREF, ASET, ASIZE): New macros.
9353
9354 * fontset.c (AREF, ASIZE): Remove definitions.
9355
9356 * fns.c (AREF): Remove definition.
178c5d9c 9357
0f1a9b23
GM
9358 * composite.c (AREF): Remove definition.
9359
712eaef2
GM
93602000-07-12 Gerd Moellmann <gerd@gnu.org>
9361
d8ee7803
GM
9362 * dispnew.c (redraw_overlapped_rows): Add missing local.
9363 (scrolling_window): Remove debug code.
9364
712eaef2
GM
9365 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9366 Before scrolling, turn off a mouse-highlight in the window
9367 being scrolled.
9368
9369 * xterm.c (x_update_window_end): Add parameter
9370 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9371 redisplay in XTframe_up_to_date.
9372 (x_clear_mouse_face): New function.
9373 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9374
9375 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9376 current glyph row.
9377 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9378 it when any row is written to that contains glyphs highlighted in
9379 mouse-face.
9380 (update_window): Call the window update end hook with new
9381 parameter MOUSE_FACE_OVERWRITTEN_P.
9382 (direct_output_for_insert): Give up if row contains mouse-face.
9383
9384 * dispextern.h (struct redisplay_interface): Add parameter
9385 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9386 (clear_mouse_face): New function pointer member.
9387
02010917
SM
93882000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9389
9390 * syntax.c (back_comment): Use one switch rather than a few `if's.
9391 Obey open_paren_in_column_0_is_defun_start.
9392 When reverting to the `slow' method, try to nicely handle the case
9393 of nested comments by checking that the comment-starter we found
9394 does indeed match the comment-ender.
9395 (scan_sexps_forward, scan_sexps_forward):
9396 Ignore excessive opening parenthesis rather than throwing an error.
9397
d76c03ea
GM
93982000-07-11 Gerd Moellmann <gerd@gnu.org>
9399
9400 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9401 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9402
9403 * dispnew.c (direct_output_forward_char): Give up if currently
9404 displaying a message instead of the minibuffer contents.
9405
9406 * xterm.c (x_update_window_begin): No need to turn off the mouse
9407 highlight here.
9408 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9409 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9410
9411 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9412 compare the mouse_face_p flags of both rows.
9413
9414 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9415
d55ead18
EZ
94162000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9417
9418 * keyboard.c (show_help_echo): Accept additional parameter
9419 ok_to_overwrite_keystroke_echo.
9420 (read_char): Call show_help_echo with a zero
9421 ok_to_overwrite_keystroke_echo argument.
52283633 9422 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9423 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9424 ok_to_overwrite_keystroke_echo argument.
9425 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9426 non-zero ok_to_overwrite_keystroke_echo argument.
9427
df75b1a3
GM
94282000-07-10 Gerd Moellmann <gerd@gnu.org>
9429
4b92c49a
GM
9430 * xdisp.c (try_window_id): If changes are all below what is
9431 displayed in the window, and point is in the window, we still
9432 might have to find point on the display.
9433
9434 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9435 glyphs instead of a single one.
9436 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9437 with new argument list.
9438 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9439
df75b1a3
GM
9440 * keymap.c (get_keymap_1): Add comment that this function can GC.
9441 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9442 comment that functions can GC.
9443 (Fset_keymap_parent): GCPRO arg KEYMAP.
9444
4314cf3e
EZ
94452000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9446
9447 * msdos.c (XMenuActivate): After exiting the menu, restore the
9448 echo area message and erase it.
9449
ab49ce15
KH
94502000-07-10 Kenichi Handa <handa@etl.go.jp>
9451
9452 * fontset.c (Ffontset_info): Make the return value more compatible
9453 with that of Emacs 20.
9454
090a072f
GM
94552000-07-07 Gerd Moellmann <gerd@gnu.org>
9456
9457 * eval.c (Fsignal): Handle case that backtrace_list is null.
9458
f92de4a6
KH
94592000-07-07 Kenichi Handa <handa@etl.go.jp>
9460
9461 * ccl.c (Fccl_execute): Typo fixed.
9462
dd8888a1
GM
94632000-07-06 Gerd Moellmann <gerd@gnu.org>
9464
e5c81191 9465 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9466
dd8888a1
GM
9467 * window.c (Fwindow_list): Reverse list at the end.
9468 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9469 means allow windows on OWINDOW's frame, only.
9470 (window_loop): Simplified; use Fwindow_list.
9471
9472 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9473
485266d0
GM
94742000-07-05 Gerd Moellmann <gerd@gnu.org>
9475
9476 * xterm.c (XTread_socket): Increment handling_signal at the start,
9477 decrement it at the end.
9478
9479 * eval.c (handling_signal): New variable.
9480 (Fsignal): Abort if handling_signal is non-zero.
9481
9482 * lisp.h (handling_signal): External declaration.
178c5d9c 9483
485266d0
GM
9484 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9485
80fcd514
KR
94862000-07-05 Ken Raeburn <raeburn@gnu.org>
9487
9488 Sound support for NetBSD through "Linux emulation" support:
9489 * config.in (HAVE_SOUNDCARD_H): Undef.
9490 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9491 * Makefile.in (LIBSOUND): New variable.
9492 (LIBES): Include it.
52283633
SM
9493 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9494 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9495 (vox_open): Use DEFAULT_SOUND_DEVICE.
9496 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9497
d5c5cddd
GM
94982000-07-05 Gerd Moellmann <gerd@gnu.org>
9499
9500 * print.c (print_error_message): If Vsignaling_function is set,
9501 show it in *Messages*.
9502
9503 * lisp.h (Vsignaling_function): External declaration.
9504
9505 * eval.c (Vsignaling_function): New variable.
9506 (Fsignal): Compute it.
9507 (syms_of_eval): Staticpro it.
9508
65171e3a
DL
95092000-07-05 Dave Love <fx@gnu.org>
9510
9511 * syswait.h: Use the autoconf recommended approach. Old code
9512 #if'd out in case we need to revert.
9513
178c5d9c 9514 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 9515
e2c46326
AI
95162000-07-05 Andrew Innes <andrewi@gnu.org>
9517
9518 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
9519 when non-NULL instead of __morecore, to take account of buffer
9520 memory. This also solves a problem with spurious memory warnings
9521 on Windows.
9522
9523 * ralloc.c: Make real_morecore non-static.
9524
9525 * eval.c (internal_condition_case): Comment out abort if
9526 interrupt_input_blocked is not zero.
9527
9528 * makefile.nt: Add support for `bootstrap' and related targets.
9529 Include minimal debug info in emacs.exe in release build.
9530 Remove all dependencies on lisp.h, and fixup some others.
9531
9532 * w32.c (init_environment): Install code from 20.7 for providing
9533 default values for environment variables, based on the
9534 executable's own location.
52283633 9535 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
9536 (sys_socket): Install socket inheritance bug fix from 20.7.
9537
9538 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
9539 here via blockinput.h).
9540
a027a91b
SM
95412000-07-05 Stefan Monnier <monnier@cs.yale.edu>
9542
e4b31601
SM
9543 * w32menu.c (w32_menu_display_help):
9544 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
9545
9546 * keyboard.h (show_help_echo): Declare.
9547
9548 * keyboard.c (show_help_echo): New function, extracted from read_char.
9549 Feval its `msg' argument if it's a cons cell.
9550 (read_char): Use it.
4cf8d9d5 9551 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 9552
178c5d9c 9553 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 9554 (note_tool_bar_highlight, XTread_socket):
178c5d9c 9555 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
9556 (dos_rawgetc):
9557 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9558 (note_tool_bar_highlight, w32_read_socket):
9559 Do not gratuitously ignore non-string `help-echo' properties.
9560
88d75730
GM
95612000-07-05 Gerd Moellmann <gerd@gnu.org>
9562
969f7e79
GM
9563 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9564
71201b00
GM
9565 * window.c (delete_all_subwindows): Reset Vwindow_list.
9566
88d75730
GM
9567 * xterm.c (x_append_glyph, x_append_composite_glyph)
9568 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9569 changes in struct glyph starting 1999-12-27. Some bit-fields of
9570 struct glyph were not set, which made glyphs unequal when compared
9571 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9572 effects were the result. This also depended on the contents of
9573 memory returned by xmalloc. If flickering happens again, activate
9574 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9575 gone with that, chances are that it is caused by something similar.
88d75730
GM
9576
9577 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9578
88d75730
GM
9579 * dispextern.h: Add some comments.
9580
9581 * window.c (add_window_to_list): Add parameter LIST.
9582 (window_list): Order list so that, for each frame, windows are
9583 in canonical order, and so that frames appear in the list in
9584 the order given by Vframe_list.
9585 (next_window): Reverse the handling of NEXT_P.
9586
53654733
GM
95872000-07-04 Gerd Moellmann <gerd@gnu.org>
9588
87efd256
GM
9589 * window.c (Vwindow_list): New variable.
9590 (make_window, delete_window): Set Vwindow_list to nil.
9591 (check_window_containing): New function.
9592 (window_from_coordinates): Rewritten.
9593 (add_window_to_list, window_list, candidate_window_p)
9594 (decode_next_window_args, next_window): New functions.
52283633 9595 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
9596 (Fwindow_list): New function.
9597 (Fother_window): Cleaned up.
9598 (foreach_window): Add a longer "variable argument list". Let
9599 callback function return 0 to indicate that cycling over windows
9600 should stop.
9601 (foreach_window_1): Likewise.
9602 (freeze_window_start): Return int.
9603 (init_window): New function.
9604 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9605
9606 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9607 input_event with bzero.
9608 (main): Call init_window.
9609
53654733
GM
9610 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9611 a menu filter.
9612
4a8c194f
KH
96132000-07-04 Kenichi Handa <handa@etl.go.jp>
9614
9615 * composite.h (make_composition_value_copy): Extern it.
9616
9617 * composite.c (make_composition_value_copy): New function.
9618
9619 * editfns.c (Fformat): While copying text properties, make each
9620 composition property value a copy.
9621
9622 * fns.c (concat): While copying text properties, make each
9623 composition property value a copy.
9624
831a6cb0
GM
96252000-07-03 Gerd Moellmann <gerd@gnu.org>
9626
2f516940
GM
9627 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9628
178c5d9c 9629 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9630 marked already.
9631
831a6cb0
GM
9632 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9633 include those frames as candidates which have their focus
9634 redirected to the minibuffer frame.
9635
d9c4f922
SM
96362000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9637
9638 * fns.c (Fputhash): Return `value' rather than nil.
9639
3780bc22
GM
96402000-06-30 Gerd Moellmann <gerd@gnu.org>
9641
97d176db
GM
9642 * frame.c (next_frame): Don't check focus redirection in case
9643 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9644 unless their focus is redirected, which contradicts the
9645 specification of next-frame, and leads to infinite loops in
9646 certain situations when cycling through windows with next-window.
9647
dca9961d
KH
96482000-06-30 Kenichi Handa <handa@etl.go.jp>
9649
9650 * coding.c (code_convert_region): Even if the length of text is
9651 zero, try to convert it if coding->type is coding_type_ccl.
9652 (decode_coding_string, encode_coding_string): Likewise.
9653
d5483ab1
GM
96542000-06-28 Gerd Moellmann <gerd@gnu.org>
9655
af5c25e1 9656 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 9657 the display if windows_or_buffers_changed.
af5c25e1
GM
9658
9659 * dispnew.c (struct row_entry): New structure.
9660 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9661 (row_table_size, old_lines, new_lines, old_lines_size)
9662 (new_lines_size, run_pool, runs_size, runs): New variables.
9663 (add_row_entry): New function.
9664 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 9665 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
9666 holding them in local variables. Use a larger hash table whose
9667 size depends on glyph matrix sizes. Don't use bzero to clear the
9668 hash table; instead, clear used slots only.
9669
9670 * fns.c (next_almost_prime): Make it externally visible.
9671
9672 * lisp.h (next_almost_prime): Add prototype.
9673
d5483ab1
GM
9674 * s/isc4-0.h (sigunblock): Define.
9675
9676 * s/sco5.h (sigunblock): Define.
9677
93e40f40
DL
96782000-06-27 Dave Love <fx@gnu.org>
9679
9680 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9681 (moved to osf5-0.h).
9682 [!NOT_C_CODE]: Protect string.h stuff.
9683
9684 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9685 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9686
3c4b7685
GM
96872000-06-27 Gerd Moellmann <gerd@gnu.org>
9688
97d176db 9689 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
9690 below the last line from the needed window height.
9691
32cad0aa
SM
96922000-06-26 Stefan Monnier <monnier@cs.yale.edu>
9693
9694 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
9695 (Fwidget_get): Use it.
9696 (syms_of_fns): Defsubr it.
9697
2c69ced2
GM
96982000-06-26 Gerd Moellmann <gerd@gnu.org>
9699
178c5d9c 9700 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
9701 display info for XIM.
9702 (xim_open_dpy): Likewise.
9703 (xim_close_dpy): Don't free the display info's XIM.
9704
9705 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
9706
9707 * config.in (USE_XIM): New define.
9708
3fc720e4
GM
9709 * keymap.c (get_keyelt): For menu-items containing a `:filter
9710 FILTER', apply FILTER to the menu-item's definition to get the
9711 real definition to use.
9712
9713 * lisp.h (QCfilter): External declaration.
9714
2c69ced2
GM
9715 * xfns.c (Fimage_size): New function.
9716 (syms_of_xfns): Defsubr it.
9717
f978b2a2
AS
97182000-06-26 Andreas Schwab <schwab@suse.de>
9719
9720 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
9721 Fstring_as_unibyte.
9722
94cc7892
DL
97232000-06-25 Dave Love <fx@gnu.org>
9724
52283633 9725 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
9726
9727 * Makefile.in (blockinput.h): Depend on atimer.h.
9728 (atimer.h): Depend on systime.h.
9729
52283633 9730 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 9731
52283633 9732 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
9733
9734 * lisp.h (swap_in_global_binding): Declare.
9735
b8c24556
KR
97362000-06-24 Ken Raeburn <raeburn@gnu.org>
9737
9738 * process.c (Fopen_network_stream): Turn off atimers for duration
9739 of call to connect. (Patch from Gerd.)
9740
8cf8560b
DL
97412000-06-23 Dave Love <fx@gnu.org>
9742
511c7541
DL
9743 * ralloc.c: Maybe include unistd.h
9744
8cf8560b
DL
9745 * emacs.c (setgrp): Undefine before defining.
9746 (malloc_warning, set_time_zone_rule, index): Prototype.
9747
9748 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9749 HAVE_STRUCT_TIMEZONE.
9750
9751 * s/osf1.h: Move string.h hack here from alpha.h and make it
9752 conditional.
9753 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9754 _XOPEN_SOURCE.
9755 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9756 (SOCKLEN_TYPE): Don't define.
9757
9758 * m/alpha.h: Remove string.h hack.
9759
9760 * s/osf5-0.h: New file.
9761
9762 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9763 include time.h, done by systime.h.
9764 [__FreeBSD__]: Remove redundant includes.
9765
3fc720e4 9766 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9767 (delete_temp_file): Return Qnil to avoid warning.
9768
9769 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9770
9771 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9772 HAVE_X_WINDOWS.
9773
9774 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9775
9776 * composite.h (compose_text): Declare.
9777
9778 * xterm.c: Don't include sys/types.h unconditionally. Don't
9779 protect its inclusion with !USG (following xmenu.c).
9780
ea055732
GM
97812000-06-23 Gerd Moellmann <gerd@gnu.org>
9782
9783 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9784 in x_create_frame.
9785
74b01b80
EZ
97862000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9787
9788 * coding.c (decode_eol_post_ccl): Special handling for undecided
9789 and inconsistent EOL types.
9790
64f3a166
GM
97912000-06-22 Gerd Moellmann <gerd@gnu.org>
9792
16cf31f7
GM
9793 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9794 trough color and main window's background color.
9795
52283633 9796 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9797
9798 * xterm.h (Xt_app_con): External declaration.
9799
9800 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9801
486a103d
GM
9802 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9803
64f3a166
GM
9804 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9805 (handle_invisible_prop): Record the start of invisible text in
9806 it->add_overlay_start.
9807 (struct overlay_entry): Add member `overlay'.
9808 (handle_overlay_change): Simplify.
9809 (next_overlay_string): After having processed overlay strings at the
9810 end of the buffer, record that fact in
9811 it->overlay_strings_at_end_processed_p.
9812 (compare_overlay_entries): If before- and after-strings come
9813 from the same overlay, let before-strings come first.
9814 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9815 (load_overlay_strings): Take it->add_overlay_start into account
9816 when adding overlay strings.
9817
9818 * dispextern.h (struct it): Add member add_overlay_start.
9819
bb746ea6
DL
98202000-06-22 Dave Love <fx@gnu.org>
9821
9822 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9823
9824 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9825
a8f573f3
KH
98262000-06-22 Kenichi Handa <handa@etl.go.jp>
9827
9828 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
9829 is greater than 0.
9830
9f2bbc92
DL
98312000-06-21 Dave Love <fx@gnu.org>
9832
178c5d9c 9833 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 9834
3ee5041c
SM
98352000-06-21 Stefan Monnier <monnier@cs.yale.edu>
9836
9837 * syntax.c (back_comment): Simplify string-parity counting (with
9838 the added benefit of handling multiple string-styles as long as
9839 they are not intertwined).
9840 Jump to the slow code as soon as a comment starter is found in
9841 a "string_lossage" position. Fixes the case: " /* " /* " */.
9842
4c343001
DL
98432000-06-21 Dave Love <fx@gnu.org>
9844
9845 * Makefile.in: Use GETLOADAVG_LIBS.
9846
9847 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
9848 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
9849
e6365855
SM
98502000-06-20 Stefan Monnier <monnier@cs.yale.edu>
9851
9852 * syntax.c (describe_syntax): Recognize the `n'estable bit.
9853 (Fforward_comment, scan_lists):
9854 Check the comstyle of single-char comment-starters.
9855 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
9856 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
9857 Check the comstyle of single-char comment-starters.
9858 Clarify control-flow around the Scomment case.
e6365855 9859
5700d2cc
DL
98602000-06-20 Dave Love <fx@gnu.org>
9861
d355bd8a
SM
9862 * fns.c (make_hash_table, maybe_resize_hash_table):
9863 Cast arg of next_almost_prime.
5700d2cc 9864
178c5d9c 9865 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
9866
9867 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
9868 and unistd.h.
9869
4a27bdfb
GM
98702000-06-20 Gerd Moellmann <gerd@gnu.org>
9871
a61d762c 9872 * keyboard.c (adjust_point_for_property): Check if display
52283633 9873 property should be treated as intangible by looking at its value.
a61d762c 9874
178c5d9c 9875 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
9876 (display_prop_intangible_p): New functions.
9877
9878 * dispextern.h (display_prop_intangible_p): Add prototype.
9879
9880 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 9881
4a27bdfb
GM
9882 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
9883 argument to sigprocmask.
9884
9885 * s/sco5.h (sigblock): Redefined to pass a pointer as second
9886 argument to sigprocmask.
9887
9888 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
9889 sigprocmask_set, and pass a pointer to it to sigprocmask.
9890
9891 * sysdep.c (sigprocmask_set): New variable.
9892
9893 * fileio.c (make_temp_name): Don't use `%s' in string passed to
9894 report_file_error.
9895
427ec082
SS
98962000-06-20 Sam Steingold <sds@gnu.org>
9897
9898 * xrdb.c: Don't declare xmalloc, xrealloc.
9899
8972fe79 99002000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
9901
9902 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
9903 (re_comp): Cast gettext return value to avoid complaints when
9904 !HAVE_LIBINTL.
9905
074b6efe
DL
99062000-06-20 Dave Love <fx@gnu.org>
9907
52283633 9908 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 9909
5700d2cc 9910 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 9911
d355bd8a 9912 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
9913
9914 * m/alpha.h: Don't declare xmalloc, xrealloc.
9915
0af4f205
DL
9916 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
9917
9918 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
9919
9920 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
9921
9922 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
9923 HAVE_GETWD.
9924
074b6efe
DL
9925 * keyboard.h (poll_for_input_1): Declare.
9926
9927 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
9928
9929 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
9930
9931 * doprnt.c: Don't declare xmalloc, xrealloc.
9932
9933 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
9934 (getenv, ctime, getwd): Removed.
9935 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
9936
9937 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
9938 x_set_tool_bar_lines.
9939
9940 * config.in: Add HAVE_GETWD. Move some definitions above
9941 machine/system includes.
9942
68a5e97b
KH
99432000-06-20 Kenichi Handa <handa@etl.go.jp>
9944
95417e1e
KH
9945 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
9946
68a5e97b
KH
9947 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
9948 contain information about ENCODING.
9949
9950 * fontset.c (FONTSET_ASCII): Use the first element of char table
9951 for an ASCII font, not defalt slot.
9952 (fontset_ref_via_base): If FONTSET doesn't contain information for
9953 C, try the default fontset.
9954 (make_fontset): Don't copy the default fontset.
9955 (fontset_font_pattern): Likewise.
9956 (accumulate_font_info): If ELT is nil, use the corresponding
9957 element in the default fontset.
9958
3b4fa1b2
DL
99592000-06-19 Dave Love <fx@gnu.org>
9960
943e731c
DL
9961 * syntax.c (Fparse_partial_sexp): Doc fix.
9962
9963 * regex.h: Test PROTOTYPES as well as __STDC__.
9964
3b4fa1b2
DL
9965 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
9966 errno, strerror. Put text after #endif in comment.
9967
52283633 9968 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
9969
9970 * xterm.c (x_frame_of_widget): Likewise.
9971
cdf0357b
GM
99722000-06-19 Gerd Moellmann <gerd@gnu.org>
9973
9974 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
9975 to Vfundamental_mode_abbrev_table.
9976
9977 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
9978 bogus objects are marked. This slows down GC by ~80 percent, but
9979 it might be worth trying when debugging GC-related problems.
9980 This feature requires conservative stack marking to be enabled.
9981
9982 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
9983 returns XLookupChars, reset `modifiers' to zero.
9984
998e9f8c
DL
99852000-06-19 Dave Love <fx@gnu.org>
9986
9987 * mktime.c: Unprotoized.
9988
18e21ce8 99892000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
9990
9991 * data.c (set_internal): If variable is frame-local,
9992 store the new value immediately into the frame parameter alist.
9993
140c4ac6
KR
99942000-06-19 Ken Raeburn <raeburn@gnu.org>
9995
14358466
KR
9996 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
9997 in the custom handler pointer.
9998
140c4ac6
KR
9999 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10000 value, or checks for CHAR_META can fail when Lisp_Object is a
10001 union type.
10002 * keymap.c (get_keyelt): Likewise.
10003
10d7bf84
KH
100042000-06-19 Kenichi Handa <handa@etl.go.jp>
10005
10006 * ccl.h (struct ccl_program): New member eol_type.
10007 (struct ccl_spec): New member cr_carryover.
10008
10009 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10010 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10011
10012 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10013 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10014 (decode_eol_post_ccl): New function.
10015 (decode_coding): Don't detect EOL format here for CCL based coding
10016 systems.
10017 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10018 decode_eol_post_ccl after running the CCL program.
10019 (code_convert_region): Don't detect EOL format here for CCL based
10020 coding systems.
10021 (decode_coding_string): Likewise.
10022
52e386c2
KR
100232000-06-18 Ken Raeburn <raeburn@gnu.org>
10024
10025 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10026 when treating it as an integer.
10027
10028 * coding.h (encode_coding_string): Declare.
10029
10030 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10031 it as an integer.
10032
10033 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10034 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10035 to be passed to get_local_map.
10036
10037 * sound.c (Fplay_sound): Don't call make_number on
10038 Frun_hook_with_args count argument.
10039
10040 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10041 for lisp objects in X event structure data field, when lisp
10042 objects are represented with unions.
10043 (x_scroll_bar_to_input_event): Ditto.
10044
b357b9d4
KR
100452000-06-16 Ken Raeburn <raeburn@gnu.org>
10046
10047 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10048 termination of string. Fix sense of test whether
10049 Vline_number_display_limit is an integer.
b357b9d4 10050
a871441d
GM
100512000-06-16 Gerd Moellmann <gerd@gnu.org>
10052
a9021acd
GM
10053 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10054 only if HAVE_X_WINDOWS.
10055
6344985d
GM
10056 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10057 of titles.
10058
427ec082 10059 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10060 out of bounds.
10061
228b083e
EZ
100622000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10063
10064 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10065 of its headers.
10066
c25b53a2
KH
100672000-06-15 Kenichi Handa <handa@etl.go.jp>
10068
10069 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10070 start of the while loop.
10071
a6981b11
GM
100722000-06-15 Gerd Moellmann <gerd@gnu.org>
10073
e9924e52
GM
10074 * atimer.c (alarm_signal_handler): Add forward declaration.
10075
a6981b11
GM
10076 * data.c (set_internal): Remove debug code.
10077
25fa6deb
GM
100782000-06-14 Gerd Moellmann <gerd@gnu.org>
10079
dce6b995
GM
10080 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10081
9f817ea4
GM
10082 * unexec.c (toplevel) [COFF]: Include coff.h.
10083
10084 * s/lynxos.h: New file.
10085
10086 * keymap.c (Fsingle_key_description): Enclose function key and
10087 event symbol names in angle brackets.
10088
8a4e3c0c
GM
10089 * xdisp.c (setup_echo_area_for_printing): Call
10090 message_log_maybe_newline if message_buf_print is not set.
10091
10092 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10093 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10094 function does something useful even when message_buf_print is
10095 already set.
10096
52283633
SM
10097 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10098 New variables.
25fa6deb
GM
10099 (ensure_echo_area_buffers): Initialize echo buffer's
10100 truncate lines setting to nil.
10101 (with_echo_area_buffer): Don't set the echo buffer's truncate
10102 lines setting here.
8a4e3c0c 10103 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10104 of message_truncate_lines.
10105 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10106 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10107 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10108
10109 * keyboard.c (read_char): Bind message-truncate-lines to t
10110 while displaying a help-echo.
10111
10112 * lisp.h (Qmessage_truncate_lines): External declaration.
10113
163dcff3
GM
101142000-06-13 Gerd Moellmann <gerd@gnu.org>
10115
1681ead6
GM
10116 * xdisp.c (Vline_number_display_limit): Renamed from
10117 line_number_display_limit.
10118 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10119 Extend documentation string. Initialize
10120 Vline_number_display_limit to nil meaning no limit.
10121 (decode_mode_spec): Use Vline_number_display_limit with its new
10122 meaning.
10123
163dcff3
GM
10124 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10125
18e21ce8 101262000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10127
10128 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10129
163dcff3
GM
10130 * xfns.c (x_set_frame_parameters): Comment fix.
10131
10132 * frame.c (store_frame_param): Call swap_in_global_binding if the
10133 variable's current binding was chosen based on this frame.
10134
10135 * data.c (swap_in_global_binding): New function.
10136
a704139d
EZ
101372000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10138
10139 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10140 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10141
9b6610db
EZ
101422000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10143
10144 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10145
c68833d2
JR
101462000-06-12 Jason Rumney <jasonr@gnu.org>
10147
10148 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10149
10150 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10151
10152 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10153
10154 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10155
ed1056b3
GM
101562000-06-12 Gerd Moellmann <gerd@gnu.org>
10157
10158 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10159 (syms_of_xfaces): Defsubr Sdump_colors.
10160 (x_free_colors): Don't treat b&w specially on default visual.
10161 (x_free_dpy_colors): New function.
10162 (free_face_colors): Don't check visual class; it's done
10163 in x_free_colors.
10164
10165 * xterm.c (x_frame_of_widget): New function.
10166 (x_alloc_nearest_color_for_widget): Use it.
10167 (x_copy_dpy_color): New function.
10168 (x_destroy_window): Free various colors.
10169
5050a2ef
KH
101702000-06-12 Kenichi Handa <handa@etl.go.jp>
10171
10172 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10173
10174 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10175
10176 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10177
10178 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10179
10180 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10181
fb1b041d
DL
101822000-06-11 Dave Love <fx@gnu.org>
10183
10184 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10185
ff96b5f4
EZ
101862000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10187
10188 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10189
db8eeecd
GM
101902000-06-11 Gerd Moellmann <gerd@gnu.org>
10191
ed1056b3 10192 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10193 to `XEvent *'.
10194
49b71c5f
KH
101952000-06-10 Kenichi Handa <handa@etl.go.jp>
10196
c479bd55
KH
10197 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10198 (regex_compile): Fix the code for handling the case of single byte
10199 char and multibyte char being mixed in a range within [...].
10200
ff6a65c2
KH
10201 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10202 and dst_multibyte members of coding.
10203
49b71c5f
KH
10204 * charset.c (update_charset_table): Update the table
10205 bytes_by_char_head.
10206 (init_charset_once): Initialize elements of bytes_by_char_head to
10207 1 except for leading codes for private charases.
10208
10209 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10210 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10211
9e80b57d
KR
102122000-06-09 Ken Raeburn <raeburn@gnu.org>
10213
10214 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10215 access the data it doesn't point to.
10216
f83fe4b4
GM
102172000-06-08 Gerd Moellmann <gerd@gnu.org>
10218
10219 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10220 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10221 event queue. This is necessary because Emacs otherwise won't
10222 perform a switch-frame to a new frame until some other event, for
10223 example a keystroke event, forces it to do so. This has various
10224 effects, one visible being that the cursor of a frame created with
10225 C-x 5 2 or switched to with a window manager key binding like
10226 A-TAB stays hollow because selected_window isn't on the newly
10227 focused frame until the switch-frame is performed.
10228
10229 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10230 generating a switch-frame event if necessary.
10231
10232 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10233
10234 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10235 it's an integer.
10236
0890801b
KH
102372000-06-08 Kenichi Handa <handa@etl.go.jp>
10238
52283633 10239 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10240
173cbca8
GM
102412000-06-07 Gerd Moellmann <gerd@gnu.org>
10242
3091c2a6
GM
10243 * window.c (displayed_window_lines): Take empty lines at
10244 the bottom of a window into account.
427ec082 10245
f38952fe
GM
10246 * window.c (displayed_window_lines): New function.
10247 (Fmove_to_window_line): Use displayed_window_lines to determine
10248 the number of lines to move, instead of using the window's height.
10249
10250 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10251 to stop reading, even if the form read sets point to a different
10252 value when evaluated.
10253
427ec082 10254 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10255 put the cursor.
10256
6ba6c818
KH
102572000-06-07 Kenichi Handa <handa@etl.go.jp>
10258
10259 * fileio.c (e_write): Free composition data if stored in
10260 coding->cmp_data.
10261
5f1aea9a
GM
102622000-06-06 Gerd Moellmann <gerd@gnu.org>
10263
666852af
GM
10264 * xdisp.c (display_line): Set row's and iterator's
10265 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10266 Set cursor even if row ends in the middle of a character.
10267 (dump_glyph_row): Print values of new flags.
10268 (redisplay_window) <cursor movement in unchanged window>: When
10269 point has been moved forward, and PT is at the end of the cursor
10270 row, don't place the cursor in the next row if the cursor row ends
10271 in the middle of a character or at ZV.
10272
10273 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10274 (struct glyph_row): Add starts_in_middle_of_char_p and
10275 ends_in_middle_of_char_p.
10276 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10277 ends_in_middle_of_char_p flag.
10278 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10279
d13f3e2e
GM
10280 * term.c (append_glyph): Revert change of 2000-06-06.
10281
10282 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10283 padding glyph not fitting on line as whole character not
10284 fitting on line.
10285
5f1aea9a
GM
10286 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10287 this isn't true for images with `:ascent 100'.
10288
10cda9b0
KH
102892000-06-06 Kenichi Handa <handa@etl.go.jp>
10290
ed00559d
KH
10291 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10292 as modified if it is originally unmodified.
10293
10cda9b0
KH
10294 * term.c (encode_terminal_code): Change the way to check if
10295 terminal coding does any conversion.
10296 (append_glyph): Set glyph->pixel_width correctly.
10297
10298 * xdisp.c (display_line): While checking line continuation, pay
10299 attention to a padding glyph.
10300
1969fae2
GM
103012000-06-05 Gerd Moellmann <gerd@gnu.org>
10302
10303 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10304
162ccef4
DL
103052000-06-05 Dave Love <fx@gnu.org>
10306
f19f32dd
DL
10307 * xdisp.c: Include fontset.h.
10308
10309 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10310
10311 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10312
10313 * dispnew.c: Conditionally include term.h.
10314
10315 * coding.h: Declare code_convert_string_norecord.
10316
10317 * frame.h (struct frame): Use volatile unconditionally.
10318
10319 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10320
10321 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10322
10323 * systime.h: Protect against multiple inclusion.
10324 (timezone) [USG5_4]: Define as time_t.
10325
10326 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10327 (Foptimize_char_table, make_temp_name): Declare.
10328
10329 * Makefile.in (xdisp.o): Depend on fontset.h.
10330
10331 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10332
10333 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10334 (Foptimize_char_table, make_temp_name): Declare.
10335
427ec082 10336 * s/irix4-0.h:
162ccef4
DL
10337 * s/irix5-0.h:
10338 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10339
2082fe81
DL
103402000-06-02 Dave Love <fx@gnu.org>
10341
10342 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10343
dcf671d2
GM
103442000-06-02 Gerd Moellmann <gerd@gnu.org>
10345
10346 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10347 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10348 be freed.
10349
10350 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10351 glyph, use the ASCII NUL character to determine the face.
10352
d42122a3
DL
103532000-06-02 Dave Love <fx@gnu.org>
10354
10355 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10356 (VFORK_RETURN_TYPE): Remove.
427ec082 10357
d42122a3
DL
10358 * config.in: Add NO_MATHERR.
10359
dd432f16
DL
103602000-06-01 Dave Love <fx@gnu.org>
10361
90aa4ea8
DL
10362 * cmds.c (internal_self_insert): Don't check
10363 Vbefore_change_function, Vafter_change_function.
10364
10365 * insdel.c (signal_before_change, signal_after_change): Likewise.
10366
10367 * buffer.c (Vbefore_change_function, Vafter_change_function):
10368 Variables and their initializations deleted.
10369
2330c9d4
DL
10370 * callint.c (Fcall_interactively): Doc fix.
10371
dd432f16
DL
10372 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10373
bf9e8804
DL
103742000-05-31 Dave Love <fx@gnu.org>
10375
10376 * textprop.c: Revert last change -- duplicated.
10377
3694b4ab
GM
103782000-05-31 Gerd Moellmann <gerd@gnu.org>
10379
10380 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10381 in #if 0.
10382
10383 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10384
f14156cd
JR
103852000-05-31 Jason Rumney <jasonr@gnu.org>
10386
8119aab8
JR
10387 * search.c (Fre_search_forward, Fre_search_backward)
10388 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10389
f14156cd
JR
10390 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10391
4aab9be3
JR
103922000-05-30 Jason Rumney <jasonr@gnu.org>
10393
10394 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10395 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10396
52283633 10397 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10398
10399 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10400 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10401 expand a nil default_filename.
10402
10403 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10404 pointer to glyph_to_pixel_coords, not a frame.
10405
10406 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10407 coding.h to dependencies.
10408
10409 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10410
10411 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10412 window pointer to be consistent with w32term.c and xterm.c.
10413
10414 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10415 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10416 (Qline_spacing, Qcenter): New variables.
10417 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10418 (x_set_line_spacing): New function.
52283633 10419 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10420 (x_specified_cursor_type): New function.
10421 (x_set_cursor_type): Use it.
10422 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10423 and icon strings.
10424 (validate_x_resource_name, x_get_resource_string): Measure lengths
10425 of external strings in bytes.
10426 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10427 GetTextExtentPoint32 with NULL title.
10428 (Fx_create_frame): Initialize Qline_spacing.
10429 (w32_load_system_font): Initialize font->double_byte_p.
10430 (x_to_w32_charset): Use Vw32_charset_info_alist.
10431 (Image, busy cursor, tooltip functions): Merged changes from
10432 xfns.c. Not yet functional on Windows.
10433
10434 * w32gui.h (W32FontStruct): Add double_byte_p member.
10435
10436 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10437 (emacs_button_translation): Use it.
10438 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10439 in `mask' to be set.
10440
10441 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10442 menu strings.
10443
10444 * w32term.c: Format and doc changes to bring closer to xterm.c.
10445 (w32_char_font_type): New enum.
10446 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10447 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10448 (w32_encode_char): New function.
10449 (x_encode_char): Removed.
10450 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10451 x_encode_char and w32_font_is_double_byte.
10452 (x_produce_image_glyph): Use image_ascent.
10453 (x_produce_glyphs): Use new version of w32_per_char_metric and
10454 handle NULL return value. Allow extra line spacing.
10455 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10456 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10457 w32_font_type member of glyph instead.
10458 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10459 (fast_find_position): Make sure not to consider rows not visible
10460 in the window.
10461 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10462 w32_menu_display_help with input blocked, as it can abort.
10463 (x_display_and_set_cursor): Choose cursor depending
10464 on buffer-local value of cursor_type.
10465 (x_draw_bar_cursor): Add parameter WIDTH.
10466
10467 * w32term.h (CP_DEFAULT): Define.
10468 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10469
10fc3187
GM
104702000-05-30 Gerd Moellmann <gerd@gnu.org>
10471
10472 * search.c (Fre_search_forward, Fre_search_backward)
10473 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10474
d0555360
KH
104752000-05-30 Kenichi Handa <handa@etl.go.jp>
10476
10477 * coding.c (detect_coding_iso2022): Fix code for checking
10478 CODING_CATEGORY_MASK_ISO_8_2.
10479
f1ad044f
SM
104802000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10481
10482 * regex.c (PREFETCH_NOLIMIT): New function.
10483 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10484
84ec3b4b
GM
104852000-05-29 Gerd Moellmann <gerd@gnu.org>
10486
66254a13
GM
10487 * syntax.c (find_defun_start): Move test for
10488 open_paren_in_column_0_is_defun_start outside of the loop.
10489
49e70dec
GM
10490 * xdisp.c (redisplay_window): Really switch buffers when
10491 displaying mode lines, and temporarily set selected_frame to the
10492 frame of the window that's redisplayed.
10493
84ec3b4b
GM
10494 * xfaces.c (free_realized_faces): Block/unblock input.
10495 (free_realized_multibyte_face): Ditto.
10496
869a3a14
DL
104972000-05-29 Dave Love <fx@gnu.org>
10498
10499 * textprop.c (Qkeymap): New variable.
10500 (syms_of_textprop): Intern it.
10501
10502 * keymap.c: Include intervals.h.
10503 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10504
10505 * Makefile.in (keymap.o): Depend on intervals.h.
10506
10507 * keyboard.c (menu_bar_items, tool_bar_items)
10508 (Fexecute_extended_command): Deal with `keymap' property.
10509 (read_key_sequence): Track map from `keymap' property as well as
10510 `local_map'.
10511
10512 * intervals.c (get_local_map): Extra arg to allow looking for
10513 `keymap' too.
10514
10515 * intervals.h (map_property): New enum.
10516 (get_local_map): Extra arg using it.
10517 (Qkeymap): Declare.
10518
84ec3b4b 10519 * lisp.h (get_local_map): Don't declare here.
869a3a14 10520
89d0c844
KH
105212000-05-29 Kenichi Handa <handa@etl.go.jp>
10522
10523 * Makefile.in (callproc.o): Depend on composite.h.
10524
10525 * callproc.c: Include composite.h.
10526 (Fcall_process): Handle composition correctly.
10527
10528 * coding.h (coding_allocate_composition_data): Extern it.
10529 (coding_restore_composition): Likewise.
10530
10531 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
10532 yet allocated, finish decoding with result
10533 CODING_FINISH_INSUFFICIENT_CMP.
10534 (coding_allocate_composition_data): Make it non-static.
10535 (coding_restore_composition): Likewise.
10536
797a084a
EZ
105372000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
10538
10539 * charset.c (syms_of_charset): Revert last change.
10540
cf872af5
EZ
105412000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10542
10543 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
10544 charsets as unibyte, with 1-column screen width. Sent by Kenichi
10545 Handa.
cf872af5 10546
5b1ae051
EZ
105472000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10548
10549 * charset.c (syms_of_charset): Set width of character sets
10550 eight-bit-control and eight-bit-graphic to 1 column.
10551
34ec9ebe
GM
105522000-05-26 Gerd Moellmann <gerd@gnu.org>
10553
10554 * config.in (HAVE_SPEED_T): New define.
10555
10556 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10557 `extern speed_t'.
10558
dd854dc2
DL
105592000-05-26 Dave Love <fx@gnu.org>
10560
10561 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10562
10563 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10564 (Fsubr_arity): New function.
10565 (syms_of_data): Install them.
10566
ba9f8f95
KH
105672000-05-26 Kenichi Handa <handa@etl.go.jp>
10568
0f3e0672
KH
10569 * charset.c (init_charset_once): Set the table bytes_by_char_head
10570 correctly.
10571
cebefb44
KH
10572 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10573 the default fontset to what Emacs uses by default.
0f3e0672
KH
10574 (check_registry_encoding): This function deleted.
10575 (Fset_fontset_font): Remove the adhoc condition for the default
10576 fontset. Allow cons in FONTNAME.
cebefb44 10577
0f3e0672
KH
10578 * fns.c (map_char_table): Ignore char-table entries for
10579 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 10580
7a18af49
KR
105812000-05-25 Ken Raeburn <raeburn@gnu.org>
10582
10583 * emacs.c (main): Initialize keyboard syms before initializing
10584 window code, so face names are available.
10585
d2af47df
SM
105862000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10587
10588 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10589 of an anchor at the beginning of a shy-group.
10590
fc6a6a4e
GM
105912000-05-25 Gerd Moellmann <gerd@gnu.org>
10592
10593 * xdisp.c (handle_invisible_prop): Don't try to skip over
10594 invisible text if end of text is already reached.
10595
005f0d35
DL
105962000-05-25 Dave Love <fx@gnu.org>
10597
02513cdd
DL
10598 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10599
005f0d35
DL
10600 * coding.c (encode_eol): Add null statement after label.
10601
89f6ca4e
EZ
106022000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10603
10604 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10605 2000-05-20.
10606
a4e1759e
KH
106072000-05-25 Kenichi Handa <handa@etl.go.jp>
10608
10609 * ccl.c (ccl_driver): Fix previous change.
10610
eacfd7fe
KH
106112000-05-25 Kenichi Handa <handa@etl.go.jp>
10612
46ab33a9
KH
10613 * coding.c (run_pre_post_conversion_on_str): Set point to the
10614 beginning of buffer before calling coding->post_read_conversion.
10615 (decode_coding_string): Give correct args to
10616 run_pre_post_conversion_on_str.
10617 (encode_coding_string): Likewise.
10618
eacfd7fe
KH
10619 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10620 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10621 eight-bit-graphic correctly.
10622
f8569325
DL
106232000-05-24 Kenichi HANDA <handa@etl.go.jp>
10624
10625 * fileio.c (Finsert_file_contents): Even if a file is not found,
10626 execute codes for setting up coding system. Call
10627 after-insert-file-functions unconditionally.
10628
04545643
GM
106292000-05-24 Gerd Moellmann <gerd@gnu.org>
10630
10631 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10632 BSD_PGRPS are not defined.
10633
747d90ea
KH
106342000-05-24 Kenichi Handa <handa@etl.go.jp>
10635
10636 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10637 DESCRIPTION.
10638 (syms_of_charset): Avoid building same strings.
10639
716e3b88
GM
106402000-05-23 Gerd Moellmann <gerd@gnu.org>
10641
10642 * lread.c (Fload): Add a comment about the meaning of
10643 Vuser_init_file being t.
10644
10645 * puresize.h (BASE_PURESIZE): Increase to 675000.
10646
10647 * s/gnu-linux.h (setpgrp): Don't define it here because this
10648 prevents compilation on GNU/Linux systems with glib 2.2.
10649
10650 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10651 as setpgid.
427ec082 10652
9aeb39fa
EZ
106532000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10654
10655 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10656 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10657 version.
10658 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10659
29ced61b
KH
106602000-05-23 Kenichi Handa <handa@etl.go.jp>
10661
52283633 10662 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 10663
3d80f24d
KH
10664 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10665
52283633 10666 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 10667
29ced61b
KH
10668 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10669
d7e00792
KH
106702000-05-22 Kenichi Handa <handa@etl.go.jp>
10671
c9d80d38
KH
10672 * keyboard.c (read_char): Allow character codes 128..255 to be
10673 handled by input-method-function.
10674
d7e00792
KH
10675 * insdel.c (adjust_markers_for_replace): Fix previous change.
10676 (adjust_after_replace): If PREV_TEXT is nil, call
10677 adjust_markers_for_insert, not adjust_markers_for_replace.
10678
087121cc 106792000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 10680
087121cc
GM
10681 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10682 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10683 [HAVE_GRANDPT]: Define.
10684 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10685
10686 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10687 like SYSV_PTYS.
10688
10689 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10690
10691 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
10692
c9671f81
KH
106932000-05-20 Kenichi Handa <handa@etl.go.jp>
10694
10695 The following changes are to handle 8-bit characters in a
10696 multibyte buffer/string without facing with byte combining
10697 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
10698 eight-bit-graphic (for 0xA0..0xFF) are introduced.
10699
10700 * Makefile.in (fns.o): Depend on charset.h.
10701
10702 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
10703 convert it to unibyte.
10704 (make_string): Use parse_str_as_multibyte, not chars_in_text.
10705
10706 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
10707 apparent char boundary.
10708 (Fset_buffer_multibyte): Convert 8-bit characters in the range
10709 0x80..0x9F to/from multibyte form.
10710
10711 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
10712 to unibyte.
10713
10714 * callproc.c (Fcall_process): Always encode an argument string if
10715 it is multibyte. Setup src_multibyte and dst_multibyte members of
10716 process_coding properly.
ce75fd23 10717
c9671f81
KH
10718 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
10719 SPLIT_NON_ASCII_CHAR.
10720
10721 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
10722 as is.
10723 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
10724
52283633 10725 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 10726 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 10727 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
10728 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
10729 and eight-bit-graphic.
10730 (char_to_string): Likewise. Signal an error for too large
10731 character code.
10732 (char_printable_p): Return 0 for 8-bit characters.
10733 (update_charset_table): Update iso_charset_table only when a final
10734 character is non-negative.
10735 (find_charset_in_text): Renamed from find_charset_in_str.
10736 Arguments and return value changed. Callers changed.
10737 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10738 be -1 if CHARSET is used only internally.
10739 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10740 eight-bit-graphic.
10741 (Fcharset_after): Simplified.
10742 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10743 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10744 (multibyte_chars_in_text): Simplified by assuming there's no
10745 invalid multibyte sequence.
52283633
SM
10746 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10747 (str_as_unibyte): New functions.
10748 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10749 (init_charset_once): Initialization for
10750 LEADING_CODE_8_BIT_CONTROL.
10751 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10752 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10753 eight-bit-control and eight-bit-graphic.
10754
52283633
SM
10755 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10756 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10757 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10758 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10759 (CHARSET_REVERSE_CHARSET): Likewise.
10760 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10761 eight-bit-graphic.
10762 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10763 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10764 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10765 encounter an invalid multibyte sequence.
10766 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10767 sequence is always valid.
10768 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10769 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10770 (CHAR_STRING): For 8-bit characters, call char_to_string.
10771 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10772 multibyte sequence is always valid.
10773 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10774 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10775 (str_as_unibyte): Extern them.
c9671f81 10776 (BCOPY_SHORT): Fix a bug.
52283633 10777 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10778 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10779 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10780 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10781
bd4bde7f 10782 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10783 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10784 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10785 (EMIT_BYTES): New macros.
10786 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10787 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10788 macros deleted.
10789 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10790 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10791 check the validity of multibyte sequence.
10792 (decode_coding_emacs_mule): New function.
10793 (encode_coding_emacs_mule): New macro.
10794 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10795 the source.
10796 (DECODE_ISO_CHARACTER): Just return a character code.
10797 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10798 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10799 EMIT_CHAR to produced decoded characters. Exit the loop only by
10800 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10801 block here.
10802 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10803 only position codes for an invalid character.
10804 (encode_designation_at_bol): Return new destination pointer. 5th
10805 arg DSTP is changed to DST.
10806 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10807 from the source by ONE_MORE_CHAR. Don't handle the case of last
10808 block here.
10809 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10810 macros deleted.
52283633
SM
10811 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10812 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10813 TWO_MORE_BYTES to fetch a byte from the source.
10814 (encode_eol): Pay attention to coding->src_multibyte.
10815 (detect_coding, detect_eol): Preserve members src_multibyte and
10816 dst_multibyte.
10817 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10818 (encoding_buffer_size): Set magnification to 3 for all coding
10819 systems that require encoding.
10820 (ccl_coding_driver): For decoding, be sure that the result is
10821 valid multibyte sequence.
10822 (decode_coding): Initialize coding->errors and coding->result.
10823 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10824 and raw-text, always call decode_eol. Handle the case of last
10825 block here. If not coding->dst_multibyte, convert the resulting
10826 sequence to unibyte.
10827 (encode_coding): Initialize coding->errors and coding->result.
10828 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
10829 and raw-text, always call encode_eol. Handle the case of last
10830 block here.
10831 (shrink_decoding_region, shrink_encoding_region): Detect cases
10832 that we can't skip data more rigidly.
10833 (code_convert_region): Setup src_multibyte and dst_multibyte
10834 members of coding. For decoding, if the buffer is multibyte,
10835 convert the source sequence to unibyte in advance. For encoding,
10836 if the buffer is multibyte, convert the resulting sequence to
10837 multibyte afterward.
10838 (run_pre_post_conversion_on_str): New function.
10839 (code_convert_string): Deleted and divided into the following two.
10840 (decode_coding_string, encode_coding_string): New functions.
10841 (code_convert_string1, code_convert_string_norecord): Call one of
10842 above.
10843 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
10844 MAKE_NON_ASCII_CHAR.
52283633
SM
10845 (Fset_terminal_coding_system_internal)
10846 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
10847 and dst_multibyte members.
10848 (init_coding_once): Initialize iso_code_class with new enum
10849 ISO_control_0 and ISO_control_1.
10850
10851 * coding.h (enum iso_code_class_type): Member ISO_control_code is
10852 devided into ISO_control_0 and ISO_control_1.
10853 (struct coding_system): New members src_multibyte, dst_multibyte,
10854 errors, and result. Delete member fake_multibyte.
10855 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
10856 nonzero.
10857 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
10858 nonzero.
10859
10860 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
10861 (Faset): Likewise.
10862
10863 * editfns.c (Fformat): Be sure to convert 8-bit characters to
10864 multibyte form.
10865 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
10866 combining occurs.
10867 (Ftranspose_region): Delete codes for handling byte combining.
10868
10869 * fileio.c (Finsert_file_contents): Setup src_multibyte and
10870 dst_multibyte members of coding. On handling REPLACE on unibyte
10871 buffer, convert the result of decode_coding to unibyte. On
10872 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 10873 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
10874 multibyteness of the source (buffer or string).
10875
10876 * fns.c (concat): Handle 8-bit characters correctly.
10877 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
10878 unibyte in the result.
10879 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
10880 valid multibyte form in the result.
10881 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
10882 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
10883 return -1, signal an error.
10884 (base64_encode_1): New arg MULTIBYTE. Get each character by
10885 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
10886 character is found, return -1.
10887 (Fbase64_decode_region): Delete codes for handling byte-combining.
10888 Treat each decoded byte as a unibyte character.
10889 (Fbase64_decode_string): Return unibyte string.
10890 (Fcompare_strings, concat, string_byte_to_char): Use
10891 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
10892 FETCH_STRING_CHAR_ADVANCE.
10893 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10894 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
10895
10896 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
10897 SPLIT_NON_ASCII_CHAR.
10898 (fontset_ref_via_base, fontset_set): Likewise
10899
10900 * insdel.c (adjust_markers_for_record_delete): Deleted.
10901 (adjust_markers_for_insert): Argument changed. Caller changed.
10902 (adjust_markers_for_replace): Likewise.
52283633
SM
10903 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
10904 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
10905 (copy_text): Delete unused local varialbe c_save. For converting
10906 to multibyte, be sure to make all 8-bit characters in valid
10907 multibyte form.
10908 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
10909 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10910 (adjust_after_replace, replace_range, del_range_2)
c9671f81 10911 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
10912 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10913 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
10914 handling byte combining.
10915 (adjust_before_replace): Deleted.
427ec082 10916
c9671f81
KH
10917 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
10918 SPLIT_NON_ASCII_CHAR.
10919 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 10920 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10921 (Fkey_description): Likewise.
10922
10923 * lread.c (read1): On reading multibyte string, be sure to make
10924 all 8-bit chararacters in valid multibyte form.
10925 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10926
10927 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
10928 unconditionally.
10929
10930 * process.c (Fstart_process): GCPRO current_dir before calling
10931 Ffind_operation_coding_system. Encode arguments here.
10932 (create_process): Don't encode arguments here. Setup
10933 src_multibyte and dst_multibyte members of struct coding.
10934 (read_process_output): Setup src_multibyte and dst_multibyte
10935 members of struct coding. If the output is to multibyte buffer,
10936 always decode the output of the process. Adjust the
52283633 10937 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
10938 (send_process): Setup coding->src_multibyte according to the
10939 multibyteness of the source.
10940
52283633 10941 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10942 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
10943 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
10944
52283633 10945 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
10946
10947 * w16select.c (Fw16_set_clipboard_data): Setup members
10948 src_multibyte and dst_multibyte of coding. Adjusted for the
10949 change for find_charset_in_str.
10950 (Fw16_get_clipboard_data): Likewise.
10951
10952 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
10953 dst_multibyte of coding.
10954 (x_to_w32_font): Likewise.
10955
10956 * w32select.c (Fw32_set_clipboard_data): Setup members
10957 src_multibyte and dst_multibyte of coding. Adjusted for the
10958 change for find_charset_in_str.
10959 (Fw32_get_clipboard_data): Likewise.
10960
10961 * xdisp.c (get_next_display_element): Handle 8-bit characters
10962 correctly.
52283633
SM
10963 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
10964 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
10965
10966 * xselect.c (selection_data_to_lisp_data): Setup members
10967 src_multibyte and dst_multibyte of coding. Adjusted for the
10968 change for find_charset_in_str.
10969 (lisp_data_to_selection_data): Likewise.
10970
5f64c9e0
GM
109712000-05-19 Gerd Moellmann <gerd@gnu.org>
10972
52283633 10973 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 10974
5f64c9e0
GM
10975 * dispextern.h (Vimage_types): Add extern declaration.
10976
10977 * xdisp.c (Vimage_types): Moved here from xfns.c.
10978 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
10979
10980 * xfns.c (Vimages_types): Moved to xdisp.c.
10981 (syms_of_xfns): Move `image-types' to xdisp.c.
10982
10983 * w32fns.c (Vimage_types): Removed.
10984 (syms_of_w32fns): Remove `image-types'.
10985
813086ea
KH
109862000-05-18 Kenichi Handa <handa@etl.go.jp>
10987
10988 * fns.c (map_char_table): Pay attention to character number of
10989 charset. Check the validity of charset at the first level. For
10990 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
10991 the default value.
10992
10993 * fontset.c: Include "buffer.h".
10994 (fs_load_font): If the face has fontset, record the face ID in
10995 that fontset.
10996 (Finternal_char_font): New function.
10997 (accumulate_font_info): New function.
10998 (Ffontset_info): Rewritten for the new fontset implementation.
10999 (syms_of_fontset): Register Vdefault_fontset in the first element
11000 of Vfontset_table. Include Vdefault_fontset in
11001 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11002 function.
11003
bdaebbf0
DL
110042000-05-16 Dave Love <fx@gnu.org>
11005
11006 * m/iris5d.h: Deleted -- unused.
11007
cb613bb8
GM
110082000-05-16 Gerd Moellmann <gerd@gnu.org>
11009
b15f3b77
GM
11010 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11011 `invalid' instead of `illegal'.
11012
11013 * indent.c (Fmove_to_column): When ending within a tab, insert
11014 spaces first so that markers at the end of the tab get adjusted.
11015
835c1b36
GM
11016 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11017 buffer list that wasn't selected in that frame.
11018
cb613bb8
GM
11019 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11020 is needed on mescaline, use a 2 char prefix, and call
11021 make_temp_name with second arg non-zero.
11022
11023 * fileio.c (make_temp_name): New function, extracted from
11024 Fmake_temp_name.
11025 (Fmake_temp_name): Use it.
11026
f685bea9
EZ
110272000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11028
52283633 11029 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11030
a1b8d58b
GM
110312000-05-15 Gerd Moellmann <gerd@gnu.org>
11032
11033 * Makefile.in (lisp): Add env.elc.
11034
11035 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11036
a265079f
GM
110372000-05-12 Gerd Moellmann <gerd@gnu.org>
11038
11039 * search.c (Freplace_match): Handle case of `\N' in the
11040 replacement when there's no group N.
11041
da4496b6
GM
110422000-05-11 Gerd Moellmann <gerd@gnu.org>
11043
0ace421a
GM
11044 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11045 of the message to message_dolog.
11046
1172eb8d
GM
11047 * keyboard.c (read_char): Don't clear current message for help
11048 events; let the code handling help events handle this. Change
11049 code detecting help events that should be ignored.
11050
da4496b6
GM
11051 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11052 we're interating over a string.
11053
0623e40f
DL
110542000-05-09 Dave Love <fx@gnu.org>
11055
11056 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11057 that offset before writing. Move gcpro region past call of
11058 Ffile_regular_p.
11059
bae2503b
DL
110602000-05-04 Dave Love <fx@gnu.org>
11061
11062 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11063
ec82fb2f
GM
110642000-05-04 Gerd Moellmann <gerd@gnu.org>
11065
11066 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11067 of inserted characters when BUF equals the current buffer, and PT
11068 is in front of or equal to FROM.
11069
cbf18892
GM
110702000-05-03 Gerd Moellmann <gerd@gnu.org>
11071
4ff40dd0
GM
11072 * xdisp.c (handle_single_display_prop): If display property value
11073 is invalid, or something not supported on the frame, restore
11074 iterator's position to what it was initially. Make sure to return
11075 0 for invalid and unsupported property values.
11076
cbf18892
GM
11077 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11078 that x_per_char_metric returns null.
11079
1b0672c3
GM
110802000-05-02 Gerd Moellmann <gerd@gnu.org>
11081
576da55d
GM
11082 * xterm.h (struct face): Add forward declaration.
11083 (struct image): Ditto.
11084 (image_ascent): Add prototype.
11085
11086 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11087 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11088 image_ascent instead of using IMAGE_ASCENT.
11089
11090 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11091 (IMAGE_ASCENT): Removed.
11092
11093 * xfns.c (Qcenter): New variable.
11094 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11095 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11096 (image_ascent): New function.
11097 (lookup_image): Recognize `:ascent center'.
11098 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11099 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11100 (xbm_load): Don't set image's ascent here.
11101 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11102 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11103 check ascent values here.
11104 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11105 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11106 (syms_of_xfns): Initialize Qcenter.
11107
1b0672c3
GM
11108 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11109 to the limits, increase the limits.
11110
0d7811ed
KH
111112000-05-01 Kenichi Handa <handa@etl.go.jp>
11112
11113 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11114 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11115
a943a5ca
GM
111162000-04-28 Gerd Moellmann <gerd@gnu.org>
11117
11118 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11119 taller than the window.
11120
5dba1e29
KH
111212000-04-28 Kenichi Handa <handa@etl.go.jp>
11122
11123 * xfaces.c (realize_x_face): Fix the argument of the second
11124 xassert. BASE_FACE may not be a face for ASCII.
11125
353964e3
GM
111262000-04-27 Gerd Moellmann <gerd@gnu.org>
11127
c76e04a8
GM
11128 * print.c (print_object): Treat print-length < 0 as nil.
11129
11130 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11131
11132 * s/freebsd.h (TERMCAP_OBJ): Removed.
11133 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11134
11135 * lread.c (read1): Don't treat period followed by certain
11136 characters as symbol start.
11137
11138 * xfns.c (slurp_file): New function.
11139 (xbm_image_p): Handle case of in-memory XBM files.
11140 (xbm_scan): Rewritten to work on memory buffers instead of files.
11141 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11142 Work on memory buffers instead of files. If DATA is null test
11143 if buffer looks like an in-memory XBM file.
11144 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11145 memory buffers instead of files.
11146 (xbm_file_p): New function.
11147 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11148
353964e3
GM
11149 * lread.c (end_of_file_error): New function.
11150 (read1): Call it instead of signaling `end-of-file' directly.
11151
427ec082 11152 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11153 with Fprinc instead of Fprin1.
11154
24d744ac
KR
111552000-04-26 Ken Raeburn <raeburn@gnu.org>
11156
11157 * window.c (freeze_window_start): Check that minibuffer scroll
11158 window isn't nil before extracting the window structure pointer
11159 from it.
11160
11161 * undo.c (record_delete): If we hit the end of the undo list, stop
11162 picking elements apart.
11163
7464346d
GM
111642000-04-26 Gerd Moellmann <gerd@gnu.org>
11165
11166 * xdisp.c (display_line): If lines are continued, restore
11167 iterator's ascent/descent information to the values before the
11168 first glyph not fitting on the line.
11169
612839b6
GM
111702000-04-25 Gerd Moellmann <gerd@gnu.org>
11171
11172 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11173 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11174
11175 * dispnew.c (increment_matrix_positions): Renamed from
11176 increment_glyph_matrix_buffer_positions.
11177 (increment_row_positions): Renamed from
11178 increment_glyph_row_buffer_positions.
11179
11180 * dispextern.h: Change names of renamed functions from dispnew.c
11181 in prototypes.
11182
cc181e95
GM
111832000-04-24 Gerd Moellmann <gerd@gnu.org>
11184
abfcc168
GM
11185 * fileio.c (Fdo_auto_save): Create directories for auto-save
11186 list file if necessary.
11187
cc181e95
GM
11188 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11189 from buffer or frame.
11190 (automatic_hscrolling_p): New variable.
11191 (hscroll_windows): Scroll windows horizontally only if automatic
11192 hscrolling is allowed.
11193 (syms_of_xdisp): New variable `automatic-hscrolling'.
11194
11195 * frame.h (struct frame): Add member extra_line_spacing.
11196
11197 * xfns.c (x_set_line_spacing): New function.
11198 (Fx_create_frame): Set line spacing from resources.
11199 (Qline_spacing): New variable.
11200 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11201
cc181e95
GM
11202 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11203
11204 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11205 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11206 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11207 extra_line_spacing from default value.
11208 (init_buffer_once): Initialize default value of extra_line_spacing.
11209
11210 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11211 and extra3.
11212
11213 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11214 prompt_width. Add extra line spacing.
11215
11216 * term.c (produce_glyphs): Remove reference to struct it's
11217 prompt_width.
11218
11219 * dispextern.h (struct it): Remove member prompt_width, add
11220 extra_line_spacing.
11221
58827478
GM
112222000-04-22 Gerd Moellmann <gerd@gnu.org>
11223
11224 * dispnew.c (update_frame_line): When writing a whole line, make
11225 sure cursor is in the right row afterwards, otherwise a use of
11226 capability `ch' in cmgoto might leave the cursor in the row below.
11227
25a87f42
GM
112282000-04-21 Gerd Moellmann <gerd@gnu.org>
11229
11230 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11231
11232 * keyboard.c (timer_check): Fix typo in comment.
11233
54edf5c2
KH
112342000-04-21 Kenichi Handa <handa@etl.go.jp>
11235
11236 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11237 name change: ch -> character.
11238
3a64eef5
GM
112392000-04-20 Gerd Moellmann <gerd@gnu.org>
11240
11241 * keyboard.c (echo_message_buffer): New variable.
11242 (echo_now): Set echo_message_buffer to the echo area buffer used
11243 to display the echo.
11244 (cancel_echoing): Reset echo_message_buffer to nil.
11245 (read_char): Code rewritten that handles canceling an echo or
11246 echoing a dash, respectively.
11247
11248 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11249 directory doesn't exist.
11250
6142fdcb
DL
112512000-04-19 Dave Love <fx@gnu.org>
11252
11253 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11254 (concat): Don't allow numeric args.
11255 (Fconcat): Doc change.
6142fdcb 11256
ac6b5352
SM
112572000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11258
11259 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11260 instead define end_match(1|2) more carefully.
11261 Use GET_CHAR_BEFORE_2 for `begline'.
11262
cb9215e4
GM
112632000-04-19 Gerd Moellmann <gerd@gnu.org>
11264
5e3dac3f
GM
11265 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11266 on 64-bit systems where NULL is defined as `0'.
11267
11268 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11269 the `variable argument list' to make it work on Alpha.
11270
cb9215e4
GM
11271 * m/alpha.h (_LP64) [!_LP64]: Define.
11272 (ORDINARY_LINK): Define for NetBSD.
11273
11274 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11275
f532dca0
DL
112762000-04-19 Dave Love <fx@gnu.org>
11277
c750667e
DL
11278 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11279 change.
11280
11281 * Makefile.in (LIBS): Don't use.
11282 (GETLOADAVG_OBJ): Define again.
11283 (otherobj): Add GETLOADAVG_OBJ.
11284
f532dca0
DL
11285 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11286
1c7e22fd
GM
112872000-04-18 Gerd Moellmann <gerd@gnu.org>
11288
f6d3257b
GM
11289 * lread.c (read_filtered_event): Cancel and start busy cursor.
11290
427ec082 11291 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11292 that the per-character metrics may be null.
11293
e10f64e7
GM
112942000-04-17 Gerd Moellmann <gerd@gnu.org>
11295
0daee095
GM
11296 * buffer.c (clone_per_buffer_values): New function.
11297 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11298 clone_per_buffer_values if CLONE is not nil.
11299
e10f64e7
GM
11300 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11301
38687d43
DL
113022000-04-16 Dave Love <fx@gnu.org>
11303
11304 * Makefile.in: Remove obsolete localcpp stuff.
11305 (GETLOADAVG_OBJ): Don't define.
11306 (obj): Move LIBOBJS...
11307 (otherobj): ... to here.
11308 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11309 whitespace-only lines after the continuation (Irix).
11310
c21c7262
GM
113112000-04-14 Gerd Moellmann <gerd@gnu.org>
11312
11313 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11314
11315 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11316
314767c0
DL
113172000-04-14 Dave Love <fx@gnu.org>
11318
11319 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11320 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11321 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11322 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11323 NLIST_STRUCT.
11324
11325 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11326 autoconfiscated HAVE_GETLOADAVG.
11327
11328 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11329 BROKEN_MKTIME.
11330
a2522dca
GM
113312000-04-14 Gerd Moellmann <gerd@gnu.org>
11332
11333 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11334 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11335
33744b5d
DL
113362000-04-14 Dave Love <fx@gnu.org>
11337
c21c7262 11338 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11339 (INTERVAL_SRC): Convert to make variable.
11340 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11341 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11342 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11343 add LIBOBJS.
11344 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11345 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11346 (shortlisp): Add facemenu, float-sup, frame.
11347 (SOME_MACHINE_LISP): Remove them from here.
11348 (LIBES): Change unused LDLIBS to autoconf LIBS.
11349
11350 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11351
9d3d5916
KH
113522000-04-14 Kenichi Handa <handa@etl.go.jp>
11353
11354 * composite.c (update_compositions): If FROM and TO are not in a
11355 valid range, do nothing.
11356
198e3c7a
GM
113572000-04-13 Gerd Moellmann <gerd@gnu.org>
11358
52283633 11359 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11360
52283633 11361 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11362
11363 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11364 as TERMCAP_OBJ.
11365
055a28c9
EZ
113662000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11367
11368 * fileio.c (a_write): Remove redundant semi-colons.
11369 (e_write): Return -1 if failed to write all the data.
11370 This fixes the changes made at 1999-12-15.
11371
f5c75033
DL
113722000-04-12 Dave Love <fx@gnu.org>
11373
11374 * fns.c (mapcar1): Test for null vals to support mapc.
11375 (Fmapc): New function.
11376
0c3cfc51
EZ
113772000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11378
11379 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11380 (IT_frame_up_to_date): Support the buffer local value of
11381 cursor-type, if defined.
11382
33465a31
DL
113832000-04-10 Dave Love <fx@gnu.org>
11384
11385 * editfns.c (preceding-char, following-char): Doc fix.
11386
6ed56568
KR
113872000-04-10 Ken Raeburn <raeburn@gnu.org>
11388
11389 * Makefile.in (temacs): Revert 2000-03-12 change.
11390
7cf80d4e
JR
113912000-04-10 Jason Rumney <jasonr@gnu.org>
11392
11393 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11394
34f3f342
GM
113952000-04-10 Gerd Moellmann <gerd@gnu.org>
11396
1a1b1895
GM
11397 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11398 area buffer, if it's not set up yet.
11399
34f3f342
GM
11400 * indent.c (compute_motion): Set immediate_quit.
11401
be0dbdab
GM
114022000-04-09 Gerd Moellmann <gerd@gnu.org>
11403
52283633 11404 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11405 (realize_tty_face): Suppress boldness if colors are the inverse of
11406 the default colors, and tty_suppress_bold_inverse_default_colors_p
11407 is set.
11408 (Ftty_suppress_bold_inverse_default_colors): New function.
11409 (syms_of_xfaces): Defsubr it.
11410
be0dbdab
GM
11411 * buffer.c (Frestore_buffer_modified_p): New function.
11412 (syms_of_buffer): Defsubr it.
11413
e8413c3b
KR
114142000-04-08 Ken Raeburn <raeburn@gnu.org>
11415
87f67317
KR
11416 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11417 charset id (int) argument, not a charset (Lisp_Object).
11418
e8413c3b
KR
11419 * coding.h (code_convert_string): Declare.
11420 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11421 object, as the fourth argument to code_convert_string.
11422
52283633 11423 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11424 (Fset_fontset_font): Use EQ to compare lisp objects.
11425
7c752c80
KR
114262000-04-05 Ken Raeburn <raeburn@gnu.org>
11427
c0333abc
KR
11428 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11429 a pointer that looks like a lisp object.
11430 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11431 zero, instead see whether it's an integer object, since they can't
11432 have intervals.
11433 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11434
52283633
SM
11435 * dispnew.c (allocate_matrices_for_frame_redisplay)
11436 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11437 to convert between (unsigned) int values and lisp integers.
11438 * keyboard.c (read_key_sequence): Likewise.
11439 * lread.c (substitute_object_recurse): Likewise.
11440 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11441 * minibuf.c (do_completion, Fminibuffer_complete_word)
11442 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11443 * term.c (produce_special_glyphs): Likewise.
11444
11445 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11446 * print.c (print_preprocess, print_object): Likewise.
11447
11448 * search.c (compile_pattern): Use NILP when checking for nil.
11449
74e49b38
KR
11450 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11451 __OPTIMIZE__]: Provide a GNU C macro version that handles
11452 lisp-object unions.
11453 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11454 field, to better cope with ENABLE_CHECKING and calls that modify a
11455 Lisp_Object using its old value.
11456
685e5ed2
GM
114572000-04-04 Gerd Moellmann <gerd@gnu.org>
11458
c407c570
GM
11459 * window.c (compare_window_configurations): Signal an error
11460 if parameters C1 or C2 aren't window configurations.
11461
685e5ed2
GM
11462 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11463 AFTER_POTENTIAL_GC calls around calls to functions that can
11464 signal an error and thus invoke the debugger.
11465
587a49ab
GM
114662000-04-03 Gerd Moellmann <gerd@gnu.org>
11467
62f20204
GM
11468 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11469 an error if decoding fails.
11470
587a49ab
GM
11471 * keyboard.c (lispy_mouse_names): Variable removed.
11472 (Vlispy_mouse_stem): New variable.
11473 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11474 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11475 for any mouse button number. Increase size of mouse_syms and
11476 button_down_location as needed. Call modify_event_symbol with
11477 different arguments.
11478 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11479 Call modify_event_symbol with different arguments.
11480 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11481 for any button number. Call modify_event_symbol with different
11482 arguments.
11483 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11484 Accept a string for NAME_ALIST_OR_STEM.
11485
11486 * lisp.h (larger_vector): Add prototype.
11487
11488 * fns.c (larger_vector): Make externally visible.
11489
11490 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11491
2d1675e4
SM
114922000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11493
11494 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11495 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11496 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11497 we are between str1 and str2.
11498 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11499 (PATFETCH): Use `TRANSLATE'.
11500 (PATFETCH_RAW): Fetch multibyte char if applicable.
11501 (PATUNFETCH): Remove.
11502 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11503 When writing a char, write it directly into the pattern buffer rather
11504 than going needlessly through a temp char-array.
11505 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11506 multibyte magic and remove the useless `#ifdef emacs'.
11507 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11508 buffer.
11509
11510 * regex.h (struct re_pattern_buffer): Make field `multibyte'
11511 conditional on `emacs'.
11512
11513 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
11514
cc2d8c6b
KR
115152000-04-01 Ken Raeburn <raeburn@gnu.org>
11516
11517 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
11518 non-union-type versions of XMARK and friends here, because XMARK
11519 and friends won't work on an integer field if NO_UNION_TYPE is not
11520 defined.
52283633 11521 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 11522
52283633 11523 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
11524 (syms_of_composite): Delete local var NARGS, pass an int as first
11525 argument to Fmake_hash_table.
11526
2387b382
KR
11527 * editfns.c (text_property_stickiness): Use NILP to test
11528 Lisp_Object boolean value.
11529 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
11530 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
11531 problems reading from and changing the same lisp value in an
11532 XSETSTRING call.
11533
27660e89
GM
115342000-04-01 Gerd Moellmann <gerd@gnu.org>
11535
11536 * term.c (TN_no_color_video): New variable.
11537 (term_init): Intitialize TN_no_color_video.
11538 (enum no_color_bit): New enumeration.
11539 (MAY_USE_WITH_COLORS_P): New macro.
11540 (turn_on_face): Use it to determine if attributes may be used
11541 combined with colors.
11542
3578db3c
KR
115432000-04-01 Ken Raeburn <raeburn@gnu.org>
11544
11545 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 11546 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
11547 (enlarge_window): Variable sizep now points to Lisp_Object. Use
11548 proper accessor macros.
11549 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
11550 (grow_mini_window): Fix typo getting int value of root->height.
11551
6fc556fd
KR
11552 * xdisp.c (compute_string_pos): Fix order of arguments to
11553 string_pos_nchars_ahead.
11554 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
11555 count arg to variable-arg routines like Frun_hook_with_args and
11556 Fformat.
587a49ab
GM
11557 (back_to_previous_visible_line_start)
11558 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
11559 fixed-arg routines like Fget_char_property and Fmake_string.
11560 (reconsider_clip_changes): Use XINT when comparing integer lisp
11561 objects, or passing them as int arguments.
587a49ab
GM
11562 (mark_window_display_accurate, insert_left_trunc_glyphs)
11563 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11564 storing or passing integer values as lisp objects.
11565 (set_cursor_from_row, highlight_trailing_whitespace): Use
11566 INTEGERP, not implicit test against zero, for glyph object.
11567 (try_window_id): Don't use make_number when we want an int value.
11568
11569 * xfaces.c (xlfd_symbolic_value): Make last argument a
11570 Lisp_Object, to be consistent with callers.
11571 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11572 (lface_hash): Apply XFASTINT to lisp values before folding in.
11573
11574 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11575 fill in window width and height. Pass an int, not a lisp object,
11576 as first arg to Finsert.
11577
6e7b2457
GM
115782000-04-01 Gerd Moellmann <gerd@gnu.org>
11579
610d841e
GM
11580 * xfaces.c (realize_basic_faces): Block input while realizing
11581 the faces.
11582
6e7b2457
GM
11583 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11584
11585 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11586
aa110c0c
GM
115872000-03-31 Gerd Moellmann <gerd@gnu.org>
11588
11589 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 11590 or ASCII, handle case that per-char metric is null.
aa110c0c 11591
8801a864
KR
115922000-03-30 Ken Raeburn <raeburn@gnu.org>
11593
c6129d7e
KR
11594 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11595
52283633
SM
11596 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11597 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
11598 pointer, using eassert.
11599 * frame.h (XFRAME): Likewise.
11600
52283633
SM
11601 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11602 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11603 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 11604 * data.c (set_internal): Likewise.
52283633
SM
11605 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11606 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
11607 * fileio.c (auto_save_1): Likewise.
11608 * insdel.c (check_markers): Likewise.
11609 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11610 * undo.c (record_insert): Likewise.
11611 * vmsproc.c (child_sig): Likewise.
11612 * window.c (unshow_buffer, window_loop): Likewise.
11613 * xterm.c (x_erase_phys_cursor): Likewise.
11614
8e7af858
GM
116152000-03-30 Gerd Moellmann <gerd@gnu.org>
11616
11617 * xfns.c (free_image_cache): Free the cache structure itself
11618 last, after all its members have been freed.
11619
11620 * lisp.h (xstrdup): Add prototype.
11621
11622 * alloc.c (xstrdup): Moved here from xfaces.c.
11623 (allocating_for_lisp): Variable removed.
52283633 11624 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11625
11626 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11627 of Fsymbol_value.
11628 (xstrdup): Moved to alloc.c.
11629
e0b8c689
KR
116302000-03-29 Ken Raeburn <raeburn@gnu.org>
11631
b96f9fb7
KR
11632 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11633
11634 * emacs.c (main): Fix sense of no-loadup test.
11635
e0b8c689
KR
11636 * config.in (ENABLE_CHECKING): Undef.
11637
11638 * lisp.h (struct interval): Replace "parent" field with a union of
11639 interval pointer and Lisp_Object; add new bitfield to use as
11640 discriminant. Change other flag fields to bitfields.
11641 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11642 is defined and the supplied test fails, print a message and abort.
11643 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11644
11645 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11646 pointers; abort if the value looks like a lisp object.
52283633
SM
11647 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11648 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11649 Modify for new interval parent definition.
11650
52283633
SM
11651 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11652 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
11653 addressable lisp object in the interval structure.
11654 (die): New function.
11655 (suppress_checking): New variable.
11656
11657 * intervals.c (interval_start_pos): Just return 0 if there's no
11658 parent object.
11659
f83c5440
GM
116602000-03-29 Gerd Moellmann <gerd@gnu.org>
11661
11662 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11663 and earlier Emacs versions.
11664
11665 * keyboard.c (Ftop_level): Cancel busy-cursor.
11666
11667 * eval.c (call_debugger): Cancel busy-cursor.
11668
fdce64ff
KH
116692000-03-29 Kenichi Handa <handa@etl.go.jp>
11670
11671 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 11672 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 11673
f6a3f532
SM
116742000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11675
11676 * regex.c (analyse_first): New function obtained by ripping out most
11677 of re_compile_fastmap and generalizing it a little bit so that it
11678 can also just return whether a given (sub)pattern can match the empty
11679 string or not.
11680 (regex_compile): Use `analyse_first' to decide whether the loop-check
11681 needs to be done or not for *, +, *? and +? (the loop check is costly
11682 for non-greedy repetition).
11683 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11684
e9b309ac
DL
116852000-03-28 Dave Love <fx@gnu.org>
11686
52283633 11687 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 11688
e9b309ac
DL
11689 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11690
ed0767d8
SM
116912000-03-27 Stefan Monnier <monnier@cs.yale.edu>
11692
11693 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
11694 an expression.
11695 (enum re_opcode_t): Update description of succeed_n.
11696 (PATFETCH): Always define.
11697 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
11698 operators, char classes, shy-groups and intervals).
11699 Optimize special cases of intervals so as to only use succeed_n and
11700 jump_n when really needed.
11701 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
11702 that we don't have to handle the special cases any more.
11703 Simplify on_failure_jump handling as well.
11704
e11e7e46
JR
117052000-03-28 Jason Rumney <jasonr@gnu.org>
11706
11707 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
11708
88faab89
GM
117092000-03-27 Gerd Moellmann <gerd@gnu.org>
11710
182ff242
GM
11711 * s/freebsd.h (GC_SETJMP_WORKS): Define.
11712
11713 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 11714
182ff242
GM
11715 * alloc.c (mark_maybe_object): New function.
11716 (mark_memory): Use it.
11717 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
11718 (setjmp_tested_p, longjmp_done): New variables.
11719 (test_setjmp): New function.
11720 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
11721 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
11722
c1005d06
GM
11723 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
11724 to DEC_TEXT_POS and INC_TEXT_POS.
11725
11726 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
11727 with parameter MULTIBYTE_P.
11728
52283633 11729 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 11730
7439e5b9 11731 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
11732 buffers because it looks for multibyte character byte sequences
11733 which don't exist in unibyte text.
7439e5b9 11734
d9c545da
GM
11735 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11736
11fd416e 11737 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11738 [DEBUG_X_COLORS]: New functions.
11739 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11740
11741 * xfns.c (x_set_cursor_color): Get color reference counts right.
11742
11743 * xterm.c (x_copy_color): New function.
11744 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11745
11746 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11747 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11748 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11749 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11750 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11751 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11752 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11753 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11754 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11755 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11756
11fd416e
GM
11757 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11758 names for handling per-buffer variables.
d9c545da
GM
11759
11760 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11761 instead of MAX_BUFFER_LOCAL_VARS.
11762 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11763
11764 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11765
88faab89
GM
11766 * xfns.c (x_specified_cursor_type): New function.
11767 (x_set_cursor_type): Use it.
11768
11769 * buffer.h (struct buffer): Add cursor_type.
11770
d80f42b7
SM
117712000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11772
11773 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11774 (print_partial_compiled_pattern, re_compile_fastmap):
11775 Handle new opcode.
d80f42b7
SM
11776 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11777 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11778 executing it as well as when popping it off the stack to find infinite
11779 loops in non-greedy repetition operators.
11780
89e80928
GM
117812000-03-26 Gerd Moellmann <gerd@gnu.org>
11782
3d4ff2dd
GM
11783 * doc.c (Qfunction_documentation): New variable.
11784 (syms_of_doc): Initialize Qfunction_documentation.
11785 (Fdocumentation): If FUNCTION is a symbol with non-nil
11786 `function-documentation' property, return a documentation derived
11787 from that.
11788
bd96bd79
GM
11789 * buffer.c (syms_of_buffer): Add default-cursor-type.
11790 (init_buffer_once): Don't let cursor_type have a local value
11791 in every buffer.
11792
19d1bc27
GM
11793 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11794 on buffer-local value of cursor_type.
11795 (x_draw_bar_cursor): Add parameter WIDTH.
11796
11797 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11798 (init_buffer_once): Set default cursor_type value to t.
11799 Mark cursor_type as local everywhere.
11800 (syms_of_buffer): New per-buffer variable cursor-type.
11801
89e80928
GM
11802 * buffer.h (struct buffer): Remove member local_var_flags,
11803 add local_flags.
11804 (MAX_BUFFER_LOCAL_VARS): New macro.
11805 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11806 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11807 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11808 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11809
52283633 11810 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11811
11812 * category.c (Fset_category_table): Use new macros for per-buffer
11813 variables.
11814
11815 * buffer.c (buffer_permanent_local_flags): Make a char array.
11816 (max_buffer_local_idx): New variable.
11817 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11818 for new handling of per-buffer variables.
11819 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11820 (init_buffer_once): Initialize per-buffer vars differently.
11821 Set max_buffer_local_idx.
11822
11823 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11824 variables.
11825
52283633 11826 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
11827
11828 * data.c (do_symval_forwarding, store_symval_forwarding)
11829 (find_symbol_value, set_internal, default_value, Fset_default)
11830 (Fkill_local_variable, Flocal_variable_p): Use new macros for
11831 per-buffer variables.
11832
11833 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
11834
9a0dd3dc
GM
118352000-03-24 Gerd Moellmann <gerd@gnu.org>
11836
b68c375f
GM
11837 * xterm.c (x_term_init): Unblock input around call1 of
11838 Qvendor_specific_keysyms.
11839
9a0dd3dc
GM
11840 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
11841 (find_defun_start): Consider an open parenthesis in column 0
11842 a defun start only if open_paren_in_column_0_is_defun_start is set.
11843 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
11844
7973e637
SM
118452000-03-24 Stefan Monnier <monnier@cs.yale.edu>
11846
11847 * eval.c (Fautoload): Add entry in load-history (if after dump).
11848 * lread.c (load-history): Update docstring.
11849
39210e90
GM
118502000-03-24 Gerd Moellmann <gerd@gnu.org>
11851
11852 * indent.c (Fvertical_motion): Always use the current buffer.
11853 Temporarily change the window's buffer, if necessary.
11854
72db3ab5
GM
118552000-03-23 Gerd Moellmann <gerd@gnu.org>
11856
11857 * xterm.c (fast_find_position): Make sure not to consider rows
11858 not visible in the window.
11859
990b2375
SM
118602000-03-22 Stefan Monnier <monnier@cs.yale.edu>
11861
11862 * regex.c (enum syntaxcode): Provide default for non-Emacs.
11863 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
11864
ff4df011
JR
118652000-03-22 Jason Rumney <jasonr@gnu.org>
11866
11867 * w32menu.c (single_submenu): Set help string to NULL if none.
11868 (w32_menu_show): Set help string correctly.
11869 (add-menu-item): Set help string in MIIM_DATA for menu item.
11870 Load SetMenuItemInfoA explicitly.
11871 (w32_menu_display_help): New function.
427ec082 11872
ff4df011
JR
11873 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
11874 (QCdata): Moved to xdisp.c.
11875
11876 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
11877 (Vw32_charset_to_codepage_alist): Removed.
11878 (Vw32_charset_info_alist): New variable.
52283633
SM
11879 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
11880 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
11881 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
11882 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
11883 with TODO comment.
11884 (w32_codepage_for_font): Use Vw32_charset_info_alist.
11885 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
11886 Define Vw32_charset_info_alist and w32_charset symbols.
11887
118882000-03-22 Jason Rumney <jasonr@gnu.org>
11889
11890 * makefile.nt (w32bdf.obj): Update dependencies.
11891
11892 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
11893
11894 * w32fns.c: Include fontset.h after dispextern.h.
11895 (Fx_create_frame): Do not create fontset.
11896 (w32_load_system_font): Doc fix.
11897 (Fx_close_connection): Free full_name if it is not shared.
11898
11899 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
11900 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
11901 Callers updated.
ff4df011
JR
11902 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
11903 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
11904 (w32_font_is_double_byte): New function, needs body.
11905 (x_append_glyph): Set glyph->glyph_not_available_p.
11906 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11907 it->charset. If it->multibyte_p is zero and it->c is a multibyte
11908 character, convert it to a unibyte character.
11909 (struct glyph_string): Delete member `charset'.
11910 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
11911 calculating it is found.
11912 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11913 the case that per char metric is not available correctly.
11914 (x_fill_glyph_string): Handle the case that the specific glyph is
11915 not available correctly.
11916 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11917 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11918 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11919 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11920 fontset. Don't call FS_LOAD_FONT.
11921
439d5cb4
KR
119222000-03-22 Ken Raeburn <raeburn@gnu.org>
11923
11924 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
11925 (INT_LISPLIKE): New macro.
11926 (NULL_INTERVAL_P): Use it.
52283633
SM
11927 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
11928 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
11929 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
11930
11931 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
11932 explicit references to "parent" field of struct interval and
11933 associated unclean type conversions.
52283633
SM
11934 * intervals.c (create_root_interval, root_interval, rotate_right)
11935 (rotate_left, balance_possible_root_interval, split_interval_right)
11936 (split_interval_left, interval_start_pos, find_interval)
11937 (next_interval, previous_interval, update_interval)
11938 (adjust_intervals_for_insertion, delete_node, delete_interval)
11939 (adjust_intervals_for_deletion, merge_interval_right)
11940 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
11941 (copy_intervals_to_string): Likewise.
439d5cb4
KR
11942 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
11943 Likewise.
11944 * syntax.c (update_syntax_table): Likewise.
11945
11946 * intervals.c (reproduce_tree_obj): New function, like
11947 reproduce_tree but takes a Lisp_Object for the parent. Declare
11948 with prototype.
11949 (graft_intervals_into_buffer): Use it when appropriate.
11950 (reproduce_tree): Declare with prototype.
11951 (balance_possible_root_interval): Check that the parent is a lisp
11952 object before trying to examine its type.
11953
ee1c5b21
GM
119542000-03-22 Gerd Moellmann <gerd@gnu.org>
11955
11956 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
11957 as strings only if both are known to be strings.
11958
11959 * s/openbsd.h (LIBS_TERMCAP): Undef.
11960
1fb352e0
SM
119612000-03-21 Stefan Monnier <monnier@cs.yale.edu>
11962
11963 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
11964 definitions for non-Emacs compilation.
11965 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
11966 outside of `#ifdef emacs'.
11967 (print_partial_compiled_pattern): Update.
11968 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
11969 (re_compile_fastmap): Merge handling of charset and charset_not (for
11970 emacs and non-emacs compilation as well).
11971 Similarly for (not)categoryspec and (not)syntaxspec.
11972 Don't use the fastmap when reaching `anychar' since the added
11973 complexity is not justified.
11974 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
11975 and (not)syntaxspec. Merge (not)categoryspec.
11976
fdaa1f77
KH
119772000-03-22 Kenichi Handa <handa@etl.go.jp>
11978
52283633
SM
11979 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
11980 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 11981 --without-x.
fdaa1f77 11982
d152fb46
DL
119832000-03-21 Dave Love <fx@gnu.org>
11984
11985 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
11986 doc string.
11987
d2cafc8c
GM
119882000-03-21 Gerd Moellmann <gerd@gnu.org>
11989
11990 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
11991 (lface_fully_specified_p): Don't check contents of
11992 LFACE_FONT_INDEX because that attribute is optional.
11993 (realize_x_face): Remove now unwarranted xassert.
11994
9111d4b5
KH
119952000-03-21 Kenichi HANDA <handa@etl.go.jp>
11996
11997 The following changes are to make font selection based on
11998 characters, not charset. In addition, they recover fontset
11999 facilities while utilizing the new font selection mechanism.
12000
6c4bfdc0
KH
12001 * Makefile.in (fontset.o): Depend on dispextern.h.
12002
12003 * alloc.c (mark_face_cache): Don't mark face->registry.
12004
9111d4b5
KH
12005 * dispextern.h (struct glyph): New member glyph_not_available_p.
12006 Use 22 bits for face_id.
12007 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12008 (struct face): Delete member registry, new member ascii_face.
12009 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12010 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12011 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12012 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12013
12014 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12015 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12016 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12017 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12018 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12019 (fs_free_face_fontset, fontset_font_pattern)
12020 (face_suitable_for_char_p, face_for_char)
12021 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12022 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12023 (FS_LOAD_FACE_FONT): New macro.
12024
12025 * fontset.c: All codes rewritten or adjusted for the change of
12026 fontset implementation. Now fontset is represented by char table.
52283633
SM
12027 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12028 Variables removed.
9111d4b5 12029 (my_strcasecmp): Function removed.
52283633 12030 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12031 (AREF, ASIZE): New macros.
52283633
SM
12032 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12033 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12034 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12035 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12036 (fontset_id_valid_p, font_family_registry, fontset_name)
12037 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12038 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12039 New functions.
12040 (fs_load_font): New arg FACE. Caller changed.
12041 (fs_query_fontset): Argument changed. Caller changed.
12042 (Fquery_fontset): call fs_query_fontset.
12043 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12044 Functions removed.
52283633
SM
12045 (clear_fontset_elements, check_registry_encoding)
12046 (check_fontset_name): New functions.
9111d4b5
KH
12047 (syms_of_fontset): Set char-table-extra-slots property of fontset
12048 to 3. Staticpro and initialize Vfontset_table and
12049 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12050
12051 * frame.h (struct frame): Member `fontset_data' removed.
12052 (FRAME_FONTSET_DATA): Macro removed.
12053
12054 * frame.c (make_frame): Don't allocate f->fontset_data.
12055 (Fdelete_frame): Don't free f->fontset_data.
12056
6c4bfdc0
KH
12057 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12058
9111d4b5
KH
12059 * xdisp.c (charset_at_position): Function removed.
12060 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12061 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12062 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12063 Likewise.
12064 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12065 FACE_FOR_CHARSET.
52283633
SM
12066 (get_next_display_element, append_space)
12067 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12068
12069 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12070 Variables removed.
12071 (clear_font_table, frame_update_line_height, load_face_font):
12072 Adjusted for the change of fontset implementation.
12073 (load_face_fontset_font): Function removed.
12074 (pixel_point_size): New function.
12075 (font_list): Argument type changed. Caller changed.
12076 (LFACE_FONT): New macro.
12077 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12078 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12079 Lisp_Object. Determine the font name by actually loading a font
12080 by the specified pattern. Set LFACE_FONT (lface) to the specified
12081 pattern. Even if a font is not found, don't try alternatives.
12082 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12083 (set_font_frame_param): If `font' is specified in lface, use it.
12084 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12085 (lface_same_font_attributes_p): Likewise.
12086 (make_realized_face): Arguent changed. Caller changed. Set
12087 face->ascii_face to face itself.
12088 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12089 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12090 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12091 (free_realized_multibyte_face): New function.
12092 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12093 changed. Caller changed.
12094 (try_font_list): Argument type changed.
12095 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12096 (choose_face_font): Argument changed. Handle fontset properly.
12097 (choose_face_fontset_font): Function removed.
12098 (realize_default_face, realize_named_face): Don't remove the
12099 former face here.
12100 (realize_face): Argument changed. Caller changed. Remove face
52283633 12101 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12102 (realize_x_face): Argument changed. Caller changed. For a
12103 multibyte character, share fontset with base_face. For a single
52283633 12104 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12105 (realize_tty_face): Argument changed. Caller changed.
12106 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12107 (face_at_buffer_position): Don't check multibyte_p for returning
12108 DEFAULT_FACE_ID.
12109 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12110 FACE_SUITABLE_FOR_CHARSET_P.
12111 (syms_of_xfaces): Remove code for Qx_charset_registry and
12112 Vface_default_registry.
12113
6c4bfdc0
KH
12114 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12115 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12116 (x_per_char_metric): Don't try FONT->default_char. Even if
12117 pcm->width is zero, glyph bits may exist.
12118 (x_encode_char): Always initialize char2b->byte1.
12119 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12120 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12121 (x_append_glyph): Set glyph->glyph_not_available_p.
12122 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12123 it->charset. Handle the case that per char metric is not
12124 available. If it->multibyte_p is zero and it->c is a multibyte
12125 character, convert it to a unibyte character.
12126 (struct glyph_string): Delete member `charset'.
12127 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12128 the case that per char metric is not available correctly.
12129 (x_fill_glyph_string): Handle the case that the specific glyph is
12130 not available correctly.
12131 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12132 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12133 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12134 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12135 fontset. Don't call FS_LOAD_FONT.
12136
12137 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12138 (x_create_tip_frame): Likewise.
12139 (Fx_close_connection): Free full_name of font_info.
12140
12141 * fns.c (optimize_sub_char_table): New function.
12142 (Foptimize_char_table): New function.
12143 (syms_of_fns): Defsubr Soptimize_char_table.
12144
b33dd3b0
GM
121452000-03-20 Gerd Moellmann <gerd@gnu.org>
12146
12147 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12148 only if buffer is displayed in some window.
12149
12150 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12151 (try_window_reusing_current_matrix): Don't call scroll run
12152 function if run's current and desired position are the same;
12153 this prevents cursor flickering.
12154
4e8a9132
SM
121552000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12156
12157 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12158
12159 * regex.c (RE_STRING_CHAR): New macro.
12160 (GET_CHAR_AFER_2): Remove.
12161 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12162 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12163 (print_partial_compiled_pattern, re_compile_fastmap)
12164 (re_match_2_internal): Remove on_failure_jump_exclusive.
12165 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12166 optimization only need to work for * (ie. can use of_keep_string_jump).
12167 Remove the special case for .*\n since it is now covered by the general
12168 optimization.
12169 (re_search_2): Don't bother with `room'.
12170 (skip_one_char): New function.
12171 (skip_noops): Simplify since `memory' is not needed any more.
12172 (mutually_exclusive_p): Restructure slightly to use `switch' and
12173 add handling for "all" remaining cases.
12174 (re_match_2_internal): Change on_failure_jump_smart to use
12175 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12176 rather than on_failure_jump_exclusive.
12177
2136fdd4
GM
121782000-03-19 Gerd Moellmann <gerd@gnu.org>
12179
12180 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12181 number of bits per RGB because it's everywhere used as the depth
12182 of the visual.
12183
12184 * term.c (calculate_costs): Remove code dealing with X frames.
12185
18e21ce8 121862000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12187
12188 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12189
d7b511c4
GM
121902000-03-18 Gerd Moellmann <gerd@gnu.org>
12191
12192 * lread.c (read_integer): Unread the last char not consumed.
12193
16b5d424
GM
121942000-03-17 Gerd Moellmann <gerd@gnu.org>
12195
12196 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12197 which are in the process of being deleted.
16b5d424 12198
1fa28578
GM
121992000-03-16 Gerd Moellmann <gerd@gnu.org>
12200
83488cce
GM
12201 * Makefile.in (mostlyclean): Add `*.core'.
12202 (clean): Add `bootstrap-emacs'.
12203
1fa28578
GM
12204 * lread.c (read_integer): New function.
12205 (read1): Support read syntax #o, #x, #b, #r.
12206
99633e97
SM
122072000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12208
1fa28578
GM
12209 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12210 make sure POINTER_TO_OFFSET gives the same value before and after
12211 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12212 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12213 (debug): Now only active if > 0 rather than if != 0.
12214 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12215 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12216 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12217 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12218 (store_op1, store_op2, insert_op1, insert_op2)
12219 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12220 (group_in_compile_stack): Move to after its arg's types are
12221 declared and add a prototype.
99633e97 12222 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12223 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12224 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12225 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12226 indentation of the greedy-op and shy-group code.
99633e97
SM
12227 (at_(beg|end)line_loc_p): Fix argument's types.
12228 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12229 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12230 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12231 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12232 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12233 QUIT unconditionally.
99633e97 12234
699238d9
GM
122352000-03-15 Gerd Moellmann <gerd@gnu.org>
12236
12237 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12238 a sole completion.
12239
12240 * process.c (send_process): Add a hint that the function
12241 can call Lisp code to its comment.
12242
12243 * lread.c (load_dangerous_libraries): New variable.
12244 (Vbytecomp_version_regexp): New variable.
12245 (safe_to_load_p): New function.
12246 (Fload): Handle files not compiled with Emacs specially.
12247 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12248
34e23e5a
GM
122492000-03-14 Gerd Moellmann <gerd@gnu.org>
12250
9c763cca
GM
12251 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12252
12253 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12254 support functions only if HAVE_X11R6_XIM is defined.
12255 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12256
12257 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12258
12259 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12260 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12261 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12262
12263 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12264 (HAVE_X11R6_XIM): Define.
12265
12266 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12267
34e23e5a
GM
12268 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12269 If set, call XSynchronize.
12270
66f0296e
SM
122712000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12272
34e23e5a
GM
12273 * regex.c: Declare a new type `re_char' used throughout the code
12274 for the string char type. It's `const unsigned char' to match the
12275 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12276 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12277 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12278 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12279 code duplication.
66f0296e
SM
12280
12281 * charset.h (GET_CHAR_AFTER_2): Remove.
12282 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12283
854a025c
KR
122842000-03-12 Ken Raeburn <raeburn@gnu.org>
12285
12286 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12287 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12288 of them try to use backquotes.
12289
b9d2c7e2
DL
122902000-03-12 Dave Love <fx@gnu.org>
12291
12292 * unexelf.c: Restore changes of 1999-10-19.
12293 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12294 fix its type and alignment; copy it from current process.
12295
5e5dff44
GM
122962000-03-12 Gerd Moellmann <gerd@gnu.org>
12297
9b2f3c38
GM
12298 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12299 has been found. Fix bug not computing timer's predecessor.
12300
427ec082 12301 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12302 file name.
12303
e1cff360
GM
12304 * window.c (Fsave_window_excursion): Doc fix.
12305
52283633 12306 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12307
e411ce4b
EZ
123082000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12309
12310 * msdos.c (vga_installed): New function, code moved from
12311 dos_set_window_size.
12312 (Qbar, Qcursor_type, outside_cursor): New variables.
12313 (syms_of_msdos): Intern and staticpro them.
12314 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12315 shape used outside Emacs when called for the first time.
12316 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12317 cursor shape used outside Emacs.
12318 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12319 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12320 type has changed.
12321 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12322 parameters specify the cursor. Make qreverse a global
12323 variable (renamed to Qreverse).
12324
80460654
GM
123252000-03-09 Gerd Moellmann <gerd@gnu.org>
12326
12327 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12328
95cd4c40
SM
123292000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12330
12331 This is a big redesign of failure-stack and register handling, prompted
12332 by bugs revealed when trying to add shy-groups. Overall, what happened
12333 is that loops are now structured a little differently, groups can be
12334 shy and the code is a little simpler.
12335
12336 * regex.h: Update the copyright.
12337 (RE_SHY_GROUPS): New value.
12338 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12339 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12340
80460654
GM
12341 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12342 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12343 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12344 for (start|stop)_memory since they now only take one argument (the
12345 second has becomes unnecessary).
52283633 12346 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12347 (print_compiled_pattern): Use %ld to printf long ints and flush to
12348 make debugging a little easier.
95cd4c40
SM
12349 (union fail_stack_elt): Make the integer unsigned.
12350 (struct fail_stack_type): Add a `frame' element.
12351 (INIT_FAIL_STACK): Init `frame' as well.
12352 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12353 (DEBUG_PUSH, DEBUG_POP): Remove.
12354 (NUM_REG_ITEMS): Remove.
12355 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12356 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12357 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12358 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12359 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12360 New macros.
80460654
GM
12361 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12362 address pushed is not the destination of the jump but the source
12363 of it instead.
95cd4c40
SM
12364 (NUM_FAILURE_ITEMS): Remove.
12365 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12366 registers before the actual failure point). Don't hardcode any
12367 meaning for str==NULL anymore.
95cd4c40 12368 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12369 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12370 Remove.
95cd4c40
SM
12371 (REG_UNSET_VALUE): Use NULL (why not?).
12372 (compile_range): Remove declaration since it doesn't exist.
12373 (struct compile_stack_elt_t): Remove inner_group_offset.
12374 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12375 (regex_grow_registers): Remove dead code.
12376 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12377 (regex_compile): Add shy-groups Change loops to use
12378 on_failure_jump_smart&jump instead of
12379 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12380 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12381 variable to me). Use `jump' instead of `jump_past_alt' and don't
12382 bother with push_dummy_failure in alternatives since it is now
12383 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12384 emacs' for (re)allocating the stack.
12385 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12386 from loop when bufp->can_be_null rather than jumping to `done'.
12387 Avoid jumping backwards so as to ensure termination. Use
12388 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12389 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12390 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12391 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12392 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12393 (lowest_active_reg, highest_active_reg)
12394 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12395 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12396 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12397 variables. Push register (in `start_memory') on the stack rather
12398 than storing it in old_reg(start|end). Remove the cycle detection
12399 from `stop_memory', replaced by the use of on_failure_jump_loop
12400 for greedy loops. Add code for the new on_failure_jump_<foo>.
12401 Remove ad-hoc code in `on_failure_jump' to push more registers in
12402 the case of a loop. Take out code from `maybe_pop_jump' into
12403 separate functions and adapt it to the semantics of
12404 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12405 and push_dummy_failure. Remove dummy_failure handling and
12406 handling of `failures to jump to on_failure_jump' (this last one
12407 was already dead code, it seems).
12408 (group_match_null_string_p, alt_match_null_string_p)
12409 (common_op_match_null_string_p): Remove.
95cd4c40 12410
7397acc4
DL
124112000-03-08 Dave Love <fx@gnu.org>
12412
12413 * config.in: Don't depend on __STDC__ for volatile.
12414 Add POINTER_TYPE, PTR, PROTOTYPES.
12415
12416 * hftctl.c, strftime.c: Use PROTOTYPES.
12417 * eval.c (find_handler_clause): Likewise.
12418
12419 * mem-limits.h: Use POINTER_TYPE.
12420
12421 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12422 (memory_warnings): Declare using POINTER_TYPE.
12423
5e91ff9e
GM
124242000-03-08 Gerd Moellmann <gerd@gnu.org>
12425
feab4fba
GM
12426 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12427
52283633 12428 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12429
5e91ff9e
GM
12430 * xfns.c: Remove obsolete code in #if 0.
12431 (Fx_focus_frame): New function.
12432
a735b7e1
KH
124332000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12434
12435 * coding.c (coding_category_name): Add coding-category-utf-8,
12436 coding-category-utf-16-be, coding-category-utf-16-le.
12437 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12438 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12439 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12440 (detect_coding_utf_8): New function.
12441 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12442 UTF_16_LOW_SURROGATE_P): New macros.
12443 (detect_coding_utf_16): New function
12444 (detect_coding_mask): When priorities are specified, skip any
12445 categories that have `nil' coding-system. Fix bug of returning
12446 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12447 returns a mask not set in PRIORITIES.
12448 (detect_eol_type_in_2_octet_form): New function.
12449 (detect_eol): selects detect_eol_type_XXX to call according to
12450 cooding->category_idx.
12451 (detect_coding_system): Remove `nil' coding-system in the result.
12452 (Fupdate_coding_systems_internal): Update all coding-categories.
12453
52283633
SM
12454 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12455 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12456 New macros.
12457 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12458 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12459 (CODING_CATEGORY_IDX_UTF_16_LE)
12460 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12461 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12462 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12463 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12464
9994cc69
GM
124652000-03-07 Gerd Moellmann <gerd@gnu.org>
12466
e9b4e5ff
GM
12467 * doc.c (Fdocumentation_property): If value is not a string,
12468 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12469
f7daf1e1
GM
12470 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12471 close the display with XtCloseDisplay. This caused a bus error
12472 on OpenWindows.
12473
9994cc69
GM
12474 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12475 complete but not unique.
12476
4336c705
GM
124772000-03-06 Gerd Moellmann <gerd@gnu.org>
12478
18bb0684
GM
12479 * process.c (send_process): Remove local variable `procname' that
12480 might become invalid when a GC happens. Instead, access the
12481 process name slot directly.
12482
4336c705
GM
12483 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12484 orig_height if set.
12485
12486 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12487 orig_height if set.
12488
515d0d0e
EZ
124892000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12490
12491 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12492 glyph matrices have been freed.
12493
100b3cbb
GM
124942000-03-05 Gerd Moellmann <gerd@gnu.org>
12495
50df5e5a 12496 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 12497 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
12498
12499 * xfns.c (QCdata): Moved to xdisp.c.
12500
12501 * xdisp.c (QCdata): Moved here from xfns.c.
12502 (syms_of_xdisp): Initialize QCdata.
12503
12504 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12505
12506 * window.c (coordinates_in_window): Use
12507 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12508 FRAME_INTERNAL_BORDER_WIDTH.
12509
100b3cbb 12510 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 12511 it is obviously invalid.
100b3cbb
GM
12512
12513 * xterm.c (x_term_init): Create a colormap if not using the
12514 default visual.
12515
12516 * xterm.h (select_visual): Change prototype.
12517
12518 * xfns.c (select_visual): Rewritten. Recognize user-specified
12519 visual classes.
12520 (visual_classes): New variable.
12521
64d739c4
GM
125222000-03-04 Gerd Moellmann <gerd@gnu.org>
12523
12524 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
12525 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
12526 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 12527 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
12528 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
12529 XtNcolormap resources.
12530 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
12531 (Fx_create_frame): Initialize color members of x_output structure.
12532 (xpm_load): Pass colormap to XPM lib.
12533
12534 * xfaces.c (x_free_colors): Access colormap of frame using
12535 FRAME_X_COLORMAP. Be paranoid about freeing black and white
12536 when default colormap is used.
12537
12538 * xterm.c (x_term_init): Set Colormap member of x_display_info
12539 structure. Copy colormap if resource `privateColormap' is
12540 specified (PseudoColor only).
12541 (x_setup_relief_color): Access colormap of frame using
12542 FRAME_X_COLORMAP.
12543
12544 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
12545 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
12546
c3cee013
JR
125472000-03-04 Jason Rumney <jasonr@gnu.org>
12548
12549 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
12550 other non-platform-specific equivalents.
64d739c4 12551 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
12552 specific functions and macros as their w32 equivalents where
12553 non-platform-specifics are not available.
12554 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
12555 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
12556 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12557 (frame_update_line_height): Use macros to access f->output_data.
12558 (defined_color): Remove FIXME comments; fixed.
12559 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12560 into #ifdef blocks. Add WINDOWSNT blocks.
12561 (Fx_list_fonts): Use macros for accessing font data.
12562 (set_lface_from_font_name): Different default fonts for X and
12563 WINDOWSNT.
12564 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12565 scalable for backward compatibility.
64d739c4 12566 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12567 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12568
64d739c4 12569 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12570 syms_of_w32faces.
12571
12572 * makefile.nt (w32faces.obj): Remove.
12573 (xfaces.obj): Add.
12574
807cc41c
JR
125752000-03-03 Jason Rumney <jasonr@gnu.org>
12576
12577 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12578 correct parameters.
12579
0007072a
KR
125802000-03-03 Ken Raeburn <raeburn@gnu.org>
12581
12582 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12583 standard ELF definitions here if the system header does not.
12584
71a6ba55
GM
125852000-03-03 Gerd Moellmann <gerd@gnu.org>
12586
12587 * xterm.c (PER_CHAR_METRIC): Removed.
12588 (x_per_char_metric_1, x_default_char): New functions.
12589 (x_per_char_metric): If font's default char is invalid, return
12590 metrics of a suitably chosen usable default char.
12591 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
12592 char, replace occurrences of unprintable chars with a suitably
12593 chosen usable default char.
71a6ba55 12594
900fa1f1
GM
125952000-03-02 Gerd Moellmann <gerd@gnu.org>
12596
42f55fe0
GM
12597 * xterm.c (note_mouse_highlight): Return quickly if frame's
12598 glyph matrices have been freed.
12599
12600 * dispnew.c (free_glyphs): Block input while freeing matrices.
12601
900fa1f1
GM
12602 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12603
52283633
SM
12604 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12605 Use x_free_colors.
900fa1f1
GM
12606
12607 * dispextern.h (x_free_colors): Add prototype.
12608
12609 * xfaces.c (x_free_colors): New function.
12610 (unload_color, free_face_colors): Use it.
12611
2f950292
EZ
126122000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12613
12614 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12615
12616 * window.c [MSDOS]: Include msdos.h.
12617
54d04320
DL
126182000-03-02 Dave Love <fx@gnu.org>
12619
12620 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12621
12622 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12623 set C_OPTIMIZE_SWITCH for gcc.
12624
0ba93ac4
KH
126252000-03-02 Kenichi Handa <handa@etl.go.jp>
12626
12627 * coding.c (coding_save_composition): Be sure to allocate
12628 composition data area in coding even if there's no composition in
12629 the current run.
12630
a2bc11d4
JR
126312000-03-01 Jason Rumney <jasonr@gnu.org>
12632
12633 * w32term.c: Equivalent changes to those made to xterm.c on
12634 2000-02-25 and 2000-02-24.
12635
12636 * w32fns.c: Equivalent changes to those made to xfns.c on
12637 2000-02-25 and 2000-02-21.
12638
12639 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12640 correct line-end convention is followed.
12641
12642 * w32menu.c [HAVE_BOXES]: Remove #undef.
12643 (single_keymap_panes): Remove code for simulating checkmarks.
12644 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12645 Remove code for drawing simulated checkmarks.
12646 (w32_menu_show): make unibyte help string correctly.
12647 (add_menu_item): draw standard Windows checkmarks. Draw radio
12648 buttons as radio buttons if possible.
12649
72d19d75
GM
126502000-03-01 Gerd Moellmann <gerd@gnu.org>
12651
2df636f4
GM
12652 * sysdep.c (start_of_text): Don't define this function for NetBSD
12653 with ELF.
12654
427ec082 12655 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
12656 Don't define.
12657 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12658 (LINKER): Don't undef if __NetBSD__ is defined.
12659
12660 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12661
12662 * fileio.c [__NetBSD__]: Define `unix'.
12663
72d19d75
GM
12664 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12665
ed4d0512
GM
126662000-02-29 Gerd Moellmann <gerd@gnu.org>
12667
50b1039f
GM
12668 * atimer.c (start_atimer): Don't abort when timers are stopped.
12669 (append_atimer_lists): New function.
12670 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12671 arbitrary lists of stopped and running atimers.
12672
ed4d0512
GM
12673 * atimer.c (cancel_atimer): Handle canceling an atimer when
12674 some timers are stopped.
12675
12676 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12677 after canceling it.
12678
12679 * fns.c (maybe_resize_hash_table): Handle case of new size
12680 coming out as being the same as old size.
12681
387023ee
JR
126822000-02-27 Jason Rumney <jasonr@gnu.org>
12683
12684 * makefile.nt: Add atimer.h to dependencies.
12685 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12686 * w32console.c: Only disable window system features for dispextern.h
12687 (initialize_w32_display): Build a display info for the console.
12688 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12689 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12690 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
12691 as 2 button mice.
12692 * w32gui.h (struct W32FontStruct): Revert last change after change
12693 to xdisp.c.
12694 * w32menu.c (single_submenu): Set up help string.
12695 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
12696 (w32_dialog_show): Set up help string.
12697 * w32term.c (w32_display_info_for_display): Remove unused function.
12698 (w32_draw_bitmap): Use pre-built bitmaps.
12699 (w32_initialize_display_info): New function to initialize parts of
12700 display info that are common to both GUI and console frames.
12701 (w32_term_init): Use w32_initialize_display_info. Do not set
12702 Vw32_num_mouse_buttons here, as it is not called for console
12703 frames. Build bitmaps for indicating truncated lines etc.
12704 (x_delete_display): Destroy pre-built bitmaps.
12705 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
12706 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
12707
4516715a
DL
127082000-02-27 Dave Love <fx@gnu.org>
12709
12710 * lisp.h: Add a bunch of prototypes.
12711
171ca836
KH
127122000-02-26 Kenichi Handa <handa@etl.go.jp>
12713
12714 * keyboard.c (read_char): Set `usec' correctly.
12715
4013921d
KH
127162000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12717
12718 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
12719 `lambda', set reg[RRR] to the map index.
12720 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
12721 reg[RRR] to 0. Otherwise, set it to -1.
12722
9244a058
GM
127232000-02-25 Gerd Moellmann <gerd@gnu.org>
12724
2df636f4 12725 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 12726
18e21ce8 127272000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 12728
f43d79c1
GM
12729 * fileio.c (Ffile_symlink_p): If result starts with a `/'
12730 and contains a `:', prepend `/:'.
12731
12732 * window.c (select_window_1): If selected_window is nil,
12733 don't "swap out" the buffer's point.
12734 (Fset_window_configuration): Set selected_window to nil
12735 before calling Fselect_window.
12736 (unshow_buffer): Don't set point in buffer from window's point
12737 if another more recently selected window also shows the buffer.
12738
bed0c171
GM
127392000-02-25 Gerd Moellmann <gerd@gnu.org>
12740
449c3c52
GM
12741 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12742
f5b58615
GM
12743 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12744 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12745 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12746 New variables.
f5b58615
GM
12747 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12748 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12749 (hide_busy_cursor): New functions.
12750 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12751
12752 * minibuf.c (read_minibuf): Cancel busy-cursor.
12753
12754 * keyboard.c (command_loop_1): Call start_busy_cursor before
12755 Fcommand_execute and cancel_busy_cursor after it.
12756 (timer_check): Remove busy-cursor code.
12757 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12758 cursor timer.
12759
12760 * process.c (wait_reading_process_input): Remove busy-cursor code.
12761
12762 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12763 Fx_hide_busy_cursor.
12764
12765 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12766 Remove prototyoes.
12767 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12768
12769 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12770
12771 * xterm.c (XTread_socket): Remove busy-cursor code.
12772
4eb8436f
GM
12773 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12774 (build_frame_matrix_from_leaf_window): Put code handling
12775 glyph row's not being a slice of a frame row in #if 0.
12776 (sync_window_with_frame_matrix_rows): New function.
12777 (frame_row_to_window): New function.
12778 (mirror_line_dance): Handle copies between windows.
12779
3cb65b0e
GM
12780 * lread.c (Fload): Use `xfree' instead of `free'.
12781 (init_obarray): Use `xmalloc' instead of `malloc'.
12782
bed0c171
GM
12783 * window.c (Fset_window_buffer): Set WINDOW to the window
12784 after decoding.
2add4349
GM
12785 (coordinates_in_window): Take frame's internal border width
12786 into account.
bed0c171 12787
42088c12
GM
127882000-02-24 Gerd Moellmann <gerd@gnu.org>
12789
12790 * xterm.c (x_display_and_set_cursor): Display cursor of
12791 non-selected windows depending on the setting of
12792 cursor_in_non_selected_windows.
12793
12794 * xdisp.c (cursor_in_non_selected_windows): New variable.
12795 (syms_of_xdisp): DEFVAR_BOOL it.
12796
d1e103b2
GM
127972000-02-23 Gerd Moellmann <gerd@gnu.org>
12798
723e779c
GM
12799 * data.c (Fstring_to_number): If number is greater than what
12800 fits into an integer, return a float.
12801
d1e103b2
GM
12802 * eval.c (specbind): Remove references to
12803 keyword_symbols_constant_flag.
12804
12805 * data.c (keyword_symbols_constant_flag): Removed.
12806 (Fmakunbound, set_internal, syms_of_data): Remove references to
12807 keyword_symbols_constant_flag.
12808
12809 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12810
214f877f
KH
128112000-02-23 Kenichi Handa <handa@etl.go.jp>
12812
12813 * syntax.c (multibyte_syntax_as_symbol): New variable.
12814 (syms_of_syntax): Declare it as a Lisp variable.
12815 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12816 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12817 nonzero, treat all multibyte characters as symbol.
52283633 12818 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12819
130adcb7
EZ
128202000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12821
3cb65b0e 12822 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12823 a deleted frame.
130adcb7 12824
17cbbf95
GM
128252000-02-21 Gerd Moellmann <gerd@gnu.org>
12826
12827 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
12828
12829 * xfns.c (x_window_to_frame, x_any_window_to_frame)
12830 (x_non_menubar_window_to_frame): Check the busy-cursor window.
12831
beb0bc36
DL
128322000-02-21 Dave Love <fx@gnu.org>
12833
12834 * frame.c (Vmouse_position_function): New variable.
12835 (Fmouse_position): Use it.
12836 (syms_of_frame): Install it.
12837
12838 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
12839
1d92afcd
GM
128402000-02-20 Gerd Moellmann <gerd@gnu.org>
12841
12842 * fileio.c (Finsert_file_contents): Unbind the binding of
12843 standard-output done by temp_output_buffer_setup.
329eed9f
GM
12844
12845 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
12846 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
12847 (specbind, unbind_to): Handle most common case of non-constant
12848 symbol with trivial value specially.
12849
12850 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
12851
18e21ce8 128522000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
12853
12854 * data.c (Fmake_variable_buffer_local): Doc fix.
12855 Init found_for_buffer to 0.
12856 (Fmake_variable_frame_local): If the variable has already
12857 been buffer-local, set the check_frame field.
12858
1d4311c3
EZ
128592000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
12860
12861 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
12862 produced for CODING_MODE_LAST_BLOCK requires.
12863
2dc95ddd
DL
128642000-02-18 Dave Love <fx@gnu.org>
12865
12866 * keyboard.c (echo_keystrokes): Remove declaration.
12867 (Vecho_keystrokes) New variable.
12868 (read_char, record_menu_key, read_key_sequence): Use it to allow
12869 use of float value.
12870 (syms_of_keyboard): Change Vecho_keystrokes declaration.
12871
12872 * lread.c: Undef feature selection macros before defining.
12873
f0930f35
GM
128742000-02-18 Gerd Moellmann <gerd@gnu.org>
12875
12876 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
12877 for symbols other than the symbol in question.
12878
e3d4de90
DL
128792000-02-17 Dave Love <fx@gnu.org>
12880
12881 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
12882
0b378936
GM
128832000-02-17 Gerd Moellmann <gerd@gnu.org>
12884
d621caf7
GM
12885 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
12886
0b378936
GM
12887 * alloc.c (enum mem_type): Compile unconditionally.
12888
3b451f74
EZ
128892000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
12890
12891 * xfaces.c (tty_defined_color): Don't return faulire indication
12892 for unspecified-fg and unspecified-bg pseudo-colors.
12893
10689a01
GM
128942000-02-17 Gerd Moellmann <gerd@gnu.org>
12895
1216f5e4
GM
12896 * alloc.c (mark_object): Don't mark symbol names in pure space.
12897 (gc_sweep): Don't unmark symbol names in pure space.
12898
12899 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
12900 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
12901 [GC_MARK_STACK]: New defines.
427ec082 12902 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
12903 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
12904
12905 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
12906
12907 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
12908 allocate_buffer instead of xmalloc.
12909
12910 * alloc.c (toplevel): Include setjmp.h.
12911 (PURE_POINTER_P): New define.
12912 (enum mem_type) [GC_MARK_STACK]: New enumeration.
12913 (Vdead) [GC_MARK_STACK]: New variable.
12914 (lisp_malloc): Add parameter TYPE, call mem_insert if
12915 GC_MARK_STACK is defined.
12916 (allocate_buffer): New function.
427ec082 12917 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
12918 (free_float) [GC_MARK_STACK]: Set type to Vdead.
12919 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
12920 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
12921 (MEM_NIL) [GC_MARK_STACK]: New define.
12922 (struct mem_node) [GC_MARK_STACK]: New structure.
12923 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
12924 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
12925 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
12926 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
12927 (mark_stack) [GC_MARK_STACK]: New functions.
12928 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
12929 (clear_marks): Removed.
12930 (gc_sweep): Set free conses' car, free floats' type, free
12931 symbols' function to Vdead. Use lisp_free to free buffers.
12932 (init_alloc_once): Initialize Vdead.
12933 (survives_gc_p): Return non-zero for pure objects.
12934
12935 * alloc.c: Add comments throughout the file.
12936
2503c8b1
GM
12937 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
12938 that unblocks alarms.
12939
8389e1e2
GM
12940 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
12941 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
12942 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
12943
10689a01 12944 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 12945
bfc17d18
KH
129462000-02-17 Kenichi Handa <handa@etl.go.jp>
12947
4a09dee0
KH
12948 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
12949 avoid infinite error signaling. Allocate sufficient memory for
12950 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 12951
2b927d02
SM
129522000-02-17 Stefan Monnier <monnier@cs.yale.edu>
12953
12954 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
12955 depends on the previous behavior.
12956
b49cb764
GM
129572000-02-16 Gerd Moellmann <gerd@gnu.org>
12958
12959 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
12960
99e95407
GM
129612000-02-15 Gerd Moellmann <gerd@gnu.org>
12962
12963 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
12964
12965 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 12966 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
12967 write(2).
12968
6ffd3cf7
RS
129692000-02-15 Richard M. Stallman <rms@gnu.org>
12970
12971 * data.c (set_internal): Don't make variable buffer-local
12972 if within a let-binding for the same buffer.
12973 (let_shadows_buffer_binding_p): New function.
12974
12975 * eval.c (specbind): For buffer-local value,
12976 record the current buffer also.
12977 (unbind_to): Cope with that change.
12978
cad53475
GM
129792000-02-15 Gerd Moellmann <gerd@gnu.org>
12980
12981 * window.c (Fsave_window_excursion): Doc fix.
12982
1aa963c8
SM
129832000-02-15 Stefan Monnier <monnier@cs.yale.edu>
12984
12985 * syntax.c (back_comment): Make sure we only consider comment-starters
12986 of the relevant style and return -1 in case of a failure to find the
12987 beginning of the comment.
12988 (Fforward_comment): If back_comment fails, go back to the position just
12989 after the comment-end.
12990 (scan_lists): Add comment describing a very minor bug.
12991
b9b84fd3
SM
129922000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12993
12994 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
12995 `completion-regexp-list' in the docstring.
12996
3a28db80
DL
129972000-02-14 Dave Love <fx@gnu.org>
12998
12999 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13000
fb4a568d
SM
130012000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13002
13003 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13004 to Emacs' syntax. Also fix the comment about set/not-set meanings
13005 since Emacs syntax is not the value 0 any more.
13006 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13007 since it's now part of RE_SYNTAX_EMACS.
13008
1063ebb5
DL
130092000-02-12 Dave Love <fx@gnu.org>
13010
52283633 13011 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13012
fb07a302
GM
130132000-02-12 Gerd Moellmann <gerd@gnu.org>
13014
13015 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13016
aaf2320c
DL
130172000-02-12 Dave Love <fx@gnu.org>
13018
13019 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13020
13021 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13022 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13023 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13024
13025 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13026
13027 * s/nextstep.h: Don't define HAVE_ALLOCA.
13028
13029 * config.in: Add vfork bits.
13030
eedf8bde
GM
130312000-02-12 Gerd Moellmann <gerd@gnu.org>
13032
13033 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13034 unwind function to undo the effect of stopping atimers.
13035
52283633 13036 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13037
13038 * atimer.c (stopped_atimers): New variable.
13039 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13040 New functions.
13041
13042 * atimer.h (stop_other_atimers, run_all_atimers)
13043 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13044
eedf8bde
GM
13045 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13046
8476c2f8
KR
130472000-02-11 Ken Raeburn <raeburn@gnu.org>
13048
13049 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13050 library may depend on jpeg.
13051 (atimer.o): Depends on atimer.c.
13052
0e85e4a3
KH
130532000-02-11 Kenichi Handa <handa@etl.go.jp>
13054
13055 * insdel.c (del_range_1): Call update_compositions.
13056 (del_range_both): Call update_compositions just once..
13057
97fa0cc8
DL
130582000-02-10 Dave Love <fx@gnu.org>
13059
13060 * xfns.c (create_frame_xic): Fix initialization of automatic
13061 aggregates for pcc.
13062
25566a3c
KH
130632000-02-09 Kenichi Handa <handa@etl.go.jp>
13064
13065 * ccl.c (CCL_MAKE_CHAR): New macro.
13066 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13067 registers by CCL_MAKE_CHAR before calling translate_char.
13068 <CCL_TranslateCharacterConstTbl> Likewise.
13069
69da54ba
DL
130702000-02-08 Dave Love <fx@gnu.org>
13071
13072 * lread.c (__EXTENSIONS__): Define.
13073
f7136ee8
GM
130742000-02-08 Gerd Moellmann <gerd@gnu.org>
13075
13076 * puresize.h (BASE_PURESIZE): Increase to 650000.
13077
7768790b
EZ
130782000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13079
13080 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13081 the help message.
13082
38fd211b
EZ
130832000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13084
13085 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13086 md, mh, mb, mr, and me to the fake termcap entry.
13087
66e4690f
KR
130882000-02-06 Ken Raeburn <raeburn@gnu.org>
13089
13090 * sound.c (sound_cleanup): Don't call device close routine if the
13091 function pointer is null.
13092
a75dfea0
AI
130932000-02-06 Andrew Innes <andrewi@gnu.org>
13094
13095 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13096 around image definitions and prototypes.
13097 (gamma_correct) [WINDOWSNT]: New prototype.
13098
13099 * w32term.c (x_make_frame_visible): Replace call to
13100 input_poll_signal with poll_for_input.
13101
13102 * window.c [WINDOWSNT]: Include w32term.h.
13103
13104 * xdisp.c [WINDOWSNT]: Include w32term.h.
13105
13106 * makefile.nt: Add dependencies on w32gui.h.
13107 (OBJ1): Include atimer.obj.
13108 ($(BLD)\atimer.obj): New dependency rule.
13109
13110 * w32.c (sigmask): New function (does nothing).
13111 (sigunblock): Ditto.
13112
13113 * frame.c [WINDOWSNT]: Include w32term.h.
13114
13115 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13116
13117 * lread.c (syms_of_lread): Fix literal newlines.
13118
13119 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13120 the string constant limit (2048 bytes) in MSVC.
13121 (main): Ditto.
13122
59ddecde
GM
131232000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13124
52283633 13125 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13126 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13127 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13128 dispatch the event.
13129
07590973
DL
131302000-02-04 Dave Love <fx@gnu.org>
13131
13132 * fileio.c: Remove some unused vars.
13133 (_GNU_SOURCE): Define (for euidaccess).
13134
13135 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13136
13137 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13138 gcpro1, gcpro2.
13139 (read_minibuf): Deal with allow_props correctly.
13140
649351f9
EZ
131412000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13142
13143 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13144
66e4690f 131452000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13146
13147 * search.c (compile_pattern): If a cache entry has a nil regexp,
13148 fill in that entry instead of clobbering a previously cached
13149 string regexp.
13150
66e4690f 131512000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13152
13153 * puresize.h (BASE_PURESIZE): Increase to 610000.
13154
d240a249
GM
131552000-02-02 Gerd Moellmann <gerd@gnu.org>
13156
13157 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13158 can GC.
13159
ca91fb26
KH
131602000-02-02 Kenichi Handa <handa@etl.go.jp>
13161
25660570
KH
13162 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13163 instead of incrementing ic directly.
13164 <CCL_WriteExprConst> Likewise.
13165 <ccl_set_expr>: Set ic to jump_address.
13166
ca91fb26
KH
13167 * fileio.c (e_write): Fix the handling of
13168 CODING_FINISH_INSUFFICIENT_SRC.
13169
2ede9689
DL
131702000-02-01 Dave Love <fx@gnu.org>
13171
13172 * editfns.c (Fpropertize): Doc fix.
13173
13174 * process.c (Fstart_process): Doc fix.
13175
13176 * eval.c: Fix various doc strings not to duplicate information
13177 from help-manyarg-func-alist.
13178
52283633 13179 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13180
13181 * doc.c (Vhelp_manyarg_func_alist): New variable.
13182 (Fdocumentation): Use it.
13183 (syms_of_doc): Define it.
13184
b6680a0e
GM
131852000-01-31 Gerd Moellmann <gerd@gnu.org>
13186
2cb750ba
GM
13187 * xterm.c (xim_open_dpy): Remove unused local variable.
13188
52283633 13189 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13190
13191 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13192 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13193
b6680a0e
GM
13194 * fns.c (sweep_weak_table): New function.
13195 (sweep_weak_hash_tables): Use it. Keep on marking until there
13196 is no more change.
13197
994c5afe
GM
131982000-01-30 Gerd Moellmann <gerd@gnu.org>
13199
13200 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13201 that XTread_socket does not crash by trying to call XNoOp on a
13202 closed display.
427ec082 13203
f00276e3
JR
132042000-01-30 Jason Rumney <jasonr@gnu.org>
13205
13206 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13207 Change selected_frame to SELECTED_FRAME ().
13208 (w32_console_mouse_position): Remove #ifndef MULE from around
13209 `insist' parameter.
13210
13211 * makefile.nt: Remove dosfns.obj.
13212
13213 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13214
13215 * w32fns.c (w32_defined_color): Check for valid frame before
13216 applying gamma correction. Eliminate dependency on frame elsewhere.
13217 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13218 (w32_to_x_font): Use resx and resy not height_in and width_in.
13219 (x_to_w32_font): Doc fix.
13220 (xlfd_strip_height): New function to strip and return font height.
13221 (w32_font_match): Compare height separately from rest of xlfd
13222 spec, using xlfd_strip_height.
13223
13224 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13225 width_in. Use w32_defined_color in place of defined_color.
13226
13227 * w32faces.c: Merge more of DOS and X specifics in preparation for
13228 merge with xfaces.c.
13229 (defined_color): Remove FIXME comment.
13230 (tty_color_name): Provide w32-specific function.
13231 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13232
13233 * w32console.c (turn_on_face, turn_off_face): Removed.
13234 (w32_face_attributes): New function.
13235 (Global_variables): Reduce scope where possible.
13236 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13237 fill attribute.
13238 (hl_mode): Don't modify text attributes.
13239 (write_glyphs): Don't do anything if len <= 0. Use
13240 w32_face_attributes to get attributes for drawing. Write
13241 terminating codes using char_attr_normal.
13242 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13243 (update_begin, update_end): Likewise.
13244 (vga_stdcolor_name): New function.
13245 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13246 (Fset_screen_color): Remove char_attr_reverse.
13247
b08e8bb2
GM
132482000-01-29 Gerd Moellmann <gerd@gnu.org>
13249
13250 * xfns.c (xic_set_preeditarea): Take window parameter and
13251 window-relative pixel-positions.
13252
13253 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13254 is its frame's selected window.
13255 (xim_instantiate_callback): Likewise.
13256
13257 * xfns.c (x_create_im): Removed.
13258 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13259 (supported_xim_styles): Renamed from supported_styles.
13260 (best_xim_style): Renamed from best_style.
13261 (create_frame_xic): Renamed from xic_create_frame.
13262 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13263
b08e8bb2
GM
132642000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13265
13266 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13267 our frames, call XFilterEvent with 2nd parameter `None'.
13268 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13269 returning XBufferOverflow.
52283633 13270 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13271 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13272 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13273 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13274 (xim_initialize, xim_close)
13275 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13276 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13277 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13278 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13279
13280 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13281 and `xim_styles'.
13282 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13283 `xic_style' and `xic_xfs'.
13284 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13285 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13286 (FRAME_XIM): Removed.
13287
13288 * xfns.c (supported_styles): New variable.
13289 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13290 (xic_create_xfontset, best_style, xic_create_frame)
13291 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13292 (xic_set_xfontset): New functions.
13293
142e109c
DL
132942000-01-28 Dave Love <fx@gnu.org>
13295
13296 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13297
13298 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13299
b02786f9
GM
133002000-01-28 Gerd Moellmann <gerd@gnu.org>
13301
d060bc9f
GM
13302 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13303 for *scratch* if it already existed.
13304
b02786f9
GM
13305 * emacs.c (USAGE): New macro.
13306 (main): Use it to display usage information.
13307
2c52d7e4
EZ
133082000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13309
13310 Support for the menu-help feature:
13311
52283633 13312 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13313
13314 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13315 part of the line to the termscript file.
13316 (IT_clear_to_end): Clear the entire line, not just its beginning.
13317 (menu_help_message, prev_menu_help_message): New variables.
13318 (IT_menu_make_room): Make room for the help_text member.
13319 (IT_menu_display): New argument disp_help; all callers changed.
13320 If disp_help is non-zero, store the help text of the active menu
13321 item in menu_help_message.
13322 (XMenuAddPane): Initialize the help_text member to NULL.
13323 (XMenuAddSelection): New argument help_text. Store it in the
13324 XMenu structure.
13325 (XMenuActivate): New argument help_callback. If the value of
13326 menu_help_message has changed since the last time, display the
13327 menu help message text while waiting for the mouse to move. Clear
13328 the echo area before exiting.
13329 (XMenuDestroy): Free the help_text member.
13330
ffe0bcd1
GM
133312000-01-27 Gerd Moellmann <gerd@gnu.org>
13332
13333 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13334 XMenuAddSelection. Pass help callback to XMenuActivate.
13335 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13336
50dbd23f
EZ
133372000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13338
13339 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13340 and EMACS_SET_USECS.
13341
f5941bf8
GM
133422000-01-26 Dave Love <fx@gnu.org>
13343
6c67ddee
DL
13344 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13345
f5941bf8
GM
13346 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13347 an error may be signalled.
13348
9e49c990
GM
133492000-01-26 Gerd Moellmann <gerd@gnu.org>
13350
fc3cb460
GM
13351 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13352 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13353
9e49c990
GM
13354 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13355
d0c037d8
GM
133562000-01-25 Gerd Moellmann <gerd@gnu.org>
13357
13358 * charset.c (Fstring): If there is a multibyte char among
13359 the args, always return a multibyte string.
13360
e12489f9
GM
133612000-01-25 Gerd Moellmann <gerd@gnu.org>
13362
13363 * sysdep.c (sys_select): Turn atimers off and on instead of
13364 recording and restoring old alarm handler
13365
13366 * process.c (toplevel): Include atimer.h.
13367 (create_process_1): Rewritten.
13368 (create_process): Use atimers instead of alarm.
13369 (wait_reading_process_input) [hpux]: Turn atimers off instead
13370 of turning off SIGALRM.
13371 (wait_reading_process_input): Turn off atimers instead off
13372 calling stop_polling.
13373
13374 * emacs.c (main): Call init_atimer.
13375
13376 * keyboard.c (toplevel): Include systime.h and atimer.h.
13377 (polling_for_input): Removed because unused.
13378 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13379 (poll_timer): New variable.
13380 (poll_for_input, poll_for_input_1): New functions.
13381 (start_polling, stop_polling): Rewritten.
13382
13383 * keyboard.h (polling_for_input): Removed.
427ec082 13384
e12489f9
GM
13385 * atimer.h, atimer.c: New files.
13386
13387 * Makefile.in (obj): Add atimer.o.
13388 (atimer.o): New target.
13389
13390 * blockinput.h (pending_atimers): Add extern declaration.
13391 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13392
13393 * lisp.h (popup_activated_flag): Add extern declaration.
13394
13395 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13396 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13397 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13398
13399 * xterm.c (toplevel): Include atimer.h.
13400 (toolkit_scroll_bar_interaction): New variable.
13401 (Fxt_process_timeouts): Removed.
13402 (x_process_timeouts): New function.
13403 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13404 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13405 (x_make_frame_visible): Call poll_for_input_1 instead of
13406 input_poll_signal. Don't call alarm.
13407 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13408
1e5279b9
DL
134092000-01-24 Dave Love <fx@gnu.org>
13410
6c67ddee 13411 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13412 Don't use -cckr -- apparently not now necessary.
13413
edf6aeb8
EZ
134142000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13415
13416 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13417 screen boundary.
13418
9badad41
JR
134192000-01-23 Jason Rumney <jasonr@gnu.org>
13420
13421 * w32fns.c (w32_defined_color): Apply gamma correction before
13422 trying to map to the palette.
13423 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13424 to w32_clear_rect.
13425
13426 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13427 here. Callers changed to always pass real device context.
13428 (w32_draw_bitmap): Likewise.
13429 (w32_get_glyph_overhangs): Likewise.
52283633 13430 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13431 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13432 pfnSetScrollInfo and SetScrollRange.
13433 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13434 back into MULE characters after decoding them.
13435 (x_get_glyph_face_and_encoding): Likewise.
13436 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13437 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13438 (x_produce_glyphs): Calculate per char metrics for a character
13439 that we know exists in default font when font_not_found_p is true.
13440
63bd786b
JR
134412000-01-22 Jason Rumney <jasonr@gnu.org>
13442
13443 * makefile.nt (intervals.obj, composite.obj): New modules.
13444 (composite.h): Added as dependency where appropriate.
13445
13446 * w32gui.h (XGCValue): New struct for emulating X GCs.
13447
13448 * w32term.h (XCharStruct): New struct for emulating X.
13449
13450 * w32console.c (turn_on_face, turn_off_face): New functions.
13451 (change_line_highlight): New prototype for new redisplay.
13452 (write_glyphs): Support multibyte text. Support faces.
13453
52283633 13454 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13455
13456 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13457 throughout. struct frame * in place of FRAME_PTR.
13458 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13459 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13460 (w32_get_arg): Renamed from x_get_arg.
13461 (Fx_file_dialog): New function.
13462 (w32_list_fonts): Check cache before asking system.
13463 (Vw32_enable_synthesized_fonts): New variable.
13464 (Vw32_enable_italics): Obsolete, removed.
13465
13466 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13467 Use SELECTED_FRAME macro.
13468
13469 * w32menu.c: Add skeleton support for help strings on menus.
13470 (add_menu_item): Native checkbox and radio support added, but not
13471 yet enabled due to bugs.
13472 (push_menu_item): Add parameters type, selection and help.
13473 Callers updated.
13474 Formatting changes to reduce unnecessary diffs with xmenu.c.
13475
13476 * w32select.c (Fw32_set_clipboard_data): Update call to
13477 find_charset_in_str.
13478
13479 * w32term.c: Complete rewrite for new redisplay based on new
13480 xterm.c with necessary sections merged back in from old w32term.c.
13481
6ffd3cf7 134822000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13483
13484 * data.c (set_internal): Further fix in same criterion.
13485
6ffd3cf7 134862000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13487
13488 * data.c (set_internal): Fix the criteria for whether
13489 to swap out the old cached binding.
13490
60af03f1
DL
134912000-01-19 Dave Love <fx@gnu.org>
13492
13493 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13494
f9be074f
KH
134952000-01-18 Kenichi Handa <handa@etl.go.jp>
13496
13497 * regex.c (re_compile_fastmap): While checking a range table for
13498 `charset', skip flag bits for a character class correctly.
13499
52b8dbf9
GM
135002000-01-17 Gerd Moellmann <gerd@gnu.org>
13501
d36100c9
GM
13502 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13503
52283633 13504 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
13505
13506 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 13507 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
13508
13509 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
13510 MENU_ITEMS_ITEM_.*.
13511 (MENU_ITEMS_ITEM_HELP): New enumerator.
13512 (push_menu_item): Add parameter HELP. Record help in menu_items.
13513 (single_menu_item, single_submenu, list_of_items): Call
13514 push_menu_item with new parameter.
13515 (single_submenu): Set help string in widget value.
13516 (menu_highlight_callback): New function.
13517 (set_frame_menubar): Call lw_create_widget with new
13518 parameter list.
13519 (xmenu_show, xdialog_show): Ditto.
13520
3139018f
GM
135212000-01-13 Gerd Moellmann <gerd@gnu.org>
13522
13523 * sound.c (Fplay_sound): Improve doc string.
13524
83c8f461
RS
135252000-01-11 Richard M. Stallman <rms@gnu.org>
13526
13527 * lisp.h (set_internal): Enter the new arg.
13528
13529 * eval.c (specbind): Record buffer-local variables specially,
13530 indicating which buffer's binding was saved.
13531 (unbind_to): Restore buffer-local variables specially
13532 in the proper buffer.
13533
13534 * data.c (set_internal): New arg BUF.
427ec082 13535
83c8f461
RS
13536 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
13537 * data.c (Fset): Pass new arg to set_internal.
13538 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 13539
1fab1775
GM
135402000-01-11 Gerd Moellmann <gerd@gnu.org>
13541
52283633 13542 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 13543
83c8f461 135442000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
13545
13546 * minibuf.c (Ftry_completion): Doc fix.
13547
7a85e4df
GM
135482000-01-11 Gerd Moellmann <gerd@gnu.org>
13549
13550 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
13551 vector, too.
13552
a970dae4
AS
135532000-01-11 Andreas Schwab <schwab@suse.de>
13554
13555 * coding.c (code_convert_region): Initialize total_skip.
13556
c65d14ee
DL
135572000-01-08 Dave Love <fx@gnu.org>
13558
13559 * eval.c (Fuser_variable_p): Check customizability too.
13560
834938d2
GM
135612000-01-07 Gerd Moellmann <gerd@gnu.org>
13562
13563 * minibuf.c (Fcompleting_read): Doc fix.
13564
e0303cd6
GM
135652000-01-05 Gerd Moellmann <gerd@gnu.org>
13566
8a26744b
GM
13567 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13568 -L /usr/local/lib.
13569
e0303cd6
GM
13570 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13571 Check that input style is supported before trying to create an
13572 IC for it.
13573 (x_window): Call x_create_im.
427ec082 13574
2e471eb5
GM
135752000-01-04 Gerd Moellmann <gerd@gnu.org>
13576
560a7bd2
GM
13577 * xfns.c (current_gif_memory_src): New variable.
13578 (gif_load): Record the address of the current memory source
13579 in current_gif_memory_src.
13580 (gif_read_from_memory): Use current_gif_memory_src.
13581
f9ee84a3
GM
13582 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13583 macros statement form.
13584
d1299cde
GM
13585 * sound.c (struct sound): Renamed from struct sound_file.
13586 (struct sound): Add members `data' and `header_size'.
13587 (enum sound_attr): Add SOUND_DATA.
13588 (current_sound, current_sound_device): Variables renamed from
13589 sound_file and sound_device.
13590 (parse_sound): Parse :data.
13591 (parse_sound): Handle sound data in strings.
13592 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 13593 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
13594 needed header size.
13595 (wav_play, au_play): Play sounds from string data.
13596
2e471eb5
GM
13597 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13598
13599 * lisp.h: Add prototype for allocate_string_data.
13600
52283633 13601 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
13602
13603 * alloc.c (mark_buffer): Remove code in #if 0.
13604 (gc_sweep): Ditto.
13605 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13606 (strings_consed): New variable.
13607 (allocate_string): Set it.
13608 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13609 (Fmemory_use_counts): Return strings_consed. Use Flist.
13610
13611 * alloc.c: General cleanup in comments etc. Remove conditional
13612 compilation for `standalone'.
13613
13614 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13615
13616 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13617 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13618 (DONT_COPY_FLAG): Removed.
13619 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13620 (struct sdata, struct sblock): New
13621 (struct string_block): Rewritten.
13622 (STRINGS_IN_STRING_BLOCK): New macro.
13623 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13624 (large_sblocks, string_blocks, string_free_list): New variables.
13625 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13626 (init_strings): Rewritten.
13627 (allocate_string, allocate_string_data, compact_small_strings)
13628 (free_large_strings, sweep_strings): New functions.
13629 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13630 (struct string_block_head, current_string_block)
13631 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13632 (STRING_PAD): Removed.
13633 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13634 (Fgarbage_collect): Don't set mark bit in large strings.
13635 (mark_object): Mark strings differently. Mark symbol names
13636 differently.
13637 (survives_gc_p): Test marked strings differently.
427ec082 13638 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13639 symbol names.
13640 (compact_strings): Removed.
13641
42608ba8
EZ
136422000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13643
13644 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13645 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13646
e0a09e1a
KH
136472000-01-04 Kenichi Handa <handa@etl.go.jp>
13648
dd9f0750 13649 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 13650 in a non-empty buffer.
dd9f0750 13651
3c0f3b15 13652 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 13653
44cd3ae5
GM
136542000-01-03 Gerd Moellmann <gerd@gnu.org>
13655
13656 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13657 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13658
13659 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13660
c182a70f
EZ
136612000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13662
13663 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13664 need to test for MSDOS frames.
13665
24480d5b
EZ
136662000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13667
13668 * dosfns.c (unspecified_colors): Remove.
13669 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13670 unspecified_bg.
13671 (msdos_stdcolor_name): Return strings for unspecified fore- and
13672 back-ground colors.
13673
13674 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 13675 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
13676 (tty_color_name): Return Lisp strings for unspecified fore- and
13677 back-ground colors.
13678 (Finternal_set_lisp_face_attribute): Remove the special treatment
13679 for Qunspecified_{f,b}g.
52283633 13680 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 13681
047f434a
GM
136822000-01-03 Gerd Moellmann <gerd@gnu.org>
13683
13684 * xdisp.c (reseat_at_next_visible_line_start): Position before
13685 newline only if ending up on a newline.
13686 (next_element_from_ellipsis): Return success. Handle case of
52283633 13687 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
13688 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13689 returns 0.
13690
d684c676
EZ
136912000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13692
13693 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
13694 (Fcolor_supported_p): Renamed from face-color-supported-p.
13695
5fe1d139
EZ
136962000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13697
13698 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
13699 list of colors renamed to tty-defined-color-alist.
13700 (tty_color_name): Pass the frame to tty-color-by-index.
13701 (realize_tty_face): tty-color-alist is now a function which
13702 accepts the frame as argument.
13703
52283633 13704 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 13705
816be8b8
EZ
137062000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13707
13708 * term.c (insert_glyphs): Pass glyph, not &glyph, to
13709 encode_terminal_code.
13710
b635321e
EZ
137112000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13712
13713 * dispnew.c (mode_line_string): Support termcap frames as well.
13714
9b784e96
GM
137152000-01-01 Gerd Moellmann <gerd@gnu.org>
13716
27189709
GM
13717 * syntax.c (Fforward_word): Undo previous change.
13718
13719 * editfns.c (Fconstrain_to_field): Don't constrain if
13720 inhibit-field-text-motion is non-nil.
13721 (Fline_beginning_position): Undo previous change.
13722 (Fline_end_position): Ditto.
13723
13724 * syntax.c (Fforward_word): Notice field boundaries only if
13725 inhibit-field-text-motion is nil.
13726
13727 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
13728
13729 * editfns.c (Vinhibit_field_text_motion): New variable.
13730 (inhibit-field-text-motion): New DEFVAR_LISP.
13731 (Fline_beginning_position, Fline_end_position): Notice field
13732 boundaries only if inhibit-field-text-motion is nil.
13733
45158a91
GM
13734 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
13735 All calls adjusted.
13736 (x_build_heuristic_mask): Likewise.
13737 (xbm_load_image_from_file): Change error output.
13738 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13739 (gif_load, gs_load, x_kill_gs_process): Ditto.
13740
9b784e96
GM
13741 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13742 color indices when accessing raster pixels.
63cec32f
GM
13743 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13744 one of :file or :data.
13745 (enum pbm_keyword_index): Add PBM_DATA.
13746 (pbm_format): Add :data.
13747 (pbm_image_p): Allow either :file or :data.
13748 (pbm_read_file): New function.
13749 (pbm_scan_number): Rewritten to read from string.
13750 (pbm_load): Support :data.
9b784e96 13751
2cb085db 13752See ChangeLog.8 for earlier changes.
6922b018
KH
13753
13754;; Local Variables:
49b3bd82 13755;; coding: iso-2022-7bit
6922b018 13756;; End:
2a34a036
GM
13757
13758 Copyright (C) 2001 Free Software Foundation, Inc.
13759 Copying and distribution of this file, with or without modification,
13760 are permitted provided the copyright notice and this notice are preserved.