(move_it_vertically_backward): Use 2/3 line_height
[bpt/emacs.git] / src / ChangeLog
CommitLineData
62725a92
GM
12001-10-27 Gerd Moellmann <gerd@gnu.org>
2
798dbe1f
GM
3 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
4 instead of 1/2 line_height in the heuristic for skipping
5 farther backward when target_y was not reached.
6
62725a92
GM
7 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
8 Display errno only if non-zero.
9 (sound_warning): New function.
10 (vox_configure): Don't treat failing to set sample rate as error.
11 (various places): Improve error messages.
12
d4e34d24
EZ
132001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
14
944e6f60
EZ
15 * fileio.c (Faccess_file): Run the argument filename through
16 Fexpand_file_name, before using it.
17
d4e34d24
EZ
18 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
19 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
20
38d2af0c
GM
212001-10-26 Gerd Moellmann <gerd@gnu.org>
22
da80a8d5
GM
23 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
24
38d2af0c
GM
25 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
26 Fix clearing in the case of scroll bars on the right.
27
56f508dd
EZ
282001-10-26 Juanma Barranquero <lektu@terra.es>
29
30 * w32gui.h (XImage): Add a dummy typedef.
31
fbd5ceb2
GM
322001-10-26 Gerd Moellmann <gerd@gnu.org>
33
34 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer
35 comparison.
36
b23236fb
EZ
372001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
38
39 * frame.c (Fframe_parameter): Fix last change.
40
879eadc3
GM
412001-10-25 Gerd Moellmann <gerd@gnu.org>
42
75700ff2
GM
43 * frame.c (Fframe_parameter): Fix a bug whereby some
44 ``artificial'' frame parameters, like `minibuffer' were not
45 obtained by calling Fframe_parameters.
46
dfe92a6a
GM
47 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
48 cursor differently.
49
879eadc3
GM
50 * xdisp.c (move_it_vertically_backward): Compute line height
51 differently. Add heuristic to try to be more compatible to 20.x.
52
e1010ebe
SM
532001-10-25 Stefan Monnier <monnier@cs.yale.edu>
54
d73a471b
SM
55 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
56
d6da5a06
GM
57 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
58 boolean.
e1010ebe 59
f66bd220
MB
602001-10-25 Miles Bader <miles@gnu.org>
61
62 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
63 BG is a pointer to a structure, not a structure.
64 (gif_format, png_format): Add missing commas.
65
d436d538
RS
662001-10-24 Richard M. Stallman <rms@gnu.org>
67
68 * xfaces.c (Fface_attributes_as_vector): New function.
69 (syms_of_xfaces): defsubr it.
70
075c507b
PJ
712001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
72
73 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
74 variable `area'.
75
d492b584
PJ
762001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
77
78 * search.c (scan_newline): Remove unused variable
79 `selective_display'.
80
e2a57b34
MB
812001-10-25 Miles Bader <miles@gnu.org>
82
83 * dispextern.h (struct image): Add `background',
84 `background_valid', and `background_transparent' fields.
85 (image_background, image_background_transparent): New declarations.
86 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
d6da5a06 87
e2a57b34
MB
88 * xfns.c (image_background, image_background_transparent)
89 (four_corners_best): New functions.
90 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
91 (gs_format): Add `:background' entry.
92 (lookup_image): Set IMG's background color if specified.
93 (pbm_load, xbm_load_image, png_load): Set IMG's background field
94 when appropriate.
95 (x_clear_image_1): Reset `background_valid' and
96 `background_transparent_valid' fields.
97 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
98 calculating it here. Set IMG's background_transparent field.
99 (enum xpm_keyword_index): Add XPM_BACKGROUND.
100 (enum png_keyword_index): Add PNG_BACKGROUND.
101 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
102 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
103 (enum gif_keyword_index): Add GIF_BACKGROUND.
104 (enum gs_keyword_index): Add GS_BACKGROUND.
105 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
106 Pre-calculate image background color where necessary.
d6da5a06 107
e2a57b34
MB
108 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
109 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
110 color to use for image glyph reliefs.
111
b547b6e8
GM
1122001-10-24 Gerd Moellmann <gerd@gnu.org>
113
d9e3b8c6
GM
114 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
115 in full-width rows.
116
b547b6e8
GM
117 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
118 Fix clearing of area not covered by scroll bar.
119
2beb36f9
PJ
1202001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
121
122 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
123 and `real_start'.
124 (x_draw_image_foreground): Remove unused variables `mask' and
125 `xgcv'.
126 (glyph_rect): Remove unused variable `area'.
127
76cb5e06
GM
1282001-10-24 Gerd Moellmann <gerd@gnu.org>
129
bdbdebff
GM
130 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
131
62e33982
GM
132 * xdisp.c (try_window_reusing_current_matrix): Use
133 row_containing_pos.
134 (row_containing_pos): Take additional argument DY. Treat
135 rows ending in middle of char differently.
136 (display_line): Handle tabs on window systems differently.
137
138 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
139 with additional argument.
140
141 * dispextern.h (row_containing_pos): Adjust prototype.
142
76cb5e06
GM
143 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
144 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
145 (try_window_id, try_window_reusing_current_matrix)
146 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
147 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
148
996fee11
PJ
1492001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
150
c9e60620
PJ
151 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
152 gnuemacs).
153 (HAVE_BOXES): Fix typo in comment.
154 (push_menu_pane): Fix typo in comment.
155
3b552d56
PJ
156 * xdisp.c: (display_prop_string_p): Remove unused local declaration
157 of `Qwhen'.
158 (single_display_prop_string_p): Remove unused local declarations
159 of `Qwhen' and `Qmargin'.
160 (string_buffer_position): Remove unused variable `around'.
161 (store_frame_title): Remove unused variable `width'.
162
15c565ac
PJ
163 * window.c: Don't define max.
164 (coordinates_in_window): Remove unused variable `uy'.
165
a8818eb9
PJ
166 * widget.c: Don't define max.
167
996fee11
PJ
168 * process.c: Don't define max.
169 (create_process): Remove unused variable `buffer'.
170
496e1a5b
GM
1712001-10-23 Gerd Moellmann <gerd@gnu.org>
172
173 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation
174 error.
175
5905ae8b
EZ
1762001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
177
178 * xfaces.c (Finternal_set_lisp_face_attribute)
179 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
180 frame is on a windowed display.
181
24db49fb
GM
1822001-10-23 Gerd Moellmann <gerd@gnu.org>
183
c51488cd
GM
184 * dispnew.c (sync_window_with_frame_matrix_rows): Fix
185 handling of windows which aren't full-width, fix handling
186 of marginal areas.
187
24db49fb
GM
188 * lread.c (syms_of_lread)<recursive-load-depth-limit>: Raise to
189 50.
190
f0487f05
EZ
1912001-10-23 Andreas Schwab <schwab@suse.de>
192
193 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
194 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
195
f0a48a01
GM
1962001-10-23 Gerd Moellmann <gerd@gnu.org>
197
198 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
199 REAL_END. Notice if cursor gets overwritten.
200 (notice_overwritten_cursor): Take X positions as parameters.
201 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
202 around call to x_draw_glyphs.
203
a50a10a0
PJ
2042001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
205
fc11dff0
PJ
206 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
207 instead of C) and usage.
a50a10a0 208
fc11dff0
PJ
209 * editfns.c (char-to-string): Fix argument names (use CHAR instead
210 of C) and usage.
a50a10a0
PJ
211
212 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
213 `left', `max_width' and `max_height'.
214
8738febd
GM
2152001-10-23 Gerd Moellmann <gerd@gnu.org>
216
217 * xdisp.c (display_line): For a tab continued to the next line,
218 set row's ends_in_middle_of_char_p.
219
653c329b
GM
2202001-10-22 Gerd Moellmann <gerd@gnu.org>
221
222 * xdisp.c (display_line): Fix computation of continuation lines
223 width for TABs.
224
f958c5ac
PJ
2252001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
226
7ba51063
PJ
227 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
228 `Qlaplace'.
229
f958c5ac
PJ
230 * fileio.c: Remove unused code.
231
eb360291
MB
2322001-10-22 Miles Bader <miles@gnu.org>
233
234 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
235 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
236 Remove `DOC_STRINGS_IN_COMMENTS' cases.
237
98515cf0
JR
2382001-10-21 Jason Rumney <jasonr@gnu.org>
239
240 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
241
93026d88
EZ
2422001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
243
244 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
245 (Finsert_string): Avoid the multi-line string literals warning.
246
c9a95b79
MB
2472001-10-22 Miles Bader <miles@gnu.org>
248
249 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
250 (Fdocumentation): Don't use it.
251 (syms_of_doc): Don't initialize it.
252
253 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
254 * print.c (Fwith_output_to_temp_buffer): Likewise.
255 * window.c (Fsave_window_excursion): Likewise.
256 * editfns.c (Fsave_excursion, Fsave_current_buffer)
257 (Fsave_restriction): Likewise.
258 * eval.c (Frun_hooks, Frun_hook_with_args)
259 (Frun_hook_with_args_until_failure)
260 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
261 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
262 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
263 (Funwind_protect, Fcondition_case): Likewise.
264 * coding.c (Ffind_operation_coding_system): Likewise.
265 * keyboard.c (Ftrack_mouse): Likewise.
266
a3b10252
MB
2672001-10-21 Miles Bader <miles@gnu.org>
268
269 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
270 (Fmake_hash_table): Add usage: string to doc string.
271 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
272 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
273 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
274 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
275 (Fml_prefix_argument_loop): Likewise.
276
c6f73eec
PJ
2772001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
278
888ebd13
PJ
279 * fileio.c (Finsert_file_contents): Remove unused variable
280 `gap_size'.
281
c6f73eec
PJ
282 * sysdep.c (init_sys_modes): Change doc-string comments to `new
283 style' [w/`doc:' keyword].
284
285 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
286 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
287 comments to `new style' [w/`doc:' keyword].
288
3cf3436e
JR
2892001-10-21 Jason Rumney <jasonr@gnu.org>
290
291 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
292
c169b8f1
JR
293 * w32term.c (remember_mouse_glyph): New function.
294 (w32_mouse_position): Use it.
295 (note_mouse_movement): If the mouse moved off the glyph, remember
296 its new position.
297
4fdd691b
JR
298 * w32term.h (struct w32_output): Correct spelling of x_compatible.
299 (w32_display_info): Add mouse_face_overlay.
300
c169b8f1
JR
301 * w32term.c (notice_overwritten_cursor): Renamed from
302 note_overwritten_text_cursor. Rewritten to take glyph widths into
303 account.
304 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
305 (fast_find_string_pos): New function.
306 (fast_find_position): Return the correct vpos. Add parameter
307 STOP. In the final row, stop before glyphs having STOP as object.
308 Don't consider glyphs that are not from a buffer.
309 (fast_find_position) [0]: Add a presumably more correct version
310 for after 21.1.
311 (expose_window_tree, expose_frame): Don't compute intersections here.
312 (expose_window): Do it here instead.
313 (expose_window_tree, expose_window, expose_line): Return 1 when
314 overwriting mouse-face.
315 (expose_window): If W is the window currently being updated, mark
316 the frame garbaged.
317 (expose_frame): If mouse-face was overwritten, redo it.
318 (x_use_underline_position_properties): New variable.
319 (syms_of_xterm): DEFVAR_BOOL it.
320 (x_draw_glyph_string): Add comment to use it in future.
321 (x_draw_glyph_string): Restore clipping after drawing box.
322 Fix a computation of the underline position.
323 (w32_get_glyph_string_clip_rect): Minor cleanup.
324 (x_fill_stretch_glyph_string): Remove an assertion.
325 (x_produce_glyphs): Don't convert multibyte characters
326 to unibyte characters in unibyte buffers.
327 (cursor_in_mouse_face_p): New function.
328 (x_draw_stretch_glyph_string): Use it to choose a different GC
329 when drawing a cursor within highlighted text. Don't draw
330 background again if it has already been drawn.
331 (x_draw_glyph_string_box): Don't draw a full-width
332 box just because the glyph row's full_width_p flag is set.
333 (x_draw_glyphs): Fix computation of rightmost x for
334 full-width rows.
335 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
336 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
337 change bottom shadow accordingly. Some cleanup.
338 (x_update_window_end): Handle overwritten mouse face
339 also for tool bar windows.
340 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
341 DRAW is DRAW_IMAGE_RAISED.
342 (clear_mouse_face): Return 1 if text with mouse face was
343 actually redrawn. Make the function static. Reset
344 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
345 optimize away highlighting if we pass over that same overlay again.
346 (note_mouse_highlight): Call mouse_face_overlay_overlaps
347 to detect a case where we have to highlight a different region
348 despite not having left the currently highlighted region.
349 Set mouse_face_overlay in the x_display_info. Avoid changing the
350 mouse pointer shape when show_mouse_face has already done it, or
351 there is no need. Handle mouse-face and help-echo in strings.
352 (glyph_rect): New function.
353 (w32_mouse_position): Use it to raise the threshold for mouse
354 movement event generation.
355 (w32_initialize_display_info): Initialize the x_display_info's
356 mouse_face_overlay.
357 (w32_set_vertical_scroll_bar): Don't clear a zero height
358 or width area.
359 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
360 a widget to zero height.
361
3cf3436e 362 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 363 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
364 equivalents in menu_items.
365 (w32_menu_show): Don't overwrite an item's name with its key
366 description in case the description is a multibyte string.
367 (single_submenu): Some cleanup.
368
369 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
370 (postprocess_image): New function.
371 (lookup_image): Call it for all image types except PostScript.
372 (x_kill_gs_process): Call postprocess_image.
373 (tiff_error_handler, tiff_warning_handler): New functions.
374 (tiff_load): Install them as handlers.
375 (x_kill_gs_process): Recognize if someone has cleared the image
376 cache under us.
377 (valid_image_p): Protect better against invalid image
378 specifications. Previous code could signal an error.
379 (Fx_hide_tip, Fshow_tip): Doc fix.
380 (Fv_max_tooltip_size): New variable.
381 (syns_of_xfns): DEFVAR_LISP it.
382 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
383 window buffer to *tip* right after creating the frame. Set frame's
384 window_width. Use a maximum tooltip size specified by
385 Vx_max_tooltip_size, if that has valid contents.
386 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
387 Make sure the tooltip is completely visible.
388 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
389 (Fx_create_frame): Adjust the frame's height for presence
390 of the tool bar before calling x_figure_window_size.
391 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
392 when the window gets smaller.
393 (x_set_foreground_color): Set frame's cursor_pixel.
394 (x_set_foreground_color, x_set_background_color): Cleaned up.
395 (x_set_font): Handle case of x_new_fontset returning the same name
396 as before, although there was a change in fontsets.
397
386ca361
MB
3982001-10-21 Miles Bader <miles@gnu.org>
399
400 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
401 (Flogxor): Add usage: string to doc string.
402 * charset.c (Fstring): Likewise.
403 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
404 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
405
14ff1ee0
PJ
4062001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
407
03be2694
PJ
408 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
409
410 * alloc.c: Reindent DEFUNs with doc: keywords.
411
412 * abbrev.c (Finsert_abbrev_table_description): Reindent.
413
14ff1ee0
PJ
414 * frame.c: Change doc-string comments to `new style' [w/`doc:'
415 keyword].
416
71431a0e
GM
4172001-10-20 Gerd Moellmann <gerd@gnu.org>
418
6aa97356 419 * (Version 21.1 released.)
71431a0e 420
39f624fa
PJ
4212001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
422
c0a53abb
PJ
423 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes
424 removed.
425
426 * xdisp.c (invisible_text_between_p): Put prototype inside #if
427 0 because unused.
428
429 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
fdb82f93 430 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c: Change
c0a53abb 431 doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 432
abcce93a
MB
4332001-10-20 Miles Bader <miles@gnu.org>
434
435 The following changes remove the glyph_row `inverse_p' field,
436 which is never set anymore, due to other changes:
437
438 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
439 (reassert_line_highlight, change_line_highlight): Declarations removed.
440 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
441 (line_hash_code, row_equal_p, fake_current_matrices)
442 (build_frame_matrix_from_leaf_window, update_frame_line)
443 (update_frame_line, update_frame_line, update_frame_line):
444 Don't use `inverse_p' field.
445 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
446 change_line_highlight_hook.
447 (XTreassert_line_highlight, x_change_line_highlight):
448 Functions removed.
449 (x_fix_overlapping_area, x_write_glyphs, expose_area)
450 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
451 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
452 `inverse_p' field.
453 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
454 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
455 (w32_reassert_line_highlight, x_change_line_highlight):
456 Functions removed.
457 * w32console.c (reassert_line_highlight, change_line_highlight):
458 Functions removed.
459 (initialize_w32_display): Don't set reassert_line_highlight_hook
460 or change_line_highlight_hook.
461 (hl_mode): Function removed.
462 (reset_terminal_modes, set_terminal_modes, update_begin)
463 (update_end, w32_face_attributes, initialize_w32_display):
464 (clear_frame, ins_del_lines): Don't call it.
465 * termhooks.h (reassert_line_highlight_hook)
466 (change_line_highlight_hook): Declarations removed.
467 * term.c (reassert_line_highlight_hook)
468 (change_line_highlight_hook): Variables removed.
469 (reassert_line_highlight, change_line_highlight): Functions removed.
470 * msdos.c (IT_reassert_line_highlight)
471 (IT_change_line_highlight): Functions removed.
472 (internal_terminal_init): Don't set reassert_line_highlight_hook
473 or change_line_highlight_hook.
474 (highlight): Variable removed.
475 (IT_set_face, IT_update_begin, IT_update_end)
476 (IT_set_terminal_modes): Don't set or use it.
477
478 The following changes remove inverse-video support for terminals
479 that use a `magic cookie' standout mode. Due to changes in the
480 way mode-lines are displayed, such support no longer works
481 anyway, and it's probable that almost no one uses such terminals
482 anymore:
483
484 * term.c (standout_requested): Variable removed.
485 (update_end, highlight_if_desired): Don't use it.
486 (chars_wasted, copybuf): Variables removed.
487 (write_standout_marker): Function removed.
488 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
489 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
490 Don't use `chars_wasted' or `copybuf'.
491 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
492 Set `costs_set' to true.
493 (cursor_to, clear_end_of_line): Test `costs_set' instead of
494 `chars_wasted'.
495 (clear_end_of_line): Function removed.
496 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
497 (clear_to_end): Call `clear_end_of_line' instead of
498 `clear_end_of_line_raw'.
54800acb
MB
499 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
500 (term_init): Don't set them.
501 Turn off any standout/underline modes that require magic cookies.
502 (ins_del_lines, highlight_if_desired, background_highlight)
503 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
504 Remove special processing for magic-cookie standout modes.
505 (turn_off_face, turn_on_face): Remove special processing for
506 underline magic-cookie glitch.
abcce93a 507
0b5f679f
RS
5082001-10-19 Richard M. Stallman <rms@gnu.org>
509
510 * eval.c (syms_of_eval): Doc fixes.
511
5a4a5bd4
GM
5122001-10-19 Gerd Moellmann <gerd@gnu.org>
513
514 * xdisp.c (redisplay_internal): Don't clear echo area if the
515 mini-window is selected.
516
79f1f96c
MB
5172001-10-19 Miles Bader <miles@gnu.org>
518
b57c2708
MB
519 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
520 doesn't take precedence if the affected property's value is nil.
521
522 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
523
79f1f96c
MB
524 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
525 with fields and suggest using `forward-line' to avoid them.
526 * editfns.c (Fline_beginning_position, Fline_end_position):
527 Clarify documentation.
528
ef879104
SM
5292001-10-18 Stefan Monnier <monnier@cs.yale.edu>
530
531 * keymap.c (current_minor_maps): `override' only shadows its
532 correspondent in minor-mode-map-alist, not the whole tail.
533
97f4db8c
AI
5342001-10-18 Andrew Innes <andrewi@gnu.org>
535
536 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
537 optimization. The fontp->encoding array was not being initialized
538 correctly when compiled with optimizations by MSVC.
539
e6b70fd8
GM
5402001-10-18 Gerd Moellmann <gerd@gnu.org>
541
30903479 542 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 543
0e804d38
AI
5442001-10-17 Andrew Innes <andrewi@gnu.org>
545
546 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
547
548 * w32fns.c (w32_load_system_font): Cache codepage for font, in
549 font_info.charset field.
550
551 * w32term.c (w32_encode_char): Get cached codepage from font_info,
552 rather than working it out by calling w32_codepage_for_font for
553 every glyph.
554
66e5868a
AI
5552001-10-17 Andrew Innes <andrewi@gnu.org>
556
557 * w32term.c (w32_read_socket): Determine clipping rectangle for
558 the entire frame, including areas covered by scrollbars and the
559 menubar. This avoids internal arguments about whether a frame is
560 fully obscured or not.
561
15b00083
GM
5622001-10-17 Gerd Moellmann <gerd@gnu.org>
563
23e8bd86
GM
564 * xdisp.c (try_window_id): Undo last change. Give up if
565 window ends in strings.
30903479 566
9c6ba6d1 567 * xdisp.c (try_window_id): Don't display lines after the window
30903479 568 end if the rest of the window after the window end was already blank.
23e8bd86 569
30903479 570 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
571 for the release of 21.1.
572
30903479 573 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 574
945220bd
MB
5752001-10-17 Miles Bader <miles@gnu.org>
576
577 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
578 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
579 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
580 Change doc-string comments to `new style' [w/`doc:' keyword].
581 (DOC_STRINGS_IN_COMMENTS): Macro removed.
582 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
583 out make-docfile.
584
14242528
MB
5852001-10-16 Miles Bader <miles@gnu.org>
586
587 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
588
3ddf952f
GM
5892001-10-16 Gerd Moellmann <gerd@gnu.org>
590
591 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
592 *scratch*.
593
f3fbd155
KR
5942001-10-16 Ken Raeburn <raeburn@gnu.org>
595
596 Avoid the assumption that car and cdr slots of cons cells are
597 addressable lvalues; this allows for easier experimentation with
598 other lisp implementations that may not permit such accesses for
599 various reasons. Not quite complete -- buffer.c still needs some
600 work, and w32/mac files need rechecking -- so compile-time
601 enforcement is left disabled for now.
602
603 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 604 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
605 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
606 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
607 (XSETCAR, XSETCDR): New macros.
608 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
609 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
610 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
611 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
612 XSETCDR.
613 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
614 * buffer.c (record_buffer, Fbury_buffer)
615 (swap_out_buffer_local_variables, recenter_overlay_lists)
616 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
617 fields of a cons cell respectively.
618 * callint.c (quotify_args, Fcall_interactively): Likewise.
619 * ccl.c (Fregister_code_conversion_map): Likewise.
620 * coding.c (detect_coding_system): Likewise.
621 * composite.c (get_composition_id, make_composition_value_copy):
622 Likewise.
30903479
SM
623 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
624 (swap_in_symval_forwarding, set_internal, Fset_default)
625 (Fmake_variable_buffer_local, Fmake_local_variable)
626 (Fmake_variable_frame_local): Likewise.
f3fbd155 627 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479
SM
628 * keymap.c (Fset_keymap_parent, store_in_keymap)
629 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap):
f3fbd155
KR
630 Likewise.
631 * minibuf.c (get_minibuffer): Likewise.
632 * search.c (Fmatch_data): Likewise.
633 * textprop.c (extend_property_ranges): Likewise.
634 * undo.c (record_insert, Fundo_boundary, truncate_undo_list):
635 Likewise.
636 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
637 Likewise.
638 * w32term.c (x_delete_display): Likewise.
639 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
640 Likewise.
641 * xterm.c (x_list_fonts, x_load_font, x_delete_display):
642 Likewise.
643 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 644 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
645 (Fread_file_name): Use XSETCAR.
646 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
647 CHECK_NUMBER_CDR.
648 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
649 * frame.c (Fmake_terminal_frame): Use XSETCDR.
650 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
651 CHECK_NUMBER_CDR.
652 * keyboard.c (read_char): Alter list traversal to avoid taking the
653 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
654 (parse_menu_item): Use XSETCAR and XSETCDR.
655 (reach_char_x_menu_prompt): Use XSETCAR.
656 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
657 (Fcommand_execute): Use XSETCDR.
658 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
659 (openp): Change list traversal to avoid using XCAR as lvalue.
660 (read_list): Use XSETCDR.
661 * process.c (wait_reading_process_input): Change wait_for_cell
662 handling to avoid taking addresses of cons cell slots.
30903479
SM
663 * xselect.c (x_own_selection, x_handle_selection_clear)
664 (x_clear_frame_selections): Use XSETCDR.
665 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
666 (x_handle_property_notify, x_get_foreign_selection)
667 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 668
502150e5
PJ
6692001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
670
018ba359
PJ
671 * buffer.c: Put doc strings in comments.
672
30903479 673 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 674
b56ba8de
SS
6752001-10-15 Sam Steingold <sds@gnu.org>
676
677 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
678
6a0b793a
PJ
6792001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
680
30903479
SM
681 * process.c (process-inherit-coding-system-flag)
682 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
683 in comment.
684
a1f17501 685 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 686 arguments. Put doc strings in comments.
a65da641
PJ
687
688 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 689
aa601ad0
GM
6902001-10-15 Gerd Moellmann <gerd@gnu.org>
691
30903479 692 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 693
aa601ad0
GM
694 * window.c (select_window_1): Unfreeze window start. Remove a
695 doubled test for WINDOW being live.
696
288148a1
PJ
6972001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
698
dd8d1e71
PJ
699 * fns.c (Fmapconcat): Fix typo in a doc string.
700
288148a1
PJ
701 * dispnew.c (Fsleep_for): Fix typo in a doc string.
702
9f5eb4a3
GM
7032001-10-15 Gerd Moellmann <gerd@gnu.org>
704
705 * xterm.c (x_draw_glyph_string): Restore clipping after
706 drawing box.
707
dbae44c8
PJ
7082001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
709
30903479 710 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 711
0c88c937
SM
7122001-10-14 Stefan Monnier <monnier@cs.yale.edu>
713
56378db4
GM
714 * indent.c (skip_invisible): Use new retval of
715 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 716
845e4cf4
SM
717 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
718 If a parent is reached and noinherit is set, exit immediately.
719 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
720
0c88c937
SM
721 * s/ms-w32.h (EXEC_SUFFIXES):
722 * s/msdos.h (EXEC_SUFFIXES):
723 * process.h (EXEC_SUFFIXES): Remove.
724
725 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
726 (decode_suffixes): Remove.
727
728 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
729 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
730 (invisible_ellipsis_p): Remove.
0c88c937
SM
731
732 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
733 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
734 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
735 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
736 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 737
d19be8a9
PJ
7382001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
739
04d7d066
PJ
740 * lisp.h (Ftop_level): Add prototype.
741
d624284c
PJ
742 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
743 (XTread_socket): Improve style of comments to follow other
744 comments.
745
a87414f9
PJ
746 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
747 is already prototyped in included lisp.h).
748
d19be8a9
PJ
749 * frame.c (Fset_mouse_position): Improve style of comment to
750 follow other comments.
751 (Fset_mouse_pixel_position): Improve style of comment to follow
752 other comments.
753 (Fmake_frame_visible): Doc fix and typo in comment.
754 (Fmake_frame_invisible): Doc fix and typo in comment.
755 (Ficonify_frame): Fix typo in comment.
756
c061c855
GM
7572001-10-14 Gerd Moellmann <gerd@gnu.org>
758
37f6b5b6 759 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 760 * term.c, alloc.c: Put doc strings in comments.
c061c855 761
e641b454
GM
7622001-10-13 Gerd Moellmann <gerd@gnu.org>
763
764 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
765 Provide definitions for doc strings in comments.
766
767 * fns.c: Put doc strings in comments.
768
51724e26
EZ
7692001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
770
771 * dired.c (file_name_completion): Ignore a candidate directory if
772 it matches an element in completion-ignored-extensions that ends
773 in a slash.
774 (syms_of_dired) <completion-ignored-extensions>: Mention the above
775 feature in the doc string.
776 (Ffile_name_completion): Ditto.
777
be5fc59b
SM
7782001-10-12 Stefan Monnier <monnier@cs.yale.edu>
779
5a1373f3
SM
780 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
781
782 * xfns.c (syms_of_xfns): Update calls to Fprovide.
783
784 * lisp.h (Fprovide): Update prototype.
785 (Ffeaturep, invisible_p): Remove.
786
bbc4a3d3 787 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
788 (DOLIST, LOOP_PROPVAL): New macros.
789 (invisible_p, invisible_ellipsis_p): Use them.
790 (invisible_noellipsis_p): New function.
791 (syms_of_xdisp): Use empty_string.
792
793 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
794
795 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
796 (syms_of_lread) <Vafter_load_alist>: Update docstring.
797
798 * print.c (Fwith_output_to_temp_buffer): Align with
799 internal_with_output_to_temp_buffer.
800 (print_preprocess): Use traverse_intervals_noorder.
801 (print_object): Update call to traverse_intervals.
802
803 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
804 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
805
806 * intervals.c (traverse_intervals_noorder): New function.
807 (search_for_interval, count_intervals): Use it.
808 (traverse_intervals): Use less stack space and drop `depth' arg.
809
810 * fns.c (Ffeaturep): Add new `subfeature' arg.
811 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
812 (Qsubfeatures): New var.
813 (syms_of_fns): Initialize it.
814
026f408d
SM
815 * keymap.c (Fkey_description): Use empty_string.
816 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
817 (syms_of_keymap): Setup inheritance between maps.
818 Don't export Sdescribe_bindings_internal any more.
819
be5fc59b
SM
820 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
821
3365175e
GM
8222001-10-12 Gerd Moellmann <gerd@gnu.org>
823
824 * xterm.c (notice_overwritten_cursor): Renamed from
825 note_overwritten_text_cursor. Rewritten to take glyph widths into
826 account.
827
2ab7765c
EZ
8282001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
829
830 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
831 multi-line strings without a trailing "\n\".
832
311346bb
PJ
8332001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
834
835 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
836 defined.
837
2168e04d
SM
8382001-10-11 Stefan Monnier <monnier@cs.yale.edu>
839
026f408d
SM
840 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
841
c0ec53ad
SM
842 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
843 * w32proc.c (sys_spawnve):
844 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
845 * w32.c (check_windows_init_file):
846 * sound.c (Fplay_sound):
026f408d 847 * emacs.c (init_cmdargs):
c0ec53ad
SM
848 * process.c (Fstart_process): Update calls to openp.
849
850 * callproc.c (Vexec_suffixes): New var.
851 (Fcall_process): Update call to openp.
852 (decode_suffixes): New function.
853 (syms_of_callproc): Init exec-suffixes.
854
855 * lread.c (Vload_suffixes, default_suffixes): New vars.
856 (openp): Take a lisp list of suffixes.
857 Check for file-name-handlers even if the file was absolute already.
858 (syms_of_lread): Declare load-suffixes.
859 (Fload): Fix up call to openp.
860 Don't bother checking for file-name-handler at the very beginning.
861
f6333468
SM
862 * keymap.h (Fcopy_keymap): Don't export.
863
864 * lisp.h (empty_string): Declare.
c0ec53ad
SM
865 (Vload_suffixes, Vexec_suffixes): Declare.
866 (openp): Update prototype.
f6333468
SM
867
868 * emacs.c (empty_string): New var.
869 (syms_of_emacs): Initialize it.
870
871 * search.c (wordify): Use it.
872
873 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
874 selected window if it's not displayed there. Handle the case
875 when the window is dedicated.
876 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
877
878 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
879
2168e04d
SM
880 * syntax.h (struct gl_state_s): Change the meaning of b_property.
881 Remove left_ok and right_ok.
882 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
883 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
884 new meaning of b_property.
885
886 * syntax.c (update_syntax_table): Simplify.
887 (Fforward_comment): Don't skip quoted chars when going backward.
888
13d95cc0
GM
8892001-10-11 Gerd Moellmann <gerd@gnu.org>
890
beb0990f
GM
891 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
892 in case I is of some unsigned type, in which case
893 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
894 comparison becomes bogus.
895
cb938d46
GM
896 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
897 (Fuser_full_name): Fix bug treating a float as a fixnum.
898
899 * data.c (Fstring_to_number): Use make_fixnum_or_float.
900
901 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 902
13d95cc0
GM
903 * lisp.h (circular_list_error): Add prototype.
904
905 * data.c (Qcircular_list): New variable.
906 (circular_list_error): New function.
907 (syms_of_data): Initialize it Qcircular_list.
908
e35f6ff7
SM
9092001-10-10 Stefan Monnier <monnier@cs.yale.edu>
910
911 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
912 casefiddle.c, buffer.c: Include keymap.h.
913
619632ac
GM
9142001-10-10 Gerd Moellmann <gerd@gnu.org>
915
916 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
917 options. From Dave Love <d.love@dl.ac.uk>.
918
5e5388f6
GM
9192001-10-09 Gerd Moellmann <gerd@gnu.org>
920
921 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
922 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
923
14a3dff7
GM
924 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
925 unsigned char.
926 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 927
76ba8daf
AI
9282001-10-08 Andrew Innes <andrewi@gnu.org>
929
930 * lisp.h [max]: Undef min and max before redefining them.
931
932 * w32gui.h: Do not undef min and max.
933
934 * w32heap.h: Do not undef min and max.
935
936 * s/ms-w32.h: Do not undef min and max.
937
166253cb
SM
9382001-10-08 Stefan Monnier <monnier@cs.yale.edu>
939
940 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
941
0c4d9527
SS
9422001-10-08 Sam Steingold <sds@gnu.org>
943
944 * keymap.c (current-active-maps): Quote newlines (compilation error).
945
14bfa771
EZ
9462001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
947
948 * Makefile.in (lisp, shortlisp): Replace bindings.el with
949 bindings.elc, since otherwise doc strings in bindings.el get wrong
950 offsets in etc/DOC.
951
bdb7aa47
SM
9522001-10-08 Stefan Monnier <monnier@cs.yale.edu>
953
9985827f
SM
954 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
955
956 * keyboard.h (map_prompt): Remove.
957
958 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 959 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 960
bdb7aa47
SM
961 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
962
963 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
964
965 * keyboard.c (map_prompt): Remove.
966 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
967 Use Fkeymap_prompt.
968
969 * keymap.h: New file. Extracted from lisp.h.
970
9985827f
SM
971 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
972 (accessible_keymaps_1): New function.
973 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
974 (Fwhere_is_internal): Use Fcurrent_active_maps.
975 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
976 Insert in current buffer rather than standard-output.
977 Don't call `help-mode'. Export to elisp.
978 (describe_buffer_bindings): New wrapper.
979 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
980 and Sdescribe_buffer_bindings.
981
402c9a51
GM
9822001-10-08 Gerd Moellmann <gerd@gnu.org>
983
9985827f 984 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
985 Remove code setting signal handler.
986
9985827f 987 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
988 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
989
3fe81fdf
PJ
9902001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
991
992 * keyboard.c: Don't define min/max.
993
55fa7820
GM
9942001-10-08 Gerd Moellmann <gerd@gnu.org>
995
9985827f 996 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 997 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 998 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 999 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1000 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1001 Don't define min/max.
1002
1003 * lisp.h (min, max): New macros.
1004
55fa7820
GM
1005 * puresize.h (BASE_PURESIZE): Increase to 725000.
1006
1aad31e4
PJ
10072001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1008
9180dc8c
PJ
1009 * xfaces.c (free_frame_menubar): Add prototype.
1010
01f67d2c
PJ
1011 * lisp.h (init_window): Add prototype.
1012
1013 * editfns.c: Include ctype.h.
1014
1015 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1016 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1017 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1018 variable `sb'.
1019
5f351ff1
PJ
1020 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1021 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1022 `popup_activated_flag' and `title'.
1023
479dfe87
PJ
1024 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1025
dff49fc8
PJ
1026 * emacs.c (main): Remove extra `;'.
1027
248ac615
PJ
1028 * atimer.h (struct atimer): Fix typos in a comment.
1029
1030 * atimer.c: Fix typo.
1031
af232c7d
PJ
1032 * Makefile.in: Fix typo.
1033
1034 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1035
d876f455
MB
10362001-10-07 Miles Bader <miles@gnu.org>
1037
1038 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1039
0037e2f2
KR
10402001-10-07 Ken Raeburn <raeburn@gnu.org>
1041
b056f36d
KR
1042 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1043 Lisp_Object.
1044
0037e2f2
KR
1045 * lisp.h (Ffield_end): Declare.
1046
1a4372ef
GM
10472001-10-07 Gerd Moellmann <gerd@gnu.org>
1048
a4a74e8c
GM
1049 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1050
1051 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1052
1053 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1054
1055 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1056
1a4372ef
GM
1057 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1058 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1059
1060 * alloc.c (inhibit_garbage_collection): Simplify.
1061 (Fmemory_use_counts): Ditto.
1062
9985827f 1063 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1064 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1065 most-negative-fixnum.
1066
9985827f 1067 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1068 (FIXNUM_OVERFLOW_P): New macros.
1069
4650e362
MB
10702001-10-06 Miles Bader <miles@gnu.org>
1071
1072 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1073 scroll_bar_bottom_shadow_pixel fields.
1074 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1075 for the shadows, and tell the toolkit about them if we succeed.
1076 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1077 Free scroll-bar shadow colors.
1078 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1079 Free scroll-bar shadow colors when the background color changes.
1080 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1081 Initialize scroll-bar shadow-color fields.
1082
ace64e0a
GM
10832001-10-05 Gerd Moellmann <gerd@gnu.org>
1084
1085 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1086
ec66bdc7
MB
10872001-10-05 Miles Bader <miles@gnu.org>
1088
9985827f
SM
1089 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1090 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1091 New functions (were in simple.el).
9985827f 1092 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1093 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1094 (syms_of_minibuf): Initialize them.
1095
a0fb4492
GM
10962001-10-05 Gerd Moellmann <gerd@gnu.org>
1097
1098 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1099 (tiff_load): Install them as error and warning handler.
1100
0bcf87c1
AI
11012001-10-04 Andrew Innes <andrewi@gnu.org>
1102
1103 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1104 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1105 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1106 (x_to_w32_charset): Handle private format for unknown charsets.
1107 Handle wildcards in charset spec, by ignoring them.
1108 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1109 "*-" prefix from charset.
1110 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1111 handle the truncated font spec form constructed by font_list_1, so
1112 that we correctly identify the charset fields. Don't remove "*-"
1113 prefix from charset.
1114 (w32_list_synthesized_fonts): Fix argument to alloca.
1115
c89e4bc5
GM
11162001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1117
1118 * window.h (MINI_WINDOW_P): Use NILP.
1119
1120 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1121
1122 * termhooks.h (struct input_event): Use proper type for `kind'.
1123
11242001-10-04 Gerd Moellmann <gerd@gnu.org>
1125
1126 This handles unknown keysyms better than before. For example,
1127 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1128 Emacs formerly completely ignored F5. With the change, it derives
1129 a key symbol from the name of the X keysym, `ccaron' in this case.
1130 Reported by Martin Buchholz.
1131
1132 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1133 unknown keysyms.
1134
1135 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1136 that EVENT->code isn't a function key, use the keysym's name.
1137
11382001-10-04 Gerd Moellmann <gerd@gnu.org>
1139
1140 FOREACH is a macro that should make it easier to loop over Lisp
1141 lists with checks for cycles and proper lists.
1142
1143 * lisp.h (LIST_END_P, FOREACH): New macros.
1144
11452001-10-04 Gerd Moellmann <gerd@gnu.org>
1146
1147 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1148 called for a lost connection. Prevent dumping core in this case.
1149 Instead print the X error, and exit. On user request.
1150
1151 * xterm.c (error_msg): New variable.
1152 (x_fatal_error_signal): New function.
1153 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1154 as fatal_error_signal_hook around the call to XtCloseDisplay.
1155
1156 * emacs.c (fatal_error_signal_hook): New variable.
1157 (fatal_error_signal): Call that function.
1158
11592001-10-04 Gerd Moellmann <gerd@gnu.org>
1160
1161 With this, Emacs prints how much pure storage it will
1162 approximately need in case pure storage overflows while dumping.
1163
1164 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1165 New variables.
1166 (init_alloc_once): Initialize new variables.
1167 (PURE_POINTER_P): Use new variables.
1168 (pure_alloc): If pure storage overflows, allocate from the heap.
1169 (check_pure_size): New function.
1170 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1171
1172 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1173 (check_pure_size): Add prototype.
1174
1175 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1176
11772001-10-04 Gerd Moellmann <gerd@gnu.org>
1178
1179 This adds a post-gc-hook that's run with GC inhibited.
1180 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1181
1182 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1183 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1184 (Fgarbage_collect): Run post-gc-hook.
1185
11862001-10-04 Gerd Moellmann <gerd@gnu.org>
1187
1188 This adds `defvaralias' and `indirect-variable'. Changes not
1189 directly related to this feature are there to gain the same
1190 performance again as before variable aliases.
1191
1192 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1193 code to get and set symbol values, to take defvaralias into account.
1194
1195 (Note: the new `constant' bit-flag in symbols would make it
1196 possible to define arbitrary read-only variables, e.g. with
1197 `defconst'.)
1198
1199 Documentation is in lispref/variables.texi. Added to NEWS.
1200
1201 * lisp.h (enum symbol_interned): New enumeration.
1202 (struct Lisp_Symbol): Remove member `obarray', add
1203 `indirect_variable', `constant', and `interned'.
1204 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1205 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1206 (indirect_variable): Add prototype.
1207
1208 * print.c (print_preprocess, print_object): Test internedness of
1209 symbols differently.
1210
1211 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1212 bit-fields.
1213 (init_obarray): Likewise for t and nil.
1214
1215 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1216 (Fdefvaralias): New function.
1217 (specbind): Simplify the test if symbol is a constant.
1218 (syms_of_eval): Defsubr Fdefvaralias.
1219
1220 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1221 (Qcyclic_variable_indirection): New variable.
1222 (Fkeywordp): Check for internedness differently.
1223 (Fmakunbound): Simplify the test if symbol is a constant.
1224 (indirect_variable, Findirect_variable): New functions.
1225 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1226 aliased symbol.
1227 (let_shadows_buffer_binding_p): Check for variable aliases.
1228 (set_internal): Simplify the test if SYMBOL is a constant.
1229 If SYMBOL has a buffer-local value and is an alias, use the aliased
1230 symbol instead.
1231 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1232 Sindirect_variable.
1233
1234 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1235 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1236 set directly.
1237
1238 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1239
1240 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1241 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1242 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1243
ab952a4f
GM
12442001-10-04 Gerd Moellmann <gerd@gnu.org>
1245
1246 * Branch for 21.1.
b56ba8de 1247
ba88ff28
MB
12482001-10-03 Miles Bader <miles@gnu.org>
1249
1250 * callproc.c (syms_of_callproc): Explicitly state in the
1251 documentation for `process-environment' that earlier entries take
1252 precedence over later ones.
1253
ae1a9581
MB
12542001-10-02 Miles Bader <miles@gnu.org>
1255
1256 * textprop.c (Fnext_char_property_change)
1257 (Fprevious_char_property_change): Remove reference to non-existant
1258 argument OBJECT from doc-string.
1259
257e3f57
GM
12602001-10-01 Gerd Moellmann <gerd@gnu.org>
1261
1262 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1263 (try_window_id): Skip back over lines ending in a newline from a
1264 string.
1265
1266 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1267 New bit flag
1268
c1f29759
RS
12692001-10-01 Richard M. Stallman <rms@gnu.org>
1270
1271 * search.c (Freplace_match): Doc fix.
1272
c30dce3d
AI
12732001-09-28 Andrew Innes <andrewi@gnu.org>
1274
1275 * w32menu.c (set_frame_menubar): Take into account that
1276 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1277 <raeburn@gnu.org>.
1278
03be5931
EZ
12792001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1280
1281 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1282
75bec752
PJ
12832001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1284
1285 * s/gnu-linux.h: Fix a typo in comment.
1286
83100e0a
AS
12872001-09-28 Andreas Schwab <schwab@suse.de>
1288
1289 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1290 nocombreloc, in case -z combreloc is the default.
1291
a74b48cf
GM
12922001-09-28 Gerd Moellmann <gerd@gnu.org>
1293
1294 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1295 really going on here.
1296
09c4719e
SM
12972001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1298
1299 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1300
f7d5d963
EZ
13012001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1302
1303 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1304 utf-8, menu-bar, and latin-N.
1305 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1306 unconditionally now.
1307 (lisp): Add latin-N, since they are preloaded.
1308
9240e746
GM
13092001-09-27 Gerd Moellmann <gerd@gnu.org>
1310
14531065
GM
1311 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1312 to the left. Some cleanup.
1313
9240e746
GM
1314 * xdisp.c (display_mode_element): One more case where a string's
1315 multibyteness should be used for display.
1316
edd1e654
GM
13172001-09-26 Gerd Moellmann <gerd@gnu.org>
1318
b02439c8
GM
1319 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1320 reading at EOF.
1321
032906b1 1322 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1323 of the only temporarily set echoing flag for deciding when
032906b1
GM
1324 the cancel echoing.
1325
1326 * keyboard.c (echo_kboard): Make externally visible.
1327
1328 * lisp.h (echo_kboard): Declare extern.
1329
cb617e7c 1330 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1331 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1332 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1333 this round of redisplay if make_cursor_line_fully_visible fails.
1334 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1335 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1336
1337 * dispextern.h (required_matrix_width, required_matrix_height):
1338 Add prototypes.
1339
09c4719e
SM
1340 * dispnew.c (required_matrix_width, required_matrix_height):
1341 New functions.
cb617e7c 1342 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1343 (allocate_matrices_for_frame_redisplay: Use them.
1344 Remove parameters CH_DIM.
cb617e7c 1345
edd1e654
GM
1346 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1347 and selected_window to the frame of the window whose mode-lines
1348 are displayed, and to the window itself.
1349 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1350 here.
edd1e654 1351
924b604c
GM
13522001-09-25 Gerd Moellmann <gerd@gnu.org>
1353
daba7643
GM
1354 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1355 the image cache under us.
1356
b7a22712 1357 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1358 with a string value, use that string's multibyteness for displaying.
b7a22712 1359
ad648212
GM
1360 * keyboard.c (read_char): Don't clear a message for a switch-frame
1361 event. From Stefan Monnier <monnier@cs.yale.edu>.
1362
9f8531e5
GM
1363 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1364 version for after 21.1.
1365
1366 * xdisp.c (row_containing_pos): Make externally visible.
1367
1368 * dispextern.h (row_containing_pos): Add prototype.
1369
924b604c
GM
1370 * process.c (send_process): Disable composition if from_byte < 0.
1371 From Kenichi Handa <handa@etl.go.jp>.
1372
6f3f0db4
GM
13732001-09-24 Gerd Moellmann <gerd@gnu.org>
1374
c69c0ebc
GM
1375 * xterm.c (refreshicon): Function removed.
1376
d1182bc4
GM
1377 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1378
1379 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1380
1381 * xterm.c (toplevel): Remove includes in #if 0.
1382
6f3f0db4
GM
1383 * process.c (sigchld_handler) [LINUX]: Don't return from
1384 the signal handler at the end of the loop.
1385
59957f85
GM
13862001-09-21 Gerd Moellmann <gerd@gnu.org>
1387
09c4719e
SM
1388 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1389 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1390
a0528984
EZ
13912001-09-21 Markus Rost <rost@math.ohio-state.edu>
1392
1393 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1394
db92b288
GM
13952001-09-20 Gerd Moellmann <gerd@gnu.org>
1396
3fed8ad5
GM
1397 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1398 since this function can be called during GC.
1399
db92b288
GM
1400 * callproc.c (Fcall_process): Handle errors from pipe(2).
1401 (child_setup): Delete code in #ifdef vipc.
1402
7121b85a
GM
14032001-09-19 Gerd Moellmann <gerd@gnu.org>
1404
72f62cb5
GM
1405 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1406 (display_mode_element): Display the string from decode_mode_spec
1407 depending on its multibyteness.
1408
a2697022
GM
1409 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1410
7121b85a
GM
1411 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1412
bfc97351
GM
14132001-09-18 Gerd Moellmann <gerd@gnu.org>
1414
c9063433
GM
1415 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1416 recursive_edit_unwind.
1417 (recursive_edit_unwind): Set kboard state according to
1418 SINGLE-KBOARD.
1419
3fbdba3e
GM
1420 * buffer.c (modify_overlay): Don't do nothing if START == END;
1421 This can still be a modification, for example when an overlay has
1422 a before-string or after-string.
1423 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1424 an overlay with before-string or after-string.
1425
1270031d
GM
1426 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1427 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1428
bfc97351
GM
1429 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1430 first_unchanged_at_end_row is in front of
1431 last_unchanged_at_beg_row. This code should be removed after the
1432 release of 21.1.
1433
d8a973aa
GM
14342001-09-17 Gerd Moellmann <gerd@gnu.org>
1435
e18c8b8d
GM
1436 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1437 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1438
d8a973aa
GM
1439 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1440 versions >= 2.95.
1441
ed7d6ba4
EZ
14422001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1443
1444 * dired.c (Ffile_attributes): Doc fix.
1445
551629f9
GM
14462001-09-14 Gerd Moellmann <gerd@gnu.org>
1447
1448 * fileio.c (Ffile_symlink_p): Fix last change.
1449
1450 * filelock.c (current_lock_owner): Fix last change.
1451
4c8c7926
GM
14522001-09-13 Gerd Moellmann <gerd@gnu.org>
1453
620c4704
GM
1454 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1455 take that to mean that the buffer is too small.
1456
81c3310d
GM
1457 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1458 that to mean that the buffer is too small.
1459
06fd3792
GM
1460 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1461 current buffer's multibyteness when discarding the iterator's
1462 stack.
1463
4c8c7926
GM
1464 * xfns.c (Fx_window_property): Handle case that property gets
1465 deleted between the two calls to XGetWindowProperty.
1466
9a72e4c1
GM
14672001-09-11 Gerd Moellmann <gerd@gnu.org>
1468
bd819d14 1469 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 1470
a41edd99
GM
1471 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
1472 in addition to read-only.
1473
1474 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
1475 to t in addition to read-only.
1476
1477 * lisp.h (Qinhibit_modification_hooks): Declare.
1478
1479 * insdel.c (Qinhibit_modification_hooks): New variable.
1480 (syms_of_insdel): Initialize and staticpro it.
1481
d4881c6a
GM
1482 * textprop.c (verify_interval_modification): Don't run
1483 modification-hooks if inhibit_modification_hooks.
1484
1485 * dispnew.c (set_window_cursor_after_update): Fix code
1486 finding glyph row containing cursor when cursor_in_echo_area
1487 is >= 0.
1488
9a72e4c1
GM
1489 * xdisp.c (init_from_display_pos): Put some code in #if 0.
1490 (add_to_log): Use bcopy instead of strcpy.
1491 (init_from_display_pos): Use an explicit loop over bytes in
1492 overlay strings instead of calling index.
1493
f4a374a1
GM
14942001-09-10 Gerd Moellmann <gerd@gnu.org>
1495
300e57bd
GM
1496 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
1497
1498 * dispnew.c (direct_output_for_insert): Don't change IT's
1499 stop_charpos to something in front of its current position.
1500
f4a374a1
GM
1501 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
1502 `format'.
1503
7e4cbc91
RS
15042001-09-10 Richard M. Stallman <rms@gnu.org>
1505
1506 * frame.c (Fmouse_position): Doc fix.
1507
6afad91e
GM
15082001-09-07 Gerd Moellmann <gerd@gnu.org>
1509
1510 * xdisp.c (init_from_display_pos): Don't compare the result
1511 of calling index with NULL.
1512
f76e0368
GM
15132001-09-06 Gerd Moellmann <gerd@gnu.org>
1514
1515 * xfns.c (x_set_background_color): Don't change the colors
1516 of the X window of scroll bar widgets.
1517
9ead1b60
AI
15182001-09-05 Andrew Innes <andrewi@gnu.org>
1519
1520 * w32fns.c (w32_createwindow): Undo last change.
1521
c3b497b3
GM
15222001-09-05 Gerd Moellmann <gerd@gnu.org>
1523
08e1d6df
GM
1524 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1525
c3b497b3
GM
1526 * xdisp.c (string_buffer_position): Use *single_char_property*
1527 functions instead of the *single_property* functions.
b56ba8de 1528
8f860180
AI
15292001-09-04 Andrew Innes <andrewi@gnu.org>
1530
9a72e4c1
GM
1531 * w32term.c (w32_read_socket): Add more information to debugging
1532 output.
8f860180
AI
1533
1534 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1535 from Emacs frames, so that calls to GetClipBox in w32term.c
1536 correctly report when part of a frame is visible (including
1537 scrollbars, etc). This prevents repeated redrawing of frames when
1538 only a scrollbar is visible.
1539 (w32_wnd_proc): Add more frame information to debugging output.
1540
2ee1aa00
SM
15412001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1542
1543 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1544
e3b22517
GM
15452001-09-03 Gerd Moellmann <gerd@gnu.org>
1546
7e376260
GM
1547 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1548 help-echo for a string which doesn't have help-echo itself, use
1549 get-char-property to obtain the help-echo from the string's buffer
1550 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1551 have mouse-face, look ``under'' the string for mouse-face from an
1552 overlay.
1553 (fast_find_position): Add parameter STOP. In the final row, stop
1554 before glyphs having STOP as object. Don't consider glyphs that
1555 are not from a buffer.
1556
e3b22517
GM
1557 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1558
9a249bba
EZ
15592001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1560
1561 * fns.c (Fmd5): Doc fix.
1562
c9979669
GM
15632001-08-31 Gerd Moellmann <gerd@gnu.org>
1564
1565 * composite.c (update_compositions): Do nothing if
1566 inhibit-modification-hooks is set.
1567
9584e63a
GM
15682001-08-30 Gerd Moellmann <gerd@gnu.org>
1569
986ec8f2 1570 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1571 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1572 glyph matrices etc. in a core dump.
1573
92a25631
GM
1574 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1575 (syms_of_xdisp): Initialize them.
1576 (handle_single_display_prop): Don't change point, bind `object',
1577 `position', and `buffer-position' instead to the object having the
2ee1aa00 1578 `display' property, position in the object and position in the buffer.
92a25631 1579
9584e63a
GM
1580 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1581 of the buffer if REPLACE is non-nil.
1582
d38633a3
GM
15832001-08-29 Gerd Moellmann <gerd@gnu.org>
1584
1585 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1586
f4fccc1e
EZ
15872001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1588
1589 * w32term.c (x_set_glyph_string_background_width)
1590 (show_mouse_face): Track the last changes in xterm.c.
1591
eaaa65b0
GM
15922001-08-28 Gerd Moellmann <gerd@gnu.org>
1593
7b0870b2
GM
1594 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1595 string's background width so that multi-line mouse-face is drawn
1596 to the right edge of the window.
1597 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1598 glyphs.
1599
6b6e2422 1600 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1601 before inserting/writing glyphs.
6b6e2422 1602
eaaa65b0
GM
1603 * xdisp.c (display_mode_element): Use string_byte_to_char to
1604 determine character positions in strings, use chars_in_text
1605 instead of strwidth.
1606 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1607 a matrix as parameter; this is easier to use from GDB.
1608
9ad62cf8
MB
16092001-08-28 Miles Bader <miles@gnu.org>
1610
2ee1aa00
SM
1611 * textprop.c (Fprevious_single_char_property_change)
1612 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 1613
32171635
GM
16142001-08-27 Gerd Moellmann <gerd@gnu.org>
1615
47d57b22
GM
1616 * fileio.c (Finsert_file_contents): Allocate, restore, and
1617 free composition data in the case of REPLACE not being nil.
1618
1619 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1620 there exist overlay strings with newlines at POS.
1621 (text_outside_line_unchanged_p): Return 0 if changes start at
1622 START and overlays exist at START. Likewise for END.
1623 (try_window_id): Give up if init_to_row_end returns 0.
1624
32171635
GM
1625 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1626 unconditionally.
1627
e1249666
GM
16282001-08-24 Gerd Moellmann <gerd@gnu.org>
1629
33954c45
GM
1630 * keymap.c (access_keymap): Return the cdr of the binding of
1631 a generic character instead of its definition (KEY . BINDING).
1632
e1249666
GM
1633 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1634 to 0 also in the REPLACE case.
1635
fb4c6c96
AC
16362001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1637
1638 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1639 open to determine whether file is readable (as for DOS_NT).
1640
59ecf80b
GM
16412001-08-23 Gerd Moellmann <gerd@gnu.org>
1642
1643 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1644 coding.type is coding_type_no_conversion or coding_type_raw_text,
1645 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1646 non-nil instead of just setting enable_multibyte_characters in the
1647 buffer to nil.
1648
40e33037
GM
16492001-08-22 Gerd Moellmann <gerd@gnu.org>
1650
374388c3
GM
1651 * dispextern.h (struct face_cache): Add member
1652 menu_face_changed_p.
1653
1654 * xfaces.c (menu_face_changed_default): New variable.
1655 (menu_face_changed_count): Variable removed.
1656 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
1657 the menu_face_changed_default flag, otherwise set the FRAME's
1658 menu_face_changed_p flag if the `menu' face has been changed.
1659 Prevent calling set_font_frame_param if FRAME is t.
1660 (make_face_cache): Initialize cache's menu_face_changed_p
1661 from menu_face_changed_default.
1662 (realize_basic_faces): Look into the frame's face cache to
1663 determine if the menu appearance needs updating.
1664
40e33037
GM
1665 * keymap.c (access_keymap): Fix last change to not consider
1666 IDX when it has modifiers.
1667
859ea4b8
GM
16682001-08-21 Gerd Moellmann <gerd@gnu.org>
1669
1670 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
1671 . BINDING) exists, where GENERIC-CHAR is the generic character of
1672 the charset of IDX, return BINDING unless there exists a binding
1673 for IDX itself.
1674
e8660d73
GM
16752001-08-16 Gerd Moellmann <gerd@gnu.org>
1676
cca1b1d7
GM
1677 * xrdb.c (SYSV): Don't define on Solaris 2.
1678 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
1679
e8660d73 1680 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 1681 of the screen line, not text line, containing IT's current position.
e8660d73 1682
93aba6fc
GM
16832001-08-15 Gerd Moellmann <gerd@gnu.org>
1684
288d4e06
GM
1685 * window.c (window_scroll_pixel_based): Don't recenter if
1686 PT is partially visible in the window.
1687
3452efc2
SM
1688 * xterm.c (expose_window_tree, expose_window, expose_line):
1689 Return 1 when overwriting mouse-face.
82f053ab
GM
1690 (expose_frame): If mouse-face was overwritten, redo it.
1691
93aba6fc
GM
1692 * xfaces.c (x_update_menu_appearance): Don't call
1693 set_frame_menubar, let the next redisplay do it.
1694
858a55c1
AI
16952001-08-14 Andrew Innes <andrewi@gnu.org>
1696
1697 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1698 drawing glyph string.
1699
3a990b67
EZ
17002001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1701
1702 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1703 running HI-UX/MPP.
1704
04386463
GM
17052001-08-14 Gerd Moellmann <gerd@gnu.org>
1706
1707 * xfaces.c (x_update_menu_appearance): Save and restore value of
1708 interrupt_input_blocked.
1709
3e6385a4
GM
17102001-08-13 Gerd Moellmann <gerd@gnu.org>
1711
b0e619b4
GM
1712 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1713 a line start, move back to the line start.
3452efc2 1714
0de73d5a
GM
1715 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1716 exactly when a mini-buffer is active.
1717
3e6385a4
GM
1718 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1719 in units of 1/8 character on non window-system frames.
1720 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1721
d1b5f629
EZ
17222001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1723
1724 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1725 a doc string.
1726
eaa2319f
GM
17272001-08-09 Gerd Moellmann <gerd@gnu.org>
1728
8e3189f0
GM
1729 * keyboard.c (Vpre_help_message): New variable.
1730 (syms_of_keyboard): Initialize and staticpro it.
1731 (show_help_echo): Record current message before displaying a
1732 help-echo, and restore that message when clearing the help.
1733
eaa2319f
GM
1734 * xfns.c (x_create_im): Remove prototype.
1735
1736 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1737
1738 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1739
eaa2319f
GM
17402001-08-08 Gerd Moellmann <gerd@gnu.org>
1741
1742 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1743 windows whose height has changed, disable partially visible lines.
eaa2319f 1744
17fdcfc8
GM
17452001-08-07 Gerd Moellmann <gerd@gnu.org>
1746
22d01aed 1747 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1748 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1749
17fdcfc8
GM
1750 * xdisp.c (start_display): Don't try to determine the continuation
1751 lines width if lines are truncated. It's superfluous and leads to
1752 incorrect results if POS is not visible in the window after
1753 reseating the iterator at the previous line start.
1754
8e3fe78e
GM
17552001-08-06 Gerd Moellmann <gerd@gnu.org>
1756
1757 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1758
98a8938c
GM
17592001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1760
1761 * alloc.c (init_stack): Remove declaration.
1762
18f9986a
GM
17632001-08-03 Gerd Moellmann <gerd@gnu.org>
1764
5e1f85e0
GM
1765 * keyboard.c (read_key_sequence): Check that key is an integer
1766 before comparing it with quit_char.
1767 (add_command_key): Use larger_vector.
1768 (read_char_x_menu_prompt): Instead of converting symbol and
1769 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1770 which cannot be confused with valid events.
5e1f85e0
GM
1771 (read_char): When reading from Vunread_command_events, check for
1772 events of the form (EVENT . disabled) instead of
1773 (EVENT . nil).
1774
18f9986a
GM
1775 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1776 a float, determine the max height from the frame's height.
1777
fbc7f2a6
GM
17782001-08-02 Gerd Moellmann <gerd@gnu.org>
1779
1780 * xdisp.c (redisplay_internal): Take message_cleared_p into
1781 account only if minibuf_level == 0.
1782
81b1a79d
GM
17832001-08-01 Gerd Moellmann <gerd@gnu.org>
1784
e5c60873
GM
1785 * xdisp.c (redisplay_internal): Add a check for the last
1786 displayed message.
3452efc2 1787
6e019995
GM
1788 * xdisp.c (message_cleared_p): New variable.
1789 (clear_message): Set message_cleared_p when clearing the current
1790 message.
1791 (redisplay_internal): Look at message_cleared_p to capture
1792 the case that the echo area should be cleared.
1793
308a74d8
GM
1794 * keyboard.c (command_loop_1): Fix spelling of
1795 resize_echo_area_exactly.
1796
3452efc2 1797 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
1798
1799 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
1800
81b1a79d
GM
1801 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
1802 current matrix when the window gets smaller.
1803
ada329e6
EZ
18042001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
1805
1806 * print.c (strout): Cast the character passed to insert_char to
1807 unsigned char, to avoid sign extension when it is promoted to int.
1808
ed86208c
GM
18092001-07-31 Gerd Moellmann <gerd@gnu.org>
1810
1811 * fileio.c (Finsert_file_contents): Don't treat a return value
1812 of 0 from emacs_read as an IO error.
1813
6594ac22
GM
18142001-07-30 Gerd Moellmann <gerd@gnu.org>
1815
cef68af5
GM
1816 * keyboard.c (abs): New macro.
1817 (double_click_fuzz): New variable.
1818 (make_lispy_event): Use it to determine what makes a double-click.
1819 (syms_of_keyboard): DEFVAR_INT it.
1820
6594ac22
GM
1821 * xmenu.c (set_frame_menubar): Take into account that
1822 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1823 <raeburn@gnu.org>.
1824
75c5350a
GM
18252001-07-27 Gerd Moellmann <gerd@gnu.org>
1826
1827 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
1828
1829 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
1830 of row's visible height.
1831
1832 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
1833 deal with the first overlay string having an image `display' property.
1834 (try_window_reusing_current_matrix, compute_line_metrics):
1835 Fix computation of row's visible height for the case that part of the
75c5350a
GM
1836 row is invisible above and part of the row is at the same time
1837 invisible below the window.
1838
ac49effe
GM
18392001-07-26 Gerd Moellmann <gerd@gnu.org>
1840
1841 * xfns.c (x-show-tip): Doc fix.
3452efc2 1842
ac49effe
GM
1843 * xfns.c (Vx_max_tooltip_size): New variable.
1844 (syms_of_xfns): DEFVAR_LISP it.
1845 (Fx_show_tip): Set frame's window_width to the width of the
1846 window. Use a maximum tooltip size specified by
1847 Vx_max_tooltip_size, if that has valid contents.
1848 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 1849
8c3b00cb
AI
18502001-07-26 Andrew Innes <andrewi@gnu.org>
1851
1852 * w32term.c (x_display_list): New variable.
1853 (w32_term_init): Set it.
1854
1855 * w32term.h (x_display_list): New extern.
1856
16098288
GM
18572001-07-26 Gerd Moellmann <gerd@gnu.org>
1858
1859 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
1860 is non-nil, instead of when redisplaying_p is non-zero.
1861 See comment there.
16098288
GM
1862 (mark_window_display_accurate_1): Add an assertion.
1863
64c5be50
GM
18642001-07-25 Gerd Moellmann <gerd@gnu.org>
1865
e743f599
GM
1866 * dispextern.h (struct it): Increase size of ctl_chars to 16.
1867
563b384d
GM
1868 * xfns.c (Fx_file_dialog): Block/unblock input while processing
1869 events so that we get a chance of processing expose events.
1870
64c5be50
GM
1871 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
1872
296808a5
GM
18732001-07-24 Gerd Moellmann <gerd@gnu.org>
1874
1875 * xfns.c (valid_image_p): Protect better against invalid image
1876 specifications. Previous code could signal an error.
1877
5247262a
GM
18782001-07-23 Gerd Moellmann <gerd@gnu.org>
1879
3452efc2 1880 * indent.c (current_column): Fix column computation in the
f1004faf
GM
1881 presence of display table entries.
1882 (current_column_1, Fmove_to_column, compute_motion): Likewise.
1883
dd42b31a
GM
1884 * dispnew.c (adjust_glyph_matrix): In the optimization for
1885 windows whose height has changed, use the new window height
1886 to compute which rows to invalidate.
1887
9e5a7f2a
GM
1888 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
1889 (MAX_10_EXP): New macro.
1890 (Fformat): Use it.
1891
5247262a
GM
1892 * coding.c (code_convert_region): Handle the multibyte case if
1893 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
1894
177ab8ce
GM
18952001-07-20 Gerd Moellmann <gerd@gnu.org>
1896
6e07c0a5
GM
1897 * dispextern.h (struct face): Change type of `stipple' to
1898 int; it's an ID.
1899
177ab8ce
GM
1900 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
1901
b5b80599
GM
19022001-07-19 Gerd Moellmann <gerd@gnu.org>
1903
4e2a256b
GM
1904 * dispnew.c (update_window): Don't set the cursor at the end
1905 of the update if display update has been paused.
1906
3452efc2 1907 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 1908
c1fd9232
KR
19092001-07-18 Ken Raeburn <raeburn@gnu.org>
1910
1911 * fns.c (Fset_char_table_default): Check that a charset is defined
1912 before checking its dimension.
1913
928a85c1
KR
19142001-07-17 Ken Raeburn <raeburn@gnu.org>
1915
1916 * coding.c (setup_coding_system): Don't do any designation based
1917 on reg_bits if charset is not yet defined.
1918
fb4c6c96 1919 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
1920 pointer, using eassert.
1921
de11c1ea
GM
19222001-07-17 Gerd Moellmann <gerd@gnu.org>
1923
3452efc2
SM
1924 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
1925 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 1926
467f1209
GM
19272001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
1928
1929 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
1930
c3d6be34
GM
19312001-07-16 Gerd Moellmann <gerd@gnu.org>
1932
c1d61a7d
GM
1933 * fileio.c (unwind_read): Function removed.
1934 (read_non_regular, read_non_regular_quit): New functions.
1935 (Finsert_file_contents): When reading from non-regular files,
1936 arrange to catch a `quit' and terminate the loop. Rearrange
1937 code so that a `quit' when reading from a regular file doesn't
1938 insert text in the buffer.
1939
c3d6be34
GM
1940 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
1941 Clear faces afterwards.
1942 (clear_font_table): Take a x_display_info parameter. Don't free
1943 fonts being the default font of any frame on the given display.
1944
e06aa1f9
GM
19452001-07-13 Gerd Moellmann <gerd@gnu.org>
1946
1947 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
1948 instead of CHAR_STRING which can signal an error.
1949
1950 * charset.c (char_to_string_1): Extracted from char_to_string.
1951 Return -1 instead of signaling an error.
1952 (char_to_string): Use it.
1953
1954 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
1955
176c92e6
SM
19562001-07-12 Stefan Monnier <monnier@cs.yale.edu>
1957
1958 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
1959 is t, don't try to append anything to it.
1960
1c56232f
EZ
19612001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
1962
1963 * dired.c (file_name_completion): Pass dp->d_name to
1964 Fstring_match, not elt, which is always nil here.
1965
1d2b2268
GM
19662001-07-12 Gerd Moellmann <gerd@gnu.org>
1967
1968 * xselect.c (x_decline_selection_request): Handle errors
1969 caused by receivers that have vanished.
1970
1971 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
1972 ignoring events on foreign windows in #if 0. Always dispatch
1973 the event after checking it with x_handle_property_notify.
1974
1975 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
1976 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
1977 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
1978 (toplevel): Add prototypes for file-local functions.
1979 (x_atom_to_symbol): Remove DPYINFO parameter.
1980
fe5a0162
SM
19812001-07-11 Stefan Monnier <monnier@cs.yale.edu>
1982
1983 * w32menu.c (menubar_selection_callback, w32_menu_show):
1984 Initialize `entry' to nil.
1985 (w32_dialog_show): Remove unused `save_wv' variable.
1986 (name_is_separator): Recognize "--:foo" and "--foo-bar".
1987
a777242c
GM
19882001-07-11 Gerd Moellmann <gerd@gnu.org>
1989
8ee5b6a3
GM
1990 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
1991
d0e2444e
GM
1992 * fileio.c (unwind_read): Print a message when discarding inserted
1993 text or switching the buffer to unibyte. Change parameter.
1994 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 1995
a777242c
GM
1996 * fileio.c (unwind_read): New function.
1997 (Finsert_file_contents): Record it as unwind-function for
1998 the case that reading is interrupted by C-g.
1999
ae794295
GM
20002001-07-10 Gerd Moellmann <gerd@gnu.org>
2001
fe5a0162 2002 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2003 update when scrolling_window returns 0.
2004
6b05fae3
GM
2005 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2006
2007 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2008 for the case that x_decode_color signals an error.
6b05fae3 2009
ae794295
GM
2010 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2011
bb6e8cee
GM
20122001-07-09 Gerd Moellmann <gerd@gnu.org>
2013
2014 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2015 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2016 around ioctls.
2017
36b40a8a
EZ
20182001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2019
24b97d4b
EZ
2020 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2021 doc string line for dos-timezone-offset.
2022
36b40a8a
EZ
2023 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2024 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2025 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2026 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2027
2028 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2029
0967b4b0
GM
20302001-07-05 Gerd Moellmann <gerd@gnu.org>
2031
f25cfe53
GM
2032 * sound.c: Include Emacs' header files with #include "...".
2033
0967b4b0
GM
2034 * eval.c (specbind): Additionally record the buffer that was
2035 current when a buffer-local or frame-local variable was bound.
2036
c347a1c3
GM
20372001-07-04 Gerd Moellmann <gerd@gnu.org>
2038
2039 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2040 to unibyte characters in unibyte buffers.
2041
6332ca8a
GM
20422001-07-03 Gerd Moellmann <gerd@gnu.org>
2043
38472d44
GM
2044 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2045 the frame on the binding stack. Change format of entries for
2046 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2047 (unbind_to): Handle unbinding a frame-local variable.
2048
6332ca8a 2049 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2050 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2051 (dump_glyph_row): Print row's continuation_lines_width.
2052 (try_window_id): Take the shortcut if ZV is visible in the
2053 window, but there are actually no changes at ZV.
2054
63d1b174
GM
20552001-07-02 Gerd Moellmann <gerd@gnu.org>
2056
4c175203
GM
2057 * xterm.h (x_free_dpy_colors): Add prototype.
2058
2059 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2060 right number of arguments.
2061
0b54ce28
GM
2062 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2063 ($(lwlibdir)TAGS): New target.
4c175203 2064 (TAGS): Fix dependency list.
0b54ce28 2065
63d1b174
GM
2066 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2067 with input blocked.
2068
d827466c
GM
20692001-06-30 Gerd Moellmann <gerd@gnu.org>
2070
2071 * emacs.c (main): Remove extern declaration for sys_nerr, which
2072 isn't used and causes a compilation error with GCC 3.0 on
2073 FreeBSD 4.3.
2074
b5cb1ada
GM
20752001-06-27 Gerd Moellmann <gerd@gnu.org>
2076
a5d3ec3f 2077 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2078 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2079 (toplevel): Include <signal.h> and syssignal.h.
2080
b5cb1ada
GM
2081 * sound.c (vox_configure, vox_close): Turn off atimers
2082 around ioctls.
2083
d9bad487
GM
20842001-06-26 Gerd Moellmann <gerd@gnu.org>
2085
fdbb67fe
GM
2086 * keyboard.c (read_char) <non_reread>: Record the previous idle
2087 start time before calling timer_stop_idle.
2088 (read_char) <reread_first>: After processing a help-echo event,
2089 restore the previous idle start time.
2090
d9bad487
GM
2091 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2092 the start of invisible text.
2093 (setup_for_ellipsis): New function.
2094 (next_overlay_string): After all overlay strings have been
2095 processed, display an ellipsis if necessary.
2096 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2097 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2098
2099 * dispextern.h (struct iterator_stack_entry): Add member
2100 display_ellipsis_p.
2101
2b9c25e0
GM
21022001-06-25 Gerd Moellmann <gerd@gnu.org>
2103
80de57df
GM
2104 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2105 on the value of the wait-for-wm frame parameter.
2106
2107 * xterm.h (struct x_output): Add member wait_for_wm.
2108
2109 * xfns.c (Qwait_for_wm): New variable.
2110 (x_frame_parms): Add entry for `wait-for-wm".
2111 (x_set_wait_for_wm): New function.
2112 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2113 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2114
2b9c25e0
GM
2115 * xdisp.c (try_window_id) <all changes below window end>: Don't
2116 take this shortcut if ZV is visible in the window.
2117 (try_window_id): When checking for window start being in changed
2118 text, don't check that the buffer's size has changed.
2119
f772775c
RS
21202001-06-23 Richard M. Stallman <rms@gnu.org>
2121
2122 * minibuf.c (Fcompleting_read): Doc fix.
2123
fa9090b8
GM
21242001-06-19 Gerd Moellmann <gerd@gnu.org>
2125
2126 * composite.c (Ffind_composition_internal): Accept ZV
2127 and a string's end position as POS.
2128
f6f1beba
GM
21292001-06-18 Gerd Moellmann <gerd@gnu.org>
2130
2131 * composite.c (Ffind_composition_internal): Check POS
2132 for validity.
2133
0ae83348
EZ
21342001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2135
2136 * editfns.c (Fmessage_box): If the frame is not under a window
2137 system, output the message in the echo area.
2138
e4cdc335
RS
21392001-06-14 Richard M. Stallman <rms@gnu.org>
2140
2141 * xdisp.c (try_window_id): When EOB is visible, don't treat
2142 insertion at EOB as if it were "off the bottom of the screen."
2143
a55a5f3c
AI
21442001-06-11 Andrew Innes <andrewi@gnu.org>
2145
2146 * w32proc.c (create_child): Add new parameter is_gui_app.
2147 (w32_executable_type): Add new parameter is_gui_app.
2148 (sys_spawnve): Use it.
2149 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2150 SIGQUIT. This matches better how the signals are interpreted by
2151 MSVC compiled programs.
2152 (syms_of_ntproc): Update docstring.
2153
1b85dc1c
SM
21542001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2155
2156 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2157 well otherwise note_mouse_highlight might optimize away highlighting
2158 if we pass over that same overlay again.
2159
b75f8eab
EZ
21602001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2161
2162 * lread.c (Fload): Document that the argument is run via
2163 substitute-in-file-name.
2164
94843cc1
GM
21652001-05-31 Gerd Moellmann <gerd@gnu.org>
2166
b14659e6
GM
2167 * Makefile.in (bootstrap-doc): New target.
2168 (bootstrap-emacs): Depend on it.
2169
0894672f
GM
2170 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2171 auto-save-list-file-name when shutting down Emacs, because
2172 creating the directory might signal an error, and leaves
2173 Emacs in a strange state.
2174
94843cc1
GM
2175 * term.c: (tty_cursor_hidden): New variable.
2176 (update_begin): Don't call tty_hide_cursor. Clean up.
2177 (update_end, set_terminal_window, set_scroll_region): Clean up.
2178 (ring_bell, reset_terminal_modes): Clean up.
2179 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2180 on tty_cursor_hidden.
2181 (write_glyphs): Call tty_hide_cursor.
2182
db3a49a6
SM
21832001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2184
2185 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2186
8bd189fb
GM
21872001-05-30 Gerd Moellmann <gerd@gnu.org>
2188
6f1be3b9
GM
2189 * xfns.c (enum image_value_type): New enumerator
2190 IMAGE_STRING_OR_NIL_VALUE.
2191 (parse_image_spec): Handle it.
2192 (xbm_format, pbm_format): Use it for :foreground and :background.
2193 (xbm_load, pbm_load): Check for nil color names.
2194
8bd189fb
GM
2195 * xterm.c (note_mouse_highlight): If an overlapping overlay
2196 exists, but we find that we highlight the same overlay as before,
2197 don't do the highlighting again.
2198
7bdba03c
GM
21992001-05-29 Gerd Moellmann <gerd@gnu.org>
2200
4c329aa8
GM
2201 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2202 Protect unibyte strings created by replacing their multibyte
2203 equivalents in menu_items.
2204
e15e2828
GM
2205 * keymap.c (Fsingle_key_description): NUL-terminate the string
2206 buffer before calling build_string.
2207
7bdba03c
GM
2208 * callproc.c (Fcall_process): Deal with decode_coding returning
2209 CODING_FINISH_INCONSISTENT_EOL.
2210
89c8dc6c
GM
22112001-05-28 Gerd Moellmann <gerd@gnu.org>
2212
db3a49a6 2213 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2214 an item's name with its key description in case the description
2215 is a multibyte string.
2216
2217 * keymap.c (Fsingle_key_description): Create a multibyte string
2218 only if necessary.
2219
eb04d6cd
GM
2220 * macros.c (Fstart_kbd_macro): Doc fix.
2221
8bd6307f
GM
2222 * xterm.c (cursor_in_mouse_face_p): New function.
2223 (x_draw_stretch_glyph_string): Use it to choose a different GC
2224 when drawing a cursor within highlighted text.
2225
e26c4089
GM
2226 * editfns.c (char_property_eq): Put in #if 0.
2227
2228 * indent.c (string_display_width): Put in #if 0.
2229
2230 * lread.c (Fload): Remove unused label.
2231
89c8dc6c
GM
2232 * termcap.c (speeds): Put in #if 0.
2233
9a1211f2
GM
22342001-05-18 Gerd Moellmann <gerd@gnu.org>
2235
29148a3f
GM
2236 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2237
9a1211f2
GM
2238 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2239 transformation matrix by 10.
2240
09393d07
GM
22412001-05-16 Gerd Moellmann <gerd@gnu.org>
2242
2243 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2244 only if it's equal to the former foreground pixel color.
db3a49a6 2245 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2246 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2247
460e6bae
GM
22482001-05-16 Dave Love <fx@gnu.org>
2249
2250 * insdel.c (signal_before_change, signal_after_change): Consider a
2251 local change hook which changes the buffer.
99c78ce8
GM
2252
2253 * process.c (read_process_output): Don't call signal_after_change
2254 and update_compositions after insert_from_string_before_markers.
2255
dbcf3c03
GM
22562001-05-16 Gerd Moellmann <gerd@gnu.org>
2257
a90b3d3c
GM
2258 * xfaces.c (split_font_name): Use the right field when
2259 checking for `[...]' syntax.
2260
1b7818b4
GM
2261 * buffer.c (copy_overlays): New function.
2262 (clone_per_buffer_values): Use it.
2263
2264 * buffer.h (OVERLAY_PLIST): New macro.
2265
9bae8781
GM
2266 * keymap.c (Fsingle_key_description): Replace a build_string with
2267 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2268
dbcf3c03
GM
2269 * fontset.c (Ffontset_info): Check that face is non-null
2270 before accessing its fields.
2271
8a1ae4dd
GM
22722001-05-15 Gerd Moellmann <gerd@gnu.org>
2273
18a0a39e
GM
2274 * keyboard.c (read_key_sequence): Prevent generating a fake
2275 prefix key twice.
2276
e335b66a
GM
2277 * xfaces.c (split_font_name): Handle `[...]' for the right
2278 font name fields.
2279
8a1ae4dd
GM
2280 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2281 of CCL_STAT_INVALID_CMD.
2282
3cf80731
SM
22832001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2284
33568849
SM
2285 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2286 in <var> has no default value yet.
2287
3cf80731
SM
2288 * xfaces.c (try_alternative_families): First try the FAMILY.
2289 And if nothing is found in the end, try again with scalable fonts.
2290 (try_font_list): Let try_alternative_families do a bit more of
2291 the work. Only use FAMILY if it is not nil.
2292 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2293
933b0249
GM
22942001-05-14 Gerd Moellmann <gerd@gnu.org>
2295
58e5af83
GM
2296 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2297 pointer shape when show_mouse_face has already done it.
33568849 2298
58e5af83 2299 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2300 full-width rows.
2301
7b16a6bf
GM
2302 * xfaces.c (split_font_name): Make sure to leave the loop
2303 with the right value of `i'.
3cf80731 2304
933b0249
GM
2305 * xfaces.c (split_font_name): Handle matrix transformations
2306 in the pixel and point size fields of XLFD font names.
2307 (xlfd_point_size): Likewise.
2308
dddcbf00
EZ
23092001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2310
3cf80731 2311 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2312 (x_to_w32_font): Add prototype.
2313
7689ef0b
EZ
2314 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2315 redefining, to avoid compiler warnings.
2316
e7c15bba
EZ
2317 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2318
dddcbf00
EZ
2319 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2320 (w32_get_bdf_glyph): Cast between unsigned char and char when
2321 passing arguments to subroutines, to shut up compiler warnings.
2322 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2323 GET_HEX_VAL.
2324
2325 * xfaces.c: Include keyboard.h before frame.h, not after it.
2326
2327 * widget.c: Include keyboard.h before frame.h.
2328
2329 * w32term.h (struct image, struct face): Forward declaration, to
2330 avoid compiler warnings.
2331
7bd2d083
GM
23322001-05-11 Gerd Moellmann <gerd@gnu.org>
2333
47e72862
GM
2334 * keyboard.c (read_key_sequence): Don't modify events when
2335 generating fake prefix keys (mode-line, scroll-bar, ...) since
2336 this prevents proper processing of such events when pushed back
2337 into unread-command-events.
2338
dd5f324b
GM
2339 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2340 actually redrawn. Make the function static.
2341 (note_mouse_highlight): Fix a case where the mouse cursor
2342 was changed back to the text cursor.
2343
2344 * xterm.h (clear_mouse_face): Remove prototype.
2345
d88a79d4
GM
2346 * xdisp.c (try_window_id): Fix the fix and set the right
2347 window_end_vpos.
2348
2349 * xdisp.c (try_window_id): Fix computation of window end in the
2350 case that lines were deleted at the end of the window. Add some
2351 more debug_method_adds.
0416532f 2352
7bd2d083
GM
2353 * xfaces.c (try_alternative_families): New function.
2354 (try_font_list): Use it. If ATTRS specifies a family, check
2355 fonts from that family first.
2356 (choose_face_font): Remove code setting the family part of
2357 the pattern to nil.
2358
23fca891
GM
23592001-05-10 Gerd Moellmann <gerd@gnu.org>
2360
ff9aa2ca
GM
2361 * xdisp.c (try_window_id): Fix case of all changes before
2362 the window start.
7b2654b5 2363
23fca891
GM
2364 * xdisp.c (try_window_id): Add some xasserts.
2365
e9726794
GM
23662001-05-09 Gerd Moellmann <gerd@gnu.org>
2367
2368 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2369
9e53a675
GM
23702001-05-09 Dave Love <fx@gnu.org>
2371
2372 * xdisp.c (GIVE_UP): Fix for K&R C.
2373
0d487c52
GM
23742001-05-09 Gerd Moellmann <gerd@gnu.org>
2375
fe88d421
GM
2376 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2377
0d487c52
GM
2378 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2379 back to the text cursor shape without need.
2380
1e9fc92e
GM
23812001-05-07 Gerd Moellmann <gerd@gnu.org>
2382
a2a6232e
GM
2383 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2384
2385 * dispextern.h (inverse_video): Declare extern.
2386
1e9fc92e
GM
2387 * keyboard.c (delete_kboard): Handle the case that selected_frame
2388 has been deleted in the course of x_connection_closed.
2389
12949a7f
EZ
23902001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2391
7b2654b5
SM
2392 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2393 Fix the change from 2001-04-30.
12949a7f 2394
2fa2f461
GM
23952001-05-03 Gerd Moellmann <gerd@gnu.org>
2396
a779d213
GM
2397 * xfns.c (file_dialog_unmap_cb): New function.
2398 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2399 where a dialog is closed via the window manager.
2400
7b2654b5 2401 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2402 the window start or all below the window end mostly rewritten.
2403 (redisplay_window): Move the tests if try_window_id is
2404 applicable to try_window_id.
2405 (GIVE_UP): New macro.
2406
3356df63
GM
24072001-05-02 Gerd Moellmann <gerd@gnu.org>
2408
a39202f6 2409 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2410 currently being updated, mark the frame garbaged.
2411 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2412 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2413
3356df63
GM
2414 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2415 again if it has already been drawn.
2416
a9d2fd1d
SM
24172001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2418
2419 * syntax.c (update_syntax_table): Check that oldi has the same
2420 properties as old_prop before deciding not to invalidate.
2421
c95fc5f1
GM
24222001-04-30 Gerd Moellmann <gerd@gnu.org>
2423
a9793e45
GM
2424 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2425 read-only text that is so because of text properties.
2426
c95fc5f1 2427 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2428 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2429 windows that are components of a Lucid menu bar.
2430
5a5d9185
GM
24312001-04-27 Gerd Moellmann <gerd@gnu.org>
2432
2433 * term.c (turn_on_face): Fix reverse video handling on terminals
2434 that don't support colors.
2435
ba973f7a
GM
24362001-04-26 Gerd Moellmann <gerd@gnu.org>
2437
2438 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2439 a non-buffer.
2440
8c56a983
GM
24412001-04-25 Gerd Moellmann <gerd@gnu.org>
2442
a728644c
GM
2443 * term.c (toggle_highlight): New function.
2444 (turn_on_face): Change handling of reverse video.
2445
7b2654b5
SM
2446 * process.c (wait_reading_process_input):
2447 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2448
bfd8410f
GM
2449 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2450 of the number of overlays to check.
2451
be2488ca
GM
2452 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2453
8c56a983
GM
2454 * xdisp.c (try_window_id): Fix a case where window_end_pos
2455 and window_end_bytepos were not adjusted.
2456
522d42f7
GM
24572001-04-23 Gerd Moellmann <gerd@gnu.org>
2458
2459 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2460 zero instead of -1.
2461
78c1afb6
EZ
24622001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2463
a9d2fd1d
SM
2464 * process.c (wait_reading_process_input) [!subprocesses]:
2465 Don't reference waiting_for_user_input_p, it's not defined in the
2466 branch without async subprocesses support.
78c1afb6 2467
a2fab450
GM
24682001-04-19 Gerd Moellmann <gerd@gnu.org>
2469
a122a38e
GM
2470 * keyboard.c (delete_kboard): Prevent a dangling reference
2471 from current_kboard to KB, which is freed.
2472
a9d2fd1d
SM
2473 * process.c (wait_reading_process_input):
2474 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
2475 read_key_sequence aware of buffer changes from under it.
2476
0f8d6dc7
GM
24772001-04-18 Gerd Moellmann <gerd@gnu.org>
2478
eeffb293
GM
2479 * xfaces.c (Qscalable_fonts_allowed): New variable.
2480 (realizing_basic_faces_p): Removed.
2fa2f461
GM
2481 (x_face_list_fonts): Special handling for realizing_basic_faces_p
2482 removed.
eeffb293 2483 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
2484 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
2485 for scalable-fonts-allowed to t.
eeffb293 2486
0f8d6dc7
GM
2487 * fileio.c (Finsert_file_contents): If the file size returned from
2488 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 2489 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 2490
eec2d1de
EZ
24912001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
2492
2493 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
2494 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
2495 (__memalign_hook): Make the two prototypes consistent.
2496
f4f480bd
GM
24972001-04-17 Gerd Moellmann <gerd@gnu.org>
2498
2499 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
2500 matrix of mini-windows.
2501
52283633
SM
25022001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2503
2504 * intervals.c (find_interval): Don't rebalance during signal handling.
2505
ec2423c9
GM
25062001-04-11 Gerd Moellmann <gerd@gnu.org>
2507
30cb0001 2508 * fns.c: Include blockinput.h.
52283633 2509
ec2423c9
GM
2510 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
2511
719d83ad
GM
25122001-04-10 Gerd Moellmann <gerd@gnu.org>
2513
60f8d735
GM
2514 * fns.c (Fcompare_strings): Fix return values.
2515
afffeb57
GM
2516 * window.c (window_scroll): Change the meaning of N to mean
2517 N screen-fulls or N lines.
2518 (window_scroll_pixel_based, window_scroll_line_based)
2519 (scroll_command, Fscroll_other_window): Change accordingly.
2520
52283633
SM
2521 * window.c (window_scroll_pixel_based, Frecenter):
2522 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2523 height of the window.
2524
2525 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2526 instead of using it.last_visible_y for the height of the window.
52283633 2527
719d83ad 2528 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2529 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2530
2531 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2532 able to write to hidden and system files. From Dan Holmsand
2533 <dan@eyebee.com>.
719d83ad 2534
8ddf3ee1
GM
2535 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2536 Holmsand <dan@eyebee.com>.
719d83ad 2537
522ed7fb
GM
25382001-04-09 Gerd Moellmann <gerd@gnu.org>
2539
9170e5d4
GM
2540 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2541
522ed7fb
GM
2542 * window.c (window_internal_height): Return 1 less if the
2543 window has a header line.
2544
2545 * xdisp.c (try_window_id): When scrolling on a terminal, take
2546 the change of window_internal_height into account.
2547
ceeb3d7d
EZ
25482001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2549
2550 * gmalloc.c (align): If the argument SIZE would overflow
2551 __malloc_ptrdiff_t, fail right away.
2552
63685b9d
GM
25532001-04-06 Gerd Moellmann <gerd@gnu.org>
2554
2555 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2556 Make sure the tooltip is completely visible.
2557 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2558
2559 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2560
2561 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2562
3ffb33bb
DL
25632001-04-06 Dave Love <fx@gnu.org>
2564
52283633
SM
2565 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2566 Fix test of `from'.
3ffb33bb 2567
869fb12c
GM
25682001-04-06 Gerd Moellmann <gerd@gnu.org>
2569
52283633 2570 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2571
869fb12c
GM
2572 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2573
441bf856
GM
25742001-04-05 Gerd Moellmann <gerd@gnu.org>
2575
4d664b04
GM
2576 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2577
52283633 2578 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2579
30ca89f5
GM
2580 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2581 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2582
2583 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2584 shell widget's position only if it is non-null.
2585
52283633
SM
2586 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2587 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2588
81a81c0f
GM
2589 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2590 FILENAME to bring it in synch with the documentation.
2591
441bf856
GM
2592 * xfaces.c (realizing_basic_faces_p): Renamed from
2593 realize_default_face_p.
2594 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2595 (realize_default_face): Don't set the flag.
2596
702a1e8e
GM
25972001-04-04 Gerd Moellmann <gerd@gnu.org>
2598
1013f4e3
GM
2599 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2600
52283633
SM
2601 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2602
1013f4e3
GM
2603 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2604 the buffer that was used for echoing.
2605
702a1e8e
GM
2606 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2607 (first_font_matching): Removed unused function.
2608 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2609 (may_use_scalable_font_p): Remove parameter FONT; rename
2610 parameter NAME to FONT.
2611 (x_face_list_fonts): Fix missing bounds check.
2612 (realizing_default_face_p): New variable.
2613 (realize_default_face): Set and clear that flag.
2614 (x_face_list_fonts): When called during the realization of the
2615 default face, and no matching fonts are found when ignoring
2616 scalable fonts and fonts matching a regexp from
2617 face-ignored-fonts, try without ignoring fonts.
2618
f9dbcda4
GM
26192001-04-03 Gerd Moellmann <gerd@gnu.org>
2620
ad18ffb1
GM
2621 * xfns.c (postprocess_image): New function.
2622 (lookup_image): Call it for all image types except PostScript.
2623 (x_kill_gs_process): Call postprocess_image.
2624
f9dbcda4
GM
2625 * xterm.c (x_use_underline_position_properties): New variable.
2626 (x_draw_glyph_string): Use it.
2627 (syms_of_xterm): DEFVAR_BOOL it.
2628
651f03b6
GM
26292001-04-02 Gerd Moellmann <gerd@gnu.org>
2630
2631 * xterm.c (x_alloc_nearest_color_1): New function.
2632 (x_alloc_nearest_color): Use it.
2633 (x_color_cells): Take a Display as argument, instead of a frame.
2634 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2635 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2636 (x_initialize): Register cvt_string_to_pixel as resource converter
2637 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2638
73d75a62
GM
26392001-03-30 Gerd Moellmann <gerd@gnu.org>
2640
b2046df8
GM
2641 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2642 (set_iterator_to_next): If a string from a display property ends,
2643 consider the case that this might also be the end of an
2644 overlay string having the display property.
2645
52283633 2646 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 2647
87d8eba4
GM
2648 * xdisp.c (reseat_to_string): Undo last change.
2649
73d75a62
GM
2650 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
2651 matrix of a window when the header line changes, when
2652 new rows are allocated, or when the width changes.
2653
911a2406
EZ
26542001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
2655
52283633 2656 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 2657
aea51abe
EZ
26582001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
2659
2660 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
2661 deprecated.
2662
176bc847
GM
26632001-03-29 Gerd Moellmann <gerd@gnu.org>
2664
ed31fabf
GM
2665 * data.c (Fsubr_interactive_form): New function.
2666 (syms_of_data): Defsubr it.
2667
176bc847
GM
2668 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
2669 (live_float_p, live_misc_p): Return 1 only if the offset of the
2670 pointer in its block is >= 0.
2671
e59d0e9d
GM
26722001-03-28 Paul Eggert <eggert@twinsun.com>
2673
2674 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
2675 microseconds calcuation. Avoid double-rounding problem.
2676 In doc string, warn that the result is approximate.
2677
f827b862
GM
26782001-03-28 Gerd Moellmann <gerd@gnu.org>
2679
30a3f61c
GM
2680 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
2681 bind `inhibit-eval-during-redisplay' to t.
2682
2683 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
2684
2685 * xdisp.c (inhibit_eval_during_redisplay)
2686 (Qinhibit_eval_during_redisplay): New variables.
2687 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
2688 don't eval, return nil instead.
2689 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
2690 Initialize Qinhibit_eval_during_redisplay.
2691
e719f5ae
GM
2692 * xdisp.c (reseat_to_string): If STRING is multibyte, set
2693 the iterator's multibyte_p flag.
2694
deb2613a
GM
2695 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2696 instead of setting it to zero; it's incremented for each frame
2697 where the menu face is changed.
2698
52283633
SM
2699 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2700 change bottom shadow accordingly.
2701
2702 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2703 intersections here.
2704 (expose_window): Do it here instead.
52283633 2705 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2706
f827b862
GM
2707 * bytecode.c (BYTE_CODE_QUIT): New macro.
2708 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2709
4bde0ebb
GM
27102001-03-27 Gerd Moellmann <gerd@gnu.org>
2711
607ec83c
GM
2712 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2713 Give up if matrix starts in an ellipsis.
2714 (init_from_display_pos): Do nothing if POS doesn't specify
2715 a dpvec_index but the iterator has such a position.
2716
0245398f
GM
2717 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2718
aba25348
GM
2719 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2720 x/y position is (0, 0) after destroying the menu bar, restore
2721 its original position.
2722
4bde0ebb
GM
2723 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2724 (init_from_display_pos): Use it.
2725 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2726
8cdb267e
GM
27272001-03-26 Gerd Moellmann <gerd@gnu.org>
2728
2729 * xdisp.c (try_window_id): Undo last change.
2730
9948db79
EZ
27312001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2732
2733 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2734
2735 * buffer.c (syms_of_buffer): Doc fix.
2736
2eddf899
GM
27372001-03-26 Gerd Moellmann <gerd@gnu.org>
2738
2739 * xfaces.c (x_update_menu_appearance): Use local variable
2740 popup_path for setting font resources.
2741
6c145d35
EZ
27422001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2743
6a65b1b5
EZ
2744 * frame.c (Fframe_list): Don't reference tip_frame if
2745 HAVE_WINDOW_SYSTEM is not defined.
2746
6c145d35
EZ
2747 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2748 <wl@gnu.org>.
2749
d74c1900
GM
27502001-03-25 Gerd Moellmann <gerd@gnu.org>
2751
20fbd925
GM
2752 * xdisp.c (init_from_display_pos): Test invisible property
2753 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2754
927c5b3b
GM
2755 * xdisp.c (redisplay_internal) <update one window>: Make sure
2756 last_arrow_position and last_arrow_string are set.
2757
d74c1900
GM
2758 * frame.c (Fframe_list): Don't return a tooltip frame.
2759
091f8878
GM
27602001-03-23 Gerd Moellmann <gerd@gnu.org>
2761
52283633
SM
2762 * xdisp.c (mark_window_display_accurate_1): New function,
2763 extracted from mark_window_display_accurate.
2764 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2765 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2766 (mark_window_display_accurate): Use it.
2767 (redisplay_internal): Use it for the selected window.
2768 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2769 for the selected frame.
2770
ac90c44f
GM
2771 * xdisp.c Use make_number, for readability.
2772 (try_window_id): Disable rows below the window end.
2773 (try_window_reusing_current_matrix): Use cursor_row_p.
2774 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2775 of rows.
2776 (init_from_display_pos): If POS specifies a position in a display
2777 vector, maybe get the iterator set up for that ellipsis.
43c09969 2778
091f8878
GM
2779 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2780
991786dd
EZ
27812001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2782
2783 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2784
6c29b43c
GM
27852001-03-23 Gerd Moellmann <gerd@gnu.org>
2786
2787 * xfaces.c (x_update_menu_appearance): Use a different path
2788 for Lucid popup menus.
2789
d8731202
SM
27902001-03-22 Stefan Monnier <monnier@cs.yale.edu>
2791
2792 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
2793
2794 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
2795 (string_buffer_position): Use `make_number'.
2796
f61a541b
GM
27972001-03-22 Gerd Moellmann <gerd@gnu.org>
2798
3c9e997b
GM
2799 * xfaces.c (x_update_menu_appearance): Renamed from
2800 x_set_menu_face_resources. Use different resources for popups.
2801
2802 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
2803 (GC_CHECK_STRING_BYTES): Don't define.
2804
364cd450
GM
2805 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
2806 Removed, together with subroutines.
2807 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 2808 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 2809
d8731202
SM
2810 * dispextern.h (x_set_menu_resources_from_menu_face):
2811 Remove prototype.
364cd450 2812
d8731202 2813 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
2814 Remove calls to x_set_menu_resources_from_menu_face.
2815
d8731202
SM
2816 * xfaces.c (xm_set_menu_resources_from_menu_face):
2817 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
2818
2819 * xmenu.c: Include widget.h.
2820 (single_submenu): Return int. Some cleanup.
2821 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
2822
140330de
GM
28232001-03-21 Gerd Moellmann <gerd@gnu.org>
2824
2825 * xterm.c (x_update_window_end): Handle overwritten mouse face
2826 also for tool bar windows.
2827 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2828 DRAW is DRAW_IMAGE_RAISED.
2829
1741905c
GM
28302001-03-20 Gerd Moellmann <gerd@gnu.org>
2831
fa88947e
GM
2832 * print.c (syms_of_print): Doc fixes.
2833
1741905c
GM
2834 * fns.c (Fmd5): Doc fix.
2835
ade0bee1
GM
28362001-03-19 Gerd Moellmann <gerd@gnu.org>
2837
357e7376
GM
2838 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2839 Clear area of the frame not occupied by the scroll bar.
2840
c2c097cc
GM
2841 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
2842 tip frame's root window buffer to *tip* right after creating
2843 the frame.
2844
ade0bee1
GM
2845 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
2846 is an integer don't have to be for space characters.
2847
88c6e37e
GM
28482001-03-16 Gerd Moellmann <gerd@gnu.org>
2849
52283633
SM
2850 * indent.c (current_column, current_column_1, Fmove_to_column)
2851 (compute_motion): Handle characters from display vectors differently.
88c6e37e 2852
c62eed76
KH
28532001-03-15 Kenichi Handa <handa@etl.go.jp>
2854
2855 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
2856 drawing glyph string.
2857
c899e7e6
GM
28582001-03-15 Gerd Moellmann <gerd@gnu.org>
2859
d0bbfc99
GM
2860 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
2861 (command_loop_1): Undo last change.
2862
03d1a189
GM
2863 * xterm.c (fast_find_position): Return the correct vpos.
2864
c899e7e6 2865 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 2866 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
2867 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
2868 Call store_symval_forwarding with BUF null.
2869 (set_internal): Call store_symval_forwarding with the BUF
2870 parameter passed to set_internal. Formerly, the value was always
2871 set in the current buffer; the buffer recorded in specbind for
2872 this case wasn't used.
2873 (arith_driver): Reindent.
2874
52283633
SM
2875 * buffer.c (swap_out_buffer_local_variables):
2876 Call store_symval_forwarding with BUF null.
c899e7e6
GM
2877
2878 * lisp.h (store_symval_forwarding): Change prototype.
2879
2880 * eval.c (specbind): Call store_symval_forwarding with BUF null.
2881
57ac7c81
GM
28822001-03-14 Gerd Moellmann <gerd@gnu.org>
2883
697617d9
GM
2884 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
2885 FOR_DELETION. Avoid resizing the mini-window of the selected
2886 frame if FOR_DELETION is set.
2887 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
2888 (Fmake_frame_invisible): Change calls to do_switch_frame for new
2889 signature.
2890
2891 * window.c (Fset_window_configuration): Change call to
2892 do_switch_frame to new format.
2893
2894 * keyboard.c (quit_throw_to_read_char): Change call to
2895 do_switch_frame to new format.
2896
2897 * lisp.h (do_switch_frame): Change prototype.
2898
819dce0f
GM
2899 * frame.c (Fframe_parameters): In the `buffer-list' frame
2900 parameter, store the buffer list of FRAME, not the list of the
2901 selected frame.
2902
57ac7c81
GM
2903 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
2904 box just because the glyph row's full_width_p flag is set.
2905
65008712
GM
29062001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
2907
2908 * xdisp.c (highlight_trailing_whitespace): On character terminals,
2909 skip the padding blanks inserted in extend_face_to_end_of_line,
2910 before checking for trailing whitespace.
2911
159cf431
GM
29122001-03-13 Gerd Moellmann <gerd@gnu.org>
2913
52283633 2914 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
2915 Remove special handling for LessTif/Motif.
2916 (toplevel): Don't include Xm/Xm.h.
2917
52283633
SM
2918 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
2919 Remove workaround code for LessTif; it doesn't work anymore.
2920
2564ea1b 2921 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 2922 Xm/ScrollBarP.h.
afcdc0a1 2923
52283633
SM
2924 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
2925 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
2926 contemporary LessTif.
2927
52283633
SM
2928 * xfaces.c (xm_set_menu_resources_from_menu_face):
2929 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 2930
159cf431
GM
2931 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
2932 removing button grabs.
2933
c6f7429a
KH
29342001-03-13 Kenichi Handa <handa@etl.go.jp>
2935
cb82d767
KH
2936 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
2937 and clip-large-size-font as obsolete.
2938
c6f7429a
KH
2939 * lread.c (read_multibyte): Check the validity of multibyte
2940 sequence. If invalid, return the first byte.
2941
760cefb5
GM
29422001-03-12 Gerd Moellmann <gerd@gnu.org>
2943
2944 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
2945 before running the command; timer functions or process
2946 filters may have set it.
2947
5141f9d0
EZ
29482001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
2949
2950 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2951 Doc fix.
2952
b6a15240
GM
29532001-03-12 Gerd Moellmann <gerd@gnu.org>
2954
2955 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
2956 to sprintf.
2957
95522746
GM
29582001-03-09 Gerd Moellmann <gerd@gnu.org>
2959
db14cfc5
GM
2960 * dispextern.h (string_buffer_position): Add prototype.
2961
52283633 2962 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
2963 (single_display_prop_string_p): New functions.
2964
2965 * xterm.c (note_mouse_highlight): If there's no help-echo on
2966 a string, look at the buffer text ``under'' it.
2967
2968 * keyboard.c (make_lispy_event): Add string info to the event,
2969 analogous to what's done on mode lines.
2970 (read_key_sequence): For a click on a string, consider `local-map'
2971 and `keymap' of that string.
2972
52283633
SM
2973 * keyboard.c (make_lispy_event, make_lispy_movement):
2974 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
2975
2976 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
2977
2978 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
2979 POS; return void.
2980
95522746
GM
2981 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
2982 flags argument to emacs_open; it seems to conflict with O_EXCL.
2983
898a399d
KH
29842001-03-09 Kenichi Handa <handa@etl.go.jp>
2985
28cd4910
KH
2986 * composite.h (struct composition): Change types of members;
2987 glyph_len to unsigned, width to unsigned short.
898a399d 2988
4cdf6a6c
AI
29892001-03-08 Andrew Innes <andrewi@gnu.org>
2990
2991 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
2992 menu titles.
2993
129004d3
GM
29942001-03-08 Gerd Moellmann <gerd@gnu.org>
2995
221dd3e7
GM
2996 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
2997 instead of nil.
2998
52283633 2999 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3000 help-echo in strings.
3001 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3002 (fast_find_string_pos): New function.
3003
52283633
SM
3004 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3005 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3006
3007 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3008 Handle `mouse-face'.
3009
3010 * dispextern.h (face_at_string_position): Change prototype.
3011
52283633 3012 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3013
129004d3
GM
3014 * keyboard.c (make_lispy_event): Avoid generating drag events
3015 if the mouse hasn't actually moved to another buffer position.
52283633 3016
80c8ab8c
DL
30172001-03-08 Dave Love <fx@gnu.org>
3018
129004d3 3019 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3020
989521fd
GM
30212001-03-08 Gerd Moellmann <gerd@gnu.org>
3022
3023 * process.c (Fset_process_window_size): Fix a typo.
3024
bb5c338d
KH
30252001-03-08 Kenichi Handa <handa@etl.go.jp>
3026
3027 * coding.c (detect_coding_sjis): Do more rigid check.
3028 (detect_coding_big5): Likewise.
3029 (decode_coding_sjis_big5): Likewise.
3030 (Fdetect_coding_region): Call detect_coding_system with tailing
3031 anchor byte `\0' for more rigid detection.
52283633 3032 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3033 (Fdetect_coding_string): Likewise.
3034
8b8f9197
SM
30352001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3036
3037 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3038 a string before extracting its data.
3039
3bdf2660
GM
30402001-03-07 Gerd Moellmann <gerd@gnu.org>
3041
3042 * window.c (Frecenter): Rewrite code handling negative values
3043 of ARG on graphical frames.
3044
30452001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3046
3047 * window.c (displayed_window_lines): If W->start is outside the
3048 accessible portion of the buffer, call start_display with BEGV or
3049 ZV instead of W->start.
3050
471f86b9
GM
30512001-03-07 Gerd Moellmann <gerd@gnu.org>
3052
2ab62c6c
GM
3053 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3054
471f86b9
GM
3055 * process.c (Fset_process_filter): Don't crash if the input
3056 file descriptor of PROCESS is closed.
3057 (Fset_process_window_size): Likewise.
3058
101922c3
GM
30592001-03-06 Kenichi Handa <handa@etl.go.jp>
3060
3061 * xterm.c (XTflash): Make the timeout of select shorter, and call
3062 select repeatedly until the desired time expires.
3063
45d051a7
GM
30642001-03-06 Gerd Moellmann <gerd@gnu.org>
3065
3066 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3067
3068 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3069
3070 * lisp.h (Vwindow_list): Declare extern.
3071
8f372c46
EZ
30722001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3073
3074 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3075
f16a7aa5
GM
30762001-03-06 Gerd Moellmann <gerd@gnu.org>
3077
157ae273
GM
3078 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3079 to detect a case where we have to highlight a different region
3080 despite not having left the currently highlighted region.
3081 Set mouse_face_overlay in the x_display_info.
45d051a7 3082 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3083
3084 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3085
3086 * buffer.c (mouse_face_overlay_overlaps): New function.
3087
3088 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3089 (Qmouse_face): Declare extern.
3090
f16a7aa5
GM
3091 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3092 if face_change_count is non-zero.
3093
827afcac
KH
30942001-03-06 Kenichi Handa <handa@etl.go.jp>
3095
3096 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3097 that the source is unibyte.
3098
14c7242e
DL
30992001-03-05 Dave Love <fx@gnu.org>
3100
827afcac 3101 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3102
c28b847b
GM
31032001-03-05 Gerd Moellmann <gerd@gnu.org>
3104
3105 * minibuf.c (read_minibuf): Clean up the binding stack if
3106 called noninteractively.
3107
b86644f2
KH
31082001-03-05 Kenichi Handa <handa@etl.go.jp>
3109
3110 * coding.c (syms_of_coding): Docstring modified.
3111
203682cc 31122001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3113
3114 * charset.c (char_to_string): If a single byte char has modifier
3115 bits that can't be reflected to the character code, ignore them
45d051a7 3116 instead of signaling an error.
b86644f2 3117
e30bd7b7
EZ
31182001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3119
3120 * s/msdos.h: Update copyright notice.
3121
3122 * dosfns.h: Update copyright notice.
3123
3124 * dosfns.c: Update copyright notice.
3125
3126 * msdos.c: Update copyright notice.
3127
b52b65bd
GM
31282001-03-02 Gerd Moellmann <gerd@gnu.org>
3129
3130 * xterm.c (glyph_rect): New function.
3131 (XTmouse_position): Use it to raise the threshold for mouse
3132 movement event generation.
3133
53c4b1e6
EZ
31342001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3135
3136 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3137 specifies (reverse . t), reverse the initial screen colors.
3138 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3139 but we are reversing the colors, set bg_set, not fg_set.
3140 Likewise for setting background-color and reversing: set fg_set.
3141 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3142 in effect.
3143
3144 * xfaces.c (Finternal_set_lisp_face_attribute)
3145 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3146 parameters alist.
3147
f964b4d7
GM
31482001-03-02 Gerd Moellmann <gerd@gnu.org>
3149
ef53d75e
GM
3150 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3151 to a single slash in the middle of file names.
3152
52283633 3153 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3154 Accept only alphanumeric time zone names.
3155
f964b4d7
GM
3156 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3157 or width area.
3158 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3159 a widget to zero height.
52283633 3160
c3c45f65
GM
31612001-03-01 Gerd Moellmann <gerd@gnu.org>
3162
3163 * window.c (Fwindow_end): Call move_it_past_eol only if
3164 ending up on a partially visible line.
3165
028d739a
DL
31662001-03-01 Dave Love <fx@gnu.org>
3167
3168 * ccl.c (Fccl_execute): Doc fix.
3169
57c5889c
GM
31702001-03-01 Gerd Moellmann <gerd@gnu.org>
3171
35f59f6b
GM
3172 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3173 of the tool bar before calling x_figure_window_size.
3174
f84ff02c
GM
3175 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3176 NULL after destroying it, otherwise XTread_socket can access a
3177 destroyed widget when input is unblocked.
3178
8b8f9197 3179 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3180
57c5889c
GM
3181 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3182 same name as before, although there was a change in fontsets.
3183
224227d1
KR
31842001-02-28 Ken Raeburn <raeburn@gnu.org>
3185
4560730a
KR
3186 * lisp.h (Fframe_parameter): Declare.
3187
224227d1 3188 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3189 Lisp_Object.
224227d1 3190
ece93c02
GM
31912001-02-28 Gerd Moellmann <gerd@gnu.org>
3192
11ef99b9
GM
3193 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3194 NULL instead.
3195
3196 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3197 NULL instead.
3198
ece93c02
GM
3199 * alloc.c (toplevel): Include process.h.
3200 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3201 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3202 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3203 (allocate_vector, allocate_hash_table, allocate_window)
3204 (allocate_frame, allocate_process, allocate_other_vector):
3205 New functions.
ece93c02
GM
3206 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3207 (mark_maybe_pointer): New function.
52283633 3208 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3209 remain and not Lisp_Objects.
3210 (min_heap_address, max_heap_address): New variables.
3211 (mem_find): Return MEM_NIL if START is below min_heap_address or
3212 above max_heap_address.
3213 (mem_insert): Compute min_heap_address and max_heap_address.
3214
3215 * process.c (make_process): Use allocate_process.
3216
3217 * frame.c (make_frame): Use allocate_frame.
3218
3219 * window.c (make_window, make_dummy_parent): Use allocate_window.
3220 (Fcurrent_window_configuration): Use allocate_other_vector.
3221
3222 * lisp.h (allocate_vectorlike): Remove prototype.
3223 (allocate_vector, allocate_other_vector, allocate_frame)
3224 (allocate_window, allocate_process, allocate_hash_table):
3225 Add prototypes.
3226
3227 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3228 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3229
063af457
KH
32302001-02-27 Kenichi Handa <handa@etl.go.jp>
3231
3232 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3233 treat the produced bytes as a valid multibyte sequence.
3234
3235 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3236 (ccl_driver) <CCL_WriteMultibyteChar2>:
3237 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3238 <ccl_finish>: Set ccl->eight_bit_control properly.
3239
3240 * ccl.h (struct ccl_program): New member eight_bit_control.
3241
f58c6494
SM
32422001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3243
3244 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3245 accessible_keymaps_char_table.
3246 (accessible_keymaps_char_table): Obey `is_metized'.
3247 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3248 Lisp_Object.
3249
c596c392
GM
32502001-02-26 Gerd Moellmann <gerd@gnu.org>
3251
3252 * dispnew.c: Check HAVE_TERM_H before including term.h.
3253
425de386
AI
32542001-02-24 Andrew Innes <andrewi@gnu.org>
3255
3256 * makefile.w32-in: Update copyright notice.
3257
2ba11bbd
SM
32582001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3259
3260 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3261
66c56ed1
KH
32622001-02-24 Kenichi Handa <handa@etl.go.jp>
3263
4c1593ce
KH
3264 * Makefile.in (lisp): Add international/utf-8.elc.
3265
66c56ed1
KH
3266 * fontset.c (Fnew_fontset): Fix handling of the case that an
3267 element of FONTLIST is a cons of family and registry.
3268
796ead7e
JR
32692001-02-23 Jason Rumney <jasonr@gnu.org>
3270
3271 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3272 to height unconditionally.
3273
3274 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3275 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3276 (x_insert_glyphs): Call window_box_left to obtain the left
3277 x-coordinate of the area to shift.
3278
3279 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3280 safe_run_hooks.
3281
f6839838
AI
32822001-02-22 Andrew Innes <andrewi@gnu.org>
3283
52283633 3284 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3285 ($(BLD)\dispnew.obj):
3286 ($(BLD)\editfns.obj):
3287 ($(BLD)\fileio.obj):
3288 ($(BLD)\filelock.obj):
3289 ($(BLD)\keyboard.obj):
3290 ($(BLD)\w32proc.obj):
3291 ($(BLD)\process.obj):
3292 ($(BLD)\sysdep.obj): Ditto.
3293
3294 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3295 header files.
52283633
SM
3296 ($(BLD)/dispnew.$(O)):
3297 ($(BLD)/editfns.$(O)):
3298 ($(BLD)/fileio.$(O)):
3299 ($(BLD)/filelock.$(O)):
3300 ($(BLD)/keyboard.$(O)):
3301 ($(BLD)/w32proc.$(O)):
3302 ($(BLD)/process.$(O)):
f6839838
AI
3303 ($(BLD)/sysdep.$(O)): Ditto.
3304
c224f70b
GM
33052001-02-22 Gerd Moellmann <gerd@gnu.org>
3306
51695746
GM
3307 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3308 at the start of the function, check that the \n in it->c is
3309 from the iterator's current position.
52283633 3310
a61b7058
GM
3311 * xdisp.c (handle_single_display_prop): Add parameter
3312 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3313 properties which replace the display of text with something else.
3314 (handle_display_prop): Call handle_single_display_prop with
3315 additional argument saying if we already replaced text display
3316 with something else. Use AREF.
52283633 3317 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3318 (decode_mode_spec_coding): Use AREF and ASIZE.
3319
3473f362
GM
3320 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3321 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3322 * vmstime.h: Files removed.
52283633 3323
2bb58df3
GM
3324 * unexencap.c, unexfx2800.c: Files removed.
3325
c224f70b
GM
3326 * dispnew.c (direct_output_for_insert): Give up if we are showing
3327 a message or just cleared the message because we might need to
3328 resize the echo area window or display an empty echo area.
3329
ffc9ff0c
GM
33302001-02-21 Gerd Moellmann <gerd@gnu.org>
3331
0528abe1
GM
3332 * xdisp.c (redisplay_internal): Do the
3333 mark_window_display_accurate after all windows have been
3334 redisplayed because this call resets flags in buffers which are
3335 needed for proper redisplay.
3336
52283633
SM
3337 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3338 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3339 the old names.
3340
52283633
SM
3341 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3342 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3343
3344 * msdos.h (struct x_output): Rename busy_window to
3345 hourglass_window, busy_p to hourglass_p.
3346
52283633
SM
3347 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3348 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3349
3350 * xfns.c: Rename everything containing *busy_cursor* and similar
3351 to *hourglass*.
3352 (syms_of_w32fns): Rename x-busy-pointer-shape to
3353 x-hourglass-pointer-shape, display-busy-cursor to
3354 display-hourglass, busy-cursor-delay to hourglass-delay.
3355
3356 * w32fns.c: Rename everything containing *busy_cursor* and similar
3357 to *hourglass*.
3358 (syms_of_w32fns): Rename x-busy-pointer-shape to
3359 x-hourglass-pointer-shape, display-busy-cursor to
3360 display-hourglass, busy-cursor-delay to hourglass-delay.
3361
3362 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3363 of its busy_p flag.
3364
3365 * dispextern.h (start_hourglass, cancel_hourglass)
3366 (display_hourglass_p): Renamed from *busy_cursor*.
3367
ab2c5f0a
GM
33682001-02-20 Gerd Moellmann <gerd@gnu.org>
3369
d17e49a8
GM
3370 * keyboard.c (read_char): When an event from unread-command-events
3371 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3372
fa97adf6
GM
3373 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3374 equal to the current buffer.
3375
ab2c5f0a
GM
3376 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3377 nil, otherwise we're left with truncate_lines t when a message
3378 is printed with message-truncate-lines bound to t.
3379
aeac019e
GM
33802001-02-19 Gerd Moellmann <gerd@gnu.org>
3381
c8bc6f65
GM
3382 * window.c (Fmove_to_window_line): Undo last change.
3383 (displayed_window_lines): Call line_bottom_y to determine
3384 the line's bottom position.
3385
3386 * dispextern.h (line_bottom_y): Add prototype.
3387
52283633 3388 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3389 (pos_visible_p): Use it.
3390
980a2d69
GM
3391 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3392 set redisplaying_p to 0 here instead of in Frecursive_edit.
3393 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3394 set redisplaying_p.
3395
52283633 3396 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3397 New variables.
3398 (syms_of_xdisp): Initialize new variables.
3399 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3400 Specbind `inhibit-menubar-update' when updating the menu bar.
3401
65048e97
GM
3402 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3403 safe_run_hooks.
3404
3405 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3406 safe_run_hooks.
3407
a57c4026
GM
3408 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3409 is null.
3410
aeac019e
GM
3411 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3412 to the start of the file.
3413
76846b31
GM
34142001-02-16 Gerd Moellmann <gerd@gnu.org>
3415
f3f053f3 3416 * window.c (set_window_buffer): Fix last change.
52283633 3417
f3f053f3
GM
3418 * window.c (set_window_buffer): Set window's vscroll to 0.
3419
dad75588
GM
3420 * window.c (coordinates_in_window): Increase width of area
3421 where the vertical line can be dragged.
3422
c220b753
GM
3423 * xterm.c (x_set_glyph_string_background_width): Extend the
3424 background face to the end of the drawing area in the text
3425 area, only.
3426
c56b1c1b
GM
3427 * xdisp.c (handle_single_display_prop): Set iterator's position
3428 to where the `display' property starts, like for images.
3429 (dump_glyph): New function.
3430 (dump_glyph_row): Use it. Dump info about marginal areas.
3431
3432 * dispnew.c (direct_output_for_insert): Recognize more cases where
3433 glyphs can be written instead of being inserted.
3434
3435 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3436 the left x-coordinate of the area to shift.
3437
76846b31
GM
3438 * dired.c (directory_files_internal): Set result list to nil
3439 before retrying.
3440
0fc71a77
KH
34412001-02-15 Kenichi Handa <handa@etl.go.jp>
3442
3443 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3444 invalid multibyte sequence, treat *SRC as a character of
3445 eight-bit-graphic.
3446
25078b54
EZ
34472001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3448
3449 * textprop.c (Fset_text_properties): Doc fix.
3450
8399f8a0
GM
34512001-02-15 Gerd Moellmann <gerd@gnu.org>
3452
3453 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3454
9a2a6f73
DL
34552001-02-14 Dave Love <fx@gnu.org>
3456
3457 * coding.c: Doc and message fixes.
3458
bf853fee
AI
34592001-02-14 Andrew Innes <andrewi@gnu.org>
3460
3461 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3462 Emacs frame above the screen size.
3463
78c663d8
GM
34642001-02-14 Gerd Moellmann <gerd@gnu.org>
3465
3466 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3467
7cc9f69f
GM
34682001-02-13 Gerd Moellmann <gerd@gnu.org>
3469
0a411995
GM
3470 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
3471 case that TO ends up beyond ZV after running before-change-functions.
3472
5ddc1b75
GM
3473 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
3474 the selected window if it is showing the buffer in question.
3475
7cc9f69f
GM
3476 * dired.c (directory_files_internal): Initialize errno.
3477 (toplevel): Include errno.h.
3478
2e6621ca
GM
34792001-02-13 Kenichi Handa <handa@etl.go.jp>
3480
3481 * xfaces.c (best_matching_font): New parameter width_ratio.
3482 Multiply avgwidth by width_ratio.
3483 (choose_face_font): Call best_matching_font with width_ratio
3484 calculated from the column width of C.
3485
60222d69
AI
34862001-02-12 Andrew Innes <andrewi@gnu.org>
3487
3488 The following changes are to draw box lines inside characters area
3489 if line-width is negative.
52283633 3490
60222d69
AI
3491 * w32term.c (x_produce_image_glyph): Pay attention to the case that
3492 face->box_line_width is negative.
3493 (x_produce_stretch_glyph): Likewise.
3494 (x_produce_glyphs): Likewise.
3495 (x_estimate_mode_line_height): Likewise.
3496 (x_draw_glyph_string_background): Likewise.
3497 (x_draw_glyph_string_foreground): Likewise.
3498 (x_draw_composite_glyph_string_foreground): Likewise.
3499 (x_draw_glyph_string_box): Likewise.
3500 (x_draw_image_foreground): Likewise.
3501 (x_draw_image_relief): Likewise.
3502 (x_draw_image_foreground_1): Likewise.
3503 (x_draw_image_glyph_string): Likewise.
3504
9804b846
KH
35052001-02-09 Kenichi Handa <handa@etl.go.jp>
3506
3507 The following changes are to draw box lines inside characters area
3508 if line-width is negative.
52283633 3509
9804b846
KH
3510 * xterm.c (x_produce_image_glyph): Pay attention to the case that
3511 face->box_line_width is negative.
3512 (x_produce_stretch_glyph): Likewise.
3513 (x_produce_glyphs): Likewise.
3514 (x_estimate_mode_line_height): Likewise.
3515 (x_draw_glyph_string_background): Likewise.
3516 (x_draw_glyph_string_foreground): Likewise.
3517 (x_draw_composite_glyph_string_foreground): Likewise.
3518 (x_draw_glyph_string_box): Likewise.
3519 (x_draw_image_foreground): Likewise.
3520 (x_draw_image_relief): Likewise.
3521 (x_draw_image_foreground_1): Likewise.
3522 (x_draw_image_glyph_string): Likewise.
3523
3524 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3525 and :line-width can be negative.
52283633 3526 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3527
49be9f70
JR
35282001-02-09 Jason Rumney <jasonr@gnu.org>
3529
3530 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3531 characters the same as ASCII and latin-1.
3532 (x_display_and_set_cursor): Check for the focus frame's selected
3533 window instead of selected_window.
3534 (x_after_update_window_line): Don't clear if frame's internal
3535 border width is zero.
3536 (x_new_font): Don't change a tooltip's size.
3537 (w32_initialize): Set char_ins_del_ok to 1.
3538
3539 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3540 (x_set_font): If font hasn't changed, avoid recomputing
3541 faces and other things.
52283633
SM
3542 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3543 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
3544 (x_create_tip_frame): Prevent changing the tooltip's
3545 background color by specifying a color for the default font
3546 in .Xdefaults.
3547 (Qcancel_timer): New variable.
3548 (syms_of_w32fns): Initialize and staticpro it.
3549 (Fx_hide_tip, Fx_show_tip): Use it.
3550 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3551 the timer.
3552 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3553
3554 * w32.c (init_environment): Duplicate local string before putenv.
3555
555e35d2
SZ
35562001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3557
3558 * charset.c (Fstring): A typo.
3559
19c92c94
KH
35602001-02-09 Kenichi Handa <handa@etl.go.jp>
3561
e47a1c33
KH
3562 * charset.c (Fstring): If all arguments are less than 256, return
3563 a unibyte string.
3564
3565 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3566 return a unibyte string.
3567
19c92c94
KH
3568 * coding.c (code_convert_region): After detecting a coding, if
3569 nothing found, set coding->composing to COMPOSITION_NO.
3570 (decode_coding_string): Likewise.
3571
d8e675f5
SM
35722001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3573
3574 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3575 to avoid overflow.
3576
bd503487
KH
35772001-02-07 Kenichi Handa <handa@etl.go.jp>
3578
3579 * charset.c (parse_str_to_multibyte): New function.
3580
3581 * charset.h (parse_str_to_multibyte): Extern it.
3582
3583 * print.c (print_string): If we are going to print a unibyte
3584 string into a multibyte buffer, convert the string to multibyte by
3585 str_to_multibyte.
3586
a8370d72
AI
35872001-02-06 Andrew Innes <andrewi@gnu.org>
3588
3589 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3590 been created. It seems we can get sent window messages such as
3591 WM_ERASEBKGND before we properly update a frame.
3592
c363a1d6
GM
35932001-02-06 Gerd Moellmann <gerd@gnu.org>
3594
3595 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3596 Avoid some unnecessary cursor positioning.
3597
a08332c0
GM
35982001-02-05 Gerd Moellmann <gerd@gnu.org>
3599
52283633 3600 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3601 (LFACE_AVGWIDTH): New macro.
3602 (LFACEP): Use AREF.
3603 (check_lface_attrs): Check LFACE_AVGWIDTH.
3604 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3605 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3606 (merge_face_vectors): Check LFACE_AVGWIDTH.
3607 (Finternal_make_lisp_face): Use AREF.
3608 (xm_set_menu_resources_from_menu_face)
3609 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3610 (Finternal_lisp_face_empty_p): Use AREF.
3611 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3612 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3613 Compare average widths..
3614 (best_matching_font): Arrange for comparing average widths.
3615
52283633
SM
3616 * dispextern.h (enum lface_attribute_index):
3617 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3618
5cb3c8d4
DL
36192001-02-05 Dave Love <fx@gnu.org>
3620
3621 * puresize.h: Revert last change following loadup.el change.
3622
193fba87
AI
36232001-02-05 Andrew Innes <andrewi@gnu.org>
3624
3625 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3626 invocation of temacs, to work with Windows 2000.
3627 (bootstrap-emacs): Ditto.
3628
e16f52ce
GM
36292001-02-05 Gerd Moellmann <gerd@gnu.org>
3630
7a58ab59
GM
3631 * xterm.c (x_display_and_set_cursor): Check for the focus
3632 frame's selected window instead of selected_window.
3633
e89aaabd
GM
3634 * xdisp.c (try_scrolling): If point is in the line below the
3635 window, make sure to move the iterator at least a canonical
3636 char height down.
3637
52283633 3638 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 3639
789ce875
KH
36402001-02-05 Kenichi Handa <handa@etl.go.jp>
3641
52283633
SM
3642 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3643 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
3644 (ccl_driver): If the CCL program is terminated because of
3645 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3646 destination instead of throwing them away.
3647
20b28f82
GM
36482001-02-02 Gerd Moellmann <gerd@gnu.org>
3649
79fb38c0
GM
3650 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
3651 faces and other things.
3652
20b28f82
GM
3653 * xdisp.c (get_next_display_element): Fix case of empty
3654 display table entry.
3655
5a72551e
EZ
36562001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
3657
eb24d0bf
EZ
3658 * editfns.c (Fconstrain_to_field): Doc fix.
3659
6a3f48c7
EZ
3660 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
3661 into `thoroughly', to make it consistent with the doc string.
3662
5a72551e
EZ
3663 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
3664
01acdb05
GM
36652001-02-01 Gerd Moellmann <gerd@gnu.org>
3666
0353b28f
GM
3667 * search.c (search_buffer): Call set_search_regs with a byte
3668 position, not a character position.
3669
01acdb05
GM
3670 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
3671 minibuffer-only,
3672
e86b5133
EZ
36732001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
3674
3675 * frame.c (Fmodify_frame_parameters): Doc fix.
3676
7442878f
GM
36772001-01-31 Gerd Moellmann <gerd@gnu.org>
3678
01acdb05
GM
3679 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
3680 identifier which is not reserved by Standard C.
52283633 3681
7442878f
GM
3682 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
3683
3684 * window.c (enum window_part): New enumeration.
3685 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
3686 Qright_bitmap_area.
3687 (coordinates_in_window): Return an enumerator from enum
3688 window_part. Fix handling of right scroll bar.
3689 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
3690 `right-fringe' instead of `left-bitmap-area' and
3691 `right-bitmap-area'. Use enumerators from enum window_part
3692 instead of hard-coded integers.
52283633
SM
3693 (check_window_containing, window_from_coordinates):
3694 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3695 (syms_of_window): Replace Qleft_bitmap_area and
3696 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3697
7c132cba
EZ
36982001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3699
3700 * editfns.c (Fformat_time_string): Doc fix.
3701
c359dd9e
SM
37022001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3703
3704 * keymap.c (Fwhere_is_internal): Use the first valid binding
3705 if no ascii binding is found (when firstonly is t).
3706
ce070307
GM
37072001-01-31 Gerd Moellmann <gerd@gnu.org>
3708
b4f30ec5
GM
3709 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3710 instead of Finteractive_p.
3711
3712 * lisp.h (interactive_p): Add prototype.
3713
3714 * eval.c (interactive_p): New function.
3715 (Finteractive_p): Use it.
3716
ce070307
GM
3717 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3718
f57b6e64
DL
37192001-01-31 Dave Love <fx@gnu.org>
3720
d61c7afe
DL
3721 * .gdbinit (hook-run): Define to run xreload.
3722
f57b6e64
DL
3723 * textprop.c (Fset_text_properties): Fix newline in doc string.
3724
eef93f99
GM
37252001-01-30 Gerd Moellmann <gerd@gnu.org>
3726
52283633
SM
3727 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3728 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3729
3730 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3731 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3732 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3733
3734 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3735 height.
3736
d9c1f6f9
DL
37372001-01-30 Dave Love <fx@gnu.org>
3738
3739 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3740 AFTER_POTENTIAL_GC.
3741
e8f044a0
GM
37422001-01-29 Gerd Moellmann <gerd@gnu.org>
3743
52283633
SM
3744 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3745 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3746
8e1db7b3
EZ
37472001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3748
3749 * textprop.c (Fset_text_properties): Doc fix.
3750
4eefd9d2
GM
37512001-01-29 Gerd Moellmann <gerd@gnu.org>
3752
3753 * xdisp.c (forward_to_next_line_start): Remove xassert.
3754
fccb8288
EZ
37552001-01-29 Jason Rumney <jasonr@gnu.org>
3756
4eefd9d2 3757 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3758 returning without releasing it.
3759
76581eab
KH
37602001-01-29 Kenichi Handa <handa@etl.go.jp>
3761
3762 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3763 for '^', '$', and '\0'.
3764
83a96b4d
AC
37652001-01-28 Andrew Choi <akochoi@i-cable.com>
3766
5604ec34
AC
3767 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3768 regex for '^', '$', and '\0'.
3769
83a96b4d
AC
3770 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3771 only if current_sblock has been initialized.
3772
3773 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3774 terminal frame even if it is the only visible frame.
3775
c09a6440
KH
37762001-01-28 Kenichi Handa <handa@etl.go.jp>
3777
3778 * fontset.c (font_family_registry): Even if FONTNAME conform to
3779 XLFD, if it specifies other fields than family and registry,
52283633 3780 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3781 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3782 a signle byte character. Don't set FAMILY part to nil here.
3783 It is handled by the caller choose_face_font.
c09a6440
KH
3784 (Fnew_fontset): Call font_family_registry with FORCE 0.
3785 (Fset_fontset_font): Likewise.
3786
4dcd74e6
GM
37872001-01-27 Gerd Moellmann <gerd@gnu.org>
3788
3789 * xdisp.c (display_line): Don't treat a newline as fitting
3790 on the line.
3791
d2906bf8
GM
37922001-01-26 Gerd Moellmann <gerd@gnu.org>
3793
0130fe1a
GM
3794 * window.c (size_window): Set the window's orig_top to nil when
3795 changing heights, so that a future shrink_mini_window won't
3796 restore a bogus height.
3797
550f0e6a
GM
3798 * frame.c (do_switch_frame): If selected frame has a mini-window,
3799 resize that to exact size.
3800
b7b20fbd
GM
3801 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
3802
a47b7816
GM
3803 * xdisp.c (display_line): Simplify check for glyphs fitting
3804 entirely in the line.
3805
d2906bf8
GM
3806 * xfns.c (xic_style): New variable.
3807 (create_frame_xic): Move static variable to global scope for
550f0e6a 3808 the case that `static' gets defined away.
d2906bf8 3809
73df2b1e
KH
38102001-01-26 Kenichi Handa <handa@etl.go.jp>
3811
3812 * coding.c (decode_coding): Set a flag for inhibiting
3813 inconsistent eol.
3814 (code_convert_region): Always set saved_coding_symbol.
3815 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 3816 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 3817
6613cfc4
GM
38182001-01-25 Gerd Moellmann <gerd@gnu.org>
3819
c5e6e06b
GM
3820 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
3821 XClearArea.
3822
3823 * xterm.c (x_after_update_window_line): Don't clear if frame's
3824 internal border width is zero.
3825 (x_clear_area): New function.
3826 (x_after_update_window_line, x_clear_end_of_line)
3827 (x_scroll_bar_create, x_scroll_bar_set_handle)
3828 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
3829 instead of XClearArea.
3830
3831 * xterm.h (x_clear_area): Add prototype.
3832
6613cfc4
GM
3833 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
3834 which doesn't seem necessary anymore with Lesstif 0.92.
3835
650cc6cc
DL
38362001-01-25 Dave Love <fx@gnu.org>
3837
34ac3367
DL
3838 * puresize.h (BASE_PURESIZE): Up to 720000.
3839
650cc6cc
DL
3840 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
3841
5e37dc22
GM
38422001-01-25 Gerd Moellmann <gerd@gnu.org>
3843
e1e441f9
GM
3844 * xdisp.c (echo_area_display): Don't call redisplay_internal
3845 when Emacs is shutting down. We can't run hooks etc. that
3846 would be necessary to do a redisplay.
3847
5e37dc22
GM
3848 * lread.c (read_integer): Use type EMACS_INT instead of int.
3849
0fb94c7f
EZ
38502001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
3851
3852 * ccl.c (ccl_driver): Fix last change.
3853
e3778624
KH
38542001-01-25 Kenichi Handa <handa@etl.go.jp>
3855
3856 * ccl.h (sturct ccl_program): New member suppress_error.
3857
bb264518 3858 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
3859 insert error message to the output.
3860 (setup_ccl_program): Initialize ccl->suppress_error to 0.
3861
3862 * coding.h (struct coding_system): New member suppress_error.
3863
3864 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
3865 (Fset_terminal_coding_system_internal): Set the member
3866 suppress_error to 1.
3867 (Fset_safe_terminal_coding_system_internal): Likewise.
3868
245ed2b1
SM
38692001-01-24 Stefan Monnier <monnier@cs.yale.edu>
3870
3871 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
3872 as if it was a `charset'.
3873
f9aaedb6
GM
38742001-01-24 Gerd Moellmann <gerd@gnu.org>
3875
3876 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
3877 value in where_is_cache; the next lookup in the cache returns
3878 something bogus if we do.
3879
c3902c3e
EZ
38802001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
3881
3882 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
3883 if HAVE_WINDOW_SYSTEM isn't defined.
3884
3497f73e
GM
38852001-01-24 Gerd Moellmann <gerd@gnu.org>
3886
e7e41584
GM
3887 * fns.c (sweep_weak_table): Fix code taking items out of
3888 the hash collision chain. Some cleanup.
3889
3497f73e
GM
3890 * xterm.c (x_new_font): Don't change a tooltip's size.
3891
3892 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
3893 background color by specifying a color for the default font
3894 in .Xdefaults.
3895
3d48e687
KH
38962001-01-24 Kenichi Handa <handa@etl.go.jp>
3897
96531b20
KH
3898 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
3899 a workaround for SunOS 4's cc.
3900 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
3901 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
3902 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
3903 statement.
3d48e687 3904
a30629d2
GM
39052001-01-23 Gerd Moellmann <gerd@gnu.org>
3906
3907 * xterm.c (x_set_window_size_1): New function extracted from
3908 x_set_window_size.
3909 (x_set_window_size): Use it.
3910 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
3911 doesn't have a widget, like tooltips.
3912
5a43decf
EZ
39132001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
3914
52283633 3915 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 3916
b0e98867
KH
39172001-01-23 Kenichi Handa <handa@etl.go.jp>
3918
3919 * fns.c (Fset_char_table_default): Fix to make sub char-table
3920 correctly.
3921
50606b4c
GM
39222001-01-22 Gerd Moellmann <gerd@gnu.org>
3923
cb2ddc53 3924 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
3925 a desired tool bar string, even if there are no tool bar items.
3926
57c28064
GM
3927 * xdisp.c (Ftool_bar_lines_needed): New function.
3928 (syms_of_xdisp): Defsubr it.
3929
50606b4c
GM
3930 * editfns.c (Fformat): Don't extend text properties from arguments
3931 to padding chars in the result.
3932
2f169c38
EZ
39332001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
3934
3935 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
3936
0f32f023
AI
39372001-01-20 Andrew Innes <andrewi@gnu.org>
3938
52283633 3939 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
3940 (w32_initialize): Don't set term hooks that aren't actually needed
3941 in windowed mode.
3942
3943 * xfaces.c (realize_default_face):
3944 (realize_face):
3945 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
3946
3947 * xdisp.c (handle_single_display_prop): Remove references to
3948 FRAME_W32_CONSOLE_P.
3949
52283633 3950 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
3951
3952 * frame.h (output_method): Remove output_w32_console method.
3953 (FRAME_W32_CONSOLE_P): Remove macro.
3954
3955 * frame.c (Qw32_console): Remove variable.
3956 (Fframep): Remove references to it.
3957 (syms_of_frame): Ditto.
3958 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
3959
3960 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
3961 redefinition.
3962
7173eada
KH
39632001-01-20 Kenichi Handa <handa@etl.go.jp>
3964
3965 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
3966
755b45ce
AI
39672001-01-19 Andrew Innes <andrewi@gnu.org>
3968
3969 * w32.c (init_environment): Add a version-independent site-lisp
3970 directory to EMACSLOADPATH, after the version dependent one.
3971
0a949811
GM
39722001-01-19 Gerd Moellmann <gerd@gnu.org>
3973
8501998a
GM
3974 * editfns.c (Fbuffer_substring): Doc fix.
3975
52283633
SM
3976 * xdisp.c (message_dolog, message2, message2_nolog):
3977 Rename parameter LEN to NBYTES.
0a949811 3978
e6ebcbbe
KH
39792001-01-19 Kenichi Handa <handa@etl.go.jp>
3980
200ecca2
KH
3981 * charset.c (strwidth): Use c_string_width.
3982 (c_string_width): New function.
3983 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
3984 Caller changed.
3985
3986 * charset.h (c_string_width, lisp_string_width): Extern them.
3987
52283633 3988 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 3989
e6ebcbbe
KH
3990 * indent.c (check_composition): Check validity of composition.
3991
200ecca2
KH
3992 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
3993 characters by calling c_string_width.
3994 (x_consider_frame_title): Get byte length of frame tile string
3995 correctly.
3996 (display_mode_element): Pay attention to width of non-ASCII
3997 characters by calling strwidth.
3998
8692ca92
GM
39992001-01-18 Gerd Moellmann <gerd@gnu.org>
4000
8962e303
GM
4001 * xfns.c (Qcancel_timer): New variable.
4002 (syms_of_xfns): Initialize and staticpro it.
4003 (Fx_hide_tip, Fx_show_tip): Use it.
4004 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4005 the timer.
4006 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4007
91523be9
GM
4008 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4009
4010 * window.h (WINDOW_LIVE_P): New macro.
4011
b0b7ed0e
GM
4012 * window.c (window_size_fixed): New variable.
4013 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4014 the doc string.
4015
06bccf8e
GM
4016 * eval.c (specbind): If binding a per-buffer variable which
4017 doesn't have a buffer-local value in the current buffer, change
4018 the global value by changing the value of the symbol bound in all
4019 buffers not having their own value, to make it consistent with
4020 what happens with other buffer-local variables.
4021
8692ca92
GM
4022 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4023
4024 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4025 when searching for a newline.
4026
bb3a3b50
KH
40272001-01-18 Kenichi Handa <handa@etl.go.jp>
4028
4029 * xdisp.c (display_string): Fix previous change.
4030
c2cc16fa
JR
40312001-01-18 Jason Rumney <jasonr@gnu.org>
4032
4033 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4034 GLYPH_DEBUG is defined.
4035 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4036 true for images with `:ascent 100'.
4037 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4038 meantime, use face MOUSE_FACE_ID.
4039 If first glyph isn't a character glyph, use the ASCII NUL
4040 character to determine the face.
4041 (expose_area): Do not treat left margin specially.
4042 (note_mode_line_highlight): If no local_map, check global keymap.
4043 (note_mouse_highlight): Initialize overlay.
52283633 4044 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4045 (show_scroll_bars): Remove unused function.
4046 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4047 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4048 Clip to row.
52283633 4049 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4050 (x_free_frame_resources): Unload relief colors.
4051
9c11f79e
GM
40522001-01-17 Gerd Moellmann <gerd@gnu.org>
4053
3aec8722 4054 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4055 get_next_display_element when the newline is already found.
4056 This may change the iterator's position, when its current position is
3aec8722
GM
4057 equal to the iterator's stop_charpos.
4058
f3ffc2c3
GM
4059 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4060 zero, use this method only at the end of a line.
4061
52283633 4062 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4063 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4064 if SCALABLE_FONTS_P is set.
52283633 4065
d26d6fd9
GM
4066 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4067 so that scalable fonts are included.
4068
9c11f79e
GM
4069 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4070 In the cache, use a key containing the information if scalable
4071 fonts are included.
4072 (x_load_font): Adapt to change of keys in the font cache.
4073
40742001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4075
d26d6fd9
GM
4076 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4077 XListFonts to take advantage of font caching.
4078
9c11f79e
GM
4079 * xterm.c (x_list_fonts): Ensure caching font information when
4080 called for a null frame, which is the case frequently when Emacs
4081 starts.
4082
51446987
GM
40832001-01-17 Gerd Moellmann <gerd@gnu.org>
4084
f864120f
GM
4085 * xfns.c (QCconversion): Replaces QCalgorithm.
4086
4087 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4088
4089 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4090 of :algorithm.
52283633 4091
e37d1417
GM
4092 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4093 not everything could be displayed.
4094
51446987
GM
4095 * line.h, x-list-font.c: Files removed because unused.
4096
9ad4f3e5
AI
40972001-01-17 Andrew Innes <andrewi@gnu.org>
4098
4099 * dired.c (directory_files_internal): Convert result from readdir
4100 to a unibyte string initially, to avoid possible misinterpretation
4101 of some bytes as the internal form of Emacs characters.
4102
2eda09b5
KH
41032001-01-17 Kenichi Handa <handa@etl.go.jp>
4104
4105 * fns.c (concat): Be sure to avoid putting the same `composition'
4106 property on the adjacent regions.
4107
826f3788
GM
41082001-01-16 Gerd Moellmann <gerd@gnu.org>
4109
52283633 4110 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4111 (Fscroll_right, Fscroll_left): Set it here instead, if called
4112 interactively.
4113
d57b83b3
GM
4114 * buffer.c (Fset_buffer_modified_p): Set buffer's
4115 prevent_redisplay_optimizations_p flag.
4116
826f3788 4117 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4118 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4119 with additional arg.
4120
4121 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4122 Change prototype.
826f3788 4123
826f3788
GM
4124 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4125 FROM_WHERE, for debugging.
4126
261d788b
KH
41272001-01-16 Kenichi Handa <handa@etl.go.jp>
4128
4129 * ccl.c (Fregister_ccl_program): Handle the return value of
4130 resolve_symbol_ccl_program correctly.
52283633 4131 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4132
bccee4f2
GM
41332001-01-15 Gerd Moellmann <gerd@gnu.org>
4134
e4ded23c
GM
4135 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4136 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4137
4138 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4139 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4140 the display; we didn't open it.
4141
bccee4f2
GM
4142 * dispnew.c (save_or_restore_current_matrices): Function removed.
4143 (save_current_matrix, restore_current_matrix): New functions.
4144 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4145 restore the frame's current matrix. Due to the glyph pointer
4146 setup done in adjust_glyph_matrix, there is no easy way to make
4147 saving the current matrix in the desired matrix generally correct,
4148 so don't try it.
4149
ebeccffa
KH
41502001-01-15 Kenichi Handa <handa@etl.go.jp>
4151
4152 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4153 truncation glyphs.
4154 (display_line): Optimize for wide characters.
e4ded23c 4155 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4156 partially. On ttys, produce more than one truncation glyph for
4157 multi-column characters that don't fit on the line.
4158
64388126
KH
41592001-01-13 Kenichi Handa <handa@etl.go.jp>
4160
52283633
SM
4161 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4162 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4163
8edb0a6f
JR
41642001-01-13 Jason Rumney <jasonr@gnu.org>
4165
4166 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4167 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4168 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4169 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4170
52283633
SM
4171 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4172 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4173 (x_draw_image_glyph_string): Adapt to change of image margins.
4174
4175 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4176 variables.
4177
4178 * w32bdf.c (search_file_line, get_cached_font_char)
4179 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4180
4181 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4182
4183 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4184 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4185 (Fw32_send_sys_command): Remove unused variables.
4186 (w32_msg_pump): Add parentheses.
4187
4188 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4189 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4190 Add parentheses.
4191
4956d1ef
GM
41922001-01-12 Gerd Moellmann <gerd@gnu.org>
4193
b30623be
GM
4194 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4195 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4196 being a pair of margins.
4197 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4198 to DEFVAR_LISP. Extend doc.
4199
4200 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4201 margins.
4202 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4203 pair of integers `(X . Y)', use X for the horizontal and Y for the
4204 vertical margin.
4205 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4206 (parse_image_spec): Check it.
52283633
SM
4207 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4208 (tiff_format, gif_format, gs_format):
4209 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4210
52283633
SM
4211 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4212 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4213 (x_draw_image_glyph_string): Adapt to the change of image margins.
4214
4215 * dispextern.h (struct image): Replace member `margin' with
4216 `hmargin' and `vmargin'.
4217
4554cc79
GM
4218 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4219 and GLYPHS.
4220
4221 * dispnew.c (update_text_area): Put code which decrements the
4222 stop position when the row's face extends to the end of the
3bffc665 4223 line in #if 0.
4554cc79 4224
3cccce8d
GM
4225 * xfns.c (x_set_mouse_color): Fix color allocation.
4226
4956d1ef
GM
4227 * keyboard.c: Call get_local_map with new argument list.
4228
4229 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4230
4231 * intervals.h (enum map_property): Removed.
4232 (get_local_map): Change prototype.
4233
4234 * keymap.c: Call get_local_map with new argument list.
4235 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4236
2c2ff7f2
GM
42372001-01-11 Gerd Moellmann <gerd@gnu.org>
4238
a23887b9
GM
4239 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4240 of the size needed for the tool bar string. For the last image,
4241 use a `display' property that reaches to the end of the string.
4242
a7ee2d2e
GM
4243 * xselect.c (selection_request_dpyinfo): New variable.
4244 (x_handle_selection_request): Set it.
4245 (x_selection_request_lisp_error): Don't call
4246 x_decline_selection_request if selection request's display has
4247 been closed.
4248
52283633
SM
4249 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4250 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4251
457b792c
GM
42522001-01-10 Dave Love <fx@gnu.org>
4253
4254 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4255 ${SOME_MACHINE_LISP}, not ${lisp}.
4256
c1efd260
GM
42572001-01-10 Gerd Moellmann <gerd@gnu.org>
4258
52283633
SM
4259 * xdisp.c (display_line): On ttys, produce more than one truncation
4260 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4261
ac95a621
GM
4262 * xselect.c (x_reply_selection_request): Add a comment.
4263
c1efd260
GM
4264 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4265 XkbGetNames instead of XkbGetKeyboard.
4266
1bfb1345
DL
42672001-01-10 Dave Love <fx@gnu.org>
4268
4269 * sysdep.c (random): Revert the declaration.
4270
38119822
GM
42712001-01-09 Gerd Moellmann <gerd@gnu.org>
4272
52283633
SM
4273 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4274 Call function string_bytes.
35f464a7
GM
4275 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4276
4277 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4278 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4279 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4280 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4281 the current sblock.
4282 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4283 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4284 after sweeping strings, and at the end.
4285 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4286
38119822
GM
4287 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4288 ensure that pop_message is called.
4289
4290 * keyboard.c (Fexecute_extended_command): Use a
4291 record_unwind_protect to ensure that pop_message is called.
4292
4293 * lisp.h (push_message_unwind): Add prototype.
4294
4295 * xdisp.c (push_message_unwind): New function.
4296
4297 * fileio.c (do_auto_save_unwind): Do the pop_message here
4298 instead of in Fdo_auto_save.
4299 (Fdo_auto_save): Don't call pop_message.
4300
f47a9ec4
KR
43012001-01-08 Ken Raeburn <raeburn@gnu.org>
4302
4303 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4304 in inner block.
4305
a758f97d
GM
43062001-01-08 Gerd Moellmann <gerd@gnu.org>
4307
6d0afc03
GM
4308 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4309 when increasing window's vscroll.
4310
a758f97d
GM
4311 * macros.c (Qkbd_macro_termination_hook): New variable.
4312 (syms_of_macros): Initialize and staticpro it.
4313 (pop_kbd_macro): Run kbd-macro-termination-hook.
4314
4315 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4316
1bfb1345 43172001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4318
4319 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4320 arglist, for documentation's sake.
4321
0dac6924
AI
43222001-01-06 Andrew Innes <andrewi@gnu.org>
4323
4324 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4325 of *.pdb.
4326
8182406a
AI
43272001-01-05 Andrew Innes <andrewi@gnu.org>
4328
4329 * term.c (update_end): Don't check updating_frame; for some reason
4330 this can be 0 sometimes, such as after dismissing a popup menu,
4331 and isn't necessary given the explicit frame argument.
4332
3828218c
GM
43332001-01-05 Gerd Moellmann <gerd@gnu.org>
4334
4335 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4336 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4337
2f5ded21
GM
43382001-01-04 Gerd Moellmann <gerd@gnu.org>
4339
52283633 4340 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4341
4342 * xfns.c (x_create_tip_frame): Preserve the value of
4343 face_change_count around the creation of the tip frame.
52283633 4344
2f5ded21
GM
4345 * xfns.c (last_show_tip_args): New variable.
4346 (compute_tip_xy): New function.
4347 (Fx_show_tip): Reuse an existing tip frame, if possible.
4348 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4349
dfad65fa
DL
43502001-01-04 Dave Love <fx@gnu.org>
4351
64d4ec0f
DL
4352 * editfns.c (Fformat): Doc fix.
4353
dfad65fa
DL
4354 * systime.h (set_file_times): Prototype.
4355
4356 * widget.h (EmacsFrameSetCharSize_): Prototype.
4357
4358 * sysdep.c (random, srandom): Declare explicitly.
4359
4360 * dispextern.h (move_it_vertically_backward): Declare.
4361
85fe3b5e
GM
43622001-01-04 Gerd Moellmann <gerd@gnu.org>
4363
0f2ac578
GM
4364 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4365 like in Fx_create_frame.
4366
482cca61
GM
4367 * xfaces.c (set_font_frame_param): Don't do anything for
4368 non-graphical frames.
4369
85fe3b5e
GM
4370 * window.c (Fdelete_other_windows): Set window's window_end_valid
4371 to nil when changing the window's start. Don't change the
4372 window's start when its top position hasn't changed. If we do,
4373 this will set the window's optional_new_start, which act's like a
4374 force_start during redisplay with C-x 1 M-> under particular
4375 circumstances (see report from Per Starback to emacs-pretest-bug
4376 from 2000-12-13.).
4377
3e99d3b4
GM
43782001-01-03 Gerd Moellmann <gerd@gnu.org>
4379
a77dc1ec
GM
4380 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4381 short cut at the start of the function. Add an assertion.
4382 (reseat_at_next_visible_line_start): Add an assertion.
4383
2f3cad6c
GM
4384 * window.c (Frecenter): When changing the window start, set the
4385 window's window_end_valid to nil.
4386 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4387
4388 * dispextern.h (move_it_past_eol): Add prototype.
4389
4390 * xdisp.c (move_it_past_eol): New function.
4391
3e99d3b4
GM
4392 * window.c (Fwindow_end): Doc fix.
4393
43942001-01-03 Dave Love <fx@gnu.org>
4395
52283633 4396 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4397
bafb434c
GM
43982001-01-03 Gerd Moellmann <gerd@gnu.org>
4399
4400 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4401 the enabled_p flag of the glyph row at window_end_vpos to 0.
4402 (handle_single_display_prop): Fix last change.
4403
5297fb00
RS
44042001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4405
4406 * window.c (Frecenter): Doc fix.
4407
13d6a61c
AI
44082001-01-02 Andrew Innes <andrewi@gnu.org>
4409
4410 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4411
4412 * frame.h (output_method): Add output_w32_console method.
4413 (FRAME_W32_CONSOLE_P): New macro.
4414
4415 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4416 use output_w32_console method.
4417 (Qw32_console): New Lisp_Object.
4418 (Fframep): Return it.
4419 (syms_of_frame): Init it.
52283633 4420 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4421
4422 * xfaces.c (realize_default_face): Set face foreground and
4423 background to unspecified for w32_console frames.
4424 (realize_face): Realize face cache for w32_console frames.
4425 (realize_tty_face): Accept w32_console frames.
4426
52283633 4427 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4428 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4429 necessary, even if running interactively.
4430
4431 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4432 w32_console frames.
4433
52283633
SM
4434 * w32term.c (x_update_begin):
4435 (x_update_end):
4436 (x_clear_frame):
4437 (x_ins_del_lines):
4438 (x_change_line_highlight):
4439 (x_delete_glyphs):
4440 (w32_ring_bell):
4441 (x_update_begin):
4442 (x_update_end):
4443 (w32_reassert_line_highlight):
4444 (w32_frame_rehighlight):
13d6a61c
AI
4445 (w32_frame_raise_lower): Do nothing if not w32 frame.
4446
4447 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4448
4449 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4450 system doesn't tell us directly.
4451 (Fx_display_visual_class): Implement properly.
4452
d6bb0c0d
GM
44532001-01-02 Gerd Moellmann <gerd@gnu.org>
4454
4455 * window.c (Frecenter): Handle centering in graphical frames
4456 specially. Centering on the basis of line counts doesn't work
4457 reliably with variable-height lines.
52283633 4458
315f5865
EZ
44592001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4460
4461 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4462 and al[].
4463
52283633 4464 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
4465 (update_compositions): Remove unused variable `hook'.
4466
4467 * intervals.c (get_local_map): Remove unused variable `tem'.
4468
4469 * doprnt.c (doprnt1): Remove unused variable `size'.
4470
4471 * fns.c (Flength): Remove unused variable `tail'.
4472 (Fdelete): Remove unused variable `size'.
4473
4474 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
4475 and `gcpro2'.
4476
52283633 4477 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
4478
4479 * data.c (find_symbol_value): Remove extra 3rd argument in the
4480 call to swap_in_symval_forwarding.
4481
52283633 4482 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
4483
4484 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
4485 (trivial_regexp_p): Remove unused variable `c'.
4486 (boyer_moore): Remove unused variable `k'.
4487
4488 * indent.c (current_column): Remove unused variable `stopchar'.
4489 (Fcompute_motion): Remove unused variable `contin'.
4490
4491 * casefiddle.c (casify_object): Remove unused variable `tolen'.
4492
4493 * dired.c (directory_files_internal): Fix a typo in a comment.
4494 Remove an unused variable `handler'.
52283633 4495 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
4496 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
4497 on BSD4_2.
4498
52283633 4499 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
4500
4501 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
4502 and `buf'.
4503 (Fmarker_insertion_type): Remove unused variable `buf'.
4504
4505 * insdel.c (make_gap): Remove unused variable `result'.
4506
52283633 4507 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
4508 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
4509 (menu_bar_items): Remove unused function-scope variable `tem'.
4510
4511 * fontset.c (fontset_ref): Remove unused variable `i'.
4512 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 4513 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
4514 (make_fontset_for_ascii_face): Remove unused variable `name'.
4515 (fs_load_font): Remove unused variable `font_idx'.
52283633 4516 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
4517 (list_fontsets): Remove unused variable `tail'.
4518 (Fnew_fontset): Remove unused variables `family' and `registry'.
4519 (accumulate_font_info): Remove unused variable `tmp'.
4520 (Ffontset_font): Remove unused variable `id'.
4521 (syms_of_fontset): Remove unused variable `i'.
4522
4523 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4524 to x_term_init.
4525 (lookup_image): Remove unused variable `file'.
4526 (xbm_load): Remove unused variables `bitmap_data', `height', and
4527 `width'. Remove function-local variable `i', leave the
4528 block-local one.
4529 (gif_load): Remove unused variable `inc'.
4530
52283633 4531 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4532 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4533 leave only the one in the inner block.
4534
4535 * xfaces.c (face_fontset, realize_default_face): Remove unused
4536 variable `fontset'.
4537 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4538
4539 * term.c (encode_terminal_code): Remove unused variable `c'.
4540
4541 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4542 char *' instead of `char *'.
4543
4544 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 4545 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
4546 (Fchar_category_set): Remove unused variables `val', `charset',
4547 `c1' and `c2'.
4548
52283633
SM
4549 * coding.c (detect_coding_iso2022, setup_coding_system):
4550 Remove unused variable `i'.
315f5865
EZ
4551 (detect_coding_mask): Remove unused variable `idx'.
4552 (detect_coding): Remove unused variable `i'.
4553 (ccl_coding_driver): Remove unused variable `result'.
4554 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 4555 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
4556 (encode_coding_string): Remove unused variables `gcpro1' and
4557 `saved_coding_symbol'.
4558 (Ffind_coding_systems_region_internal): Remove function-local
4559 variable args[], leave only the block-local one.
4560 (code_convert_region1): Remove unused variable `len'.
4561
4562 * charset.c (char_printable_p): Remove unused variable `chars'.
4563 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4564 (str_to_multibyte): Remove unused variable `c'.
4565
4566 * window.c (size_window): Remove block-local variable `min_size'.
4567
4568 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4569 `header_line_height'.
4570 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4571 enum display_element_type.
4572
1a8a9daf
GM
45732001-01-02 Gerd Moellmann <gerd@gnu.org>
4574
6dde6abc 4575 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4576 statements that call X. Save away the error message in a local copy.
4577
1883b2c6
GM
4578 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4579 the start.
4580
a13be207
GM
4581 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4582 in or at the start of invisible text.
4583
1a8a9daf
GM
4584 * dispnew.c (update_window): Don't check_current_matrix_flags.
4585
3608c0f9
JR
45862001-01-01 Jason Rumney <jasonr@gnu.org>
4587
4588 * w32fns.c (x_figure_window_size): Do not allow new_height and
4589 new_width of frame to override specified values.
4590
abb1acc4
KH
45912000-12-30 Kenichi Handa <handa@etl.go.jp>
4592
52283633 4593 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4594
762a68ec
GM
45952000-12-29 Gerd Moellmann <gerd@gnu.org>
4596
52283633 4597 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4598 (update_window) [GLYPH_DEBUG]: Call it.
4599 (scrolling_window): Prevent including current rows which are below
4600 what's displayed in the window.
4601
4602 * xdisp.c (try_window_reusing_current_matrix)
4603 <new start <= old start>: Disable rows in the current matrix
4604 which are below the window after scrolling.
52283633 4605
762a68ec
GM
4606 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4607 is zero. It's not worth the complexity.
4608 (invisible_text_between_p): Put in #if 0 because unused.
4609
2d5912c1
GM
46102000-12-28 Gerd Moellmann <gerd@gnu.org>
4611
46f6a258
GM
4612 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4613 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4614
89f93679
GM
4615 * keyboard.c (echo_char): If C is an integer, always call
4616 push_key_description. Former code could signal an invalid
4617 character error.
4618
4619 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4620 If set, print multibyte text.
4621 (Fsingle_key_description): Call push_key_description with
4622 FORCE_MULTIBYTE set.
4623 (describe_buffer_bindings): Likewise.
4624
4625 * lisp.h (push_key_description): Add prototype.
4626
c06017fb
GM
4627 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4628 around the call to redisplay_internal.
4629
f1d2ce7f
GM
4630 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4631
2d5912c1
GM
4632 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4633
9371f831
KH
46342000-12-28 Kenichi Handa <handa@etl.go.jp>
4635
4636 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4637 (ccl_driver): New local variable `extra_bytes'.
4638
4639 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4640
52283633
SM
4641 * coding.c (setup_coding_system):
4642 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
4643 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4644
0c80628a
KH
46452000-12-28 Kenichi Handa <handa@etl.go.jp>
4646
4647 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4648 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4649 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
4650 (decode_composition_emacs_mule): New function.
4651 (decode_coding_emacs_mule): Decode composition sequence by calling
4652 decode_composition_emacs_mule.
4653 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
4654 (encode_coding_emacs_mule): Changed from macro to function.
4655 If a text contains compositions, encode them correctly.
0c80628a
KH
4656 (setup_coding_system): Set coding->commong_flags for emacs-mule so
4657 that decoding and encoding are required.
4658
3e32cc27
GM
46592000-12-27 Gerd Moellmann <gerd@gnu.org>
4660
5e25feee
GM
4661 * xfaces.c (PT_PER_INCH): New macro.
4662 (xlfd_point_size): Compute real point size from font's pixel size.
4663 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
4664 instead of 72.
4665
892d8fcd
GM
4666 * .gdbinit: Comment out the line pointing to the Lesstif source
4667 directory.
4668
12c8b416
GM
4669 * window.c (Frecenter): Use displayed_window_lines instead
4670 of window_internal_height.
4671
6061fbf0
GM
4672 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4673 instead of x-toolkit-scroll-bars-p.
4674 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
4675
4676 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4677 instead of x-toolkit-scroll-bars-p.
4678 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 4679
3e32cc27
GM
4680 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
4681 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
4682 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
4683 New variables.
4684 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
4685 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
4686 (build_frame_matrix_from_leaf_window): Remove unused code.
4687 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
4688 redisplay history.
4689 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
4690 (update_window) [GLYPH_DEBUG]: Likewise.
4691 (syms_of_display): Defsubr dump-redisplay-history.
4692
31798cfe
GM
46932000-12-23 Gerd Moellmann <gerd@gnu.org>
4694
f717c2ba
GM
4695 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4696 the end of the prompt. Set echo_after_prompt to the offset
4697 of echoptr in echobuf.
4698
aeb2b8fc
GM
4699 * xdisp.c (init_from_display_pos): Pop until the iterator's
4700 stack is empty; there may be frames for stretch or images
4701 on the stack.
4702
31798cfe
GM
4703 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4704 (save_or_restore_current_matrix): New function for the same
4705 purpose, but more efficient.
4706 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4707
f8156156
EZ
47082000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4709
4710 * xdisp.c (syms_of_xdisp): Fix last change.
4711
bdd6d4e8
GM
47122000-12-23 Gerd Moellmann <gerd@gnu.org>
4713
4714 * xdisp.c (syms_of_xdisp): Doc fix.
4715
4716 * xdisp.c (redisplay_window): Remove label restore_buffers;
4717 use finish_scroll_bars instead to make sure that scroll bars
4718 are redeemed. If we don't do this, flickering can result from
4719 scroll bars being destroyed and recreated.
4720
9436cdf9
JR
47212000-12-22 Jason Rumney <jasonr@gnu.org>
4722
4723 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4724 in the wrong colors when the foreground is not black.
4725 (expose_window): Don't redraw the window that's currently being
4726 updated.
4727
951f9df5
GM
47282000-12-22 Gerd Moellmann <gerd@gnu.org>
4729
856ff7a7
GM
4730 * window.c (size_window): When setting the window's too_small_ok
4731 flag, compare old size with minimum size depending on WIDTH_P,
4732 don't compare with window_min_width.
52283633 4733
951f9df5
GM
4734 * window.c (delete_window): Simplify somewhat.
4735 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4736 freeing window matrices. The flag windows_or_buffers_changed is
4737 set, so the next redisplay will consider all windows; this should
4738 suffice.
4739
886bc933
KH
47402000-12-22 Kenichi Handa <handa@etl.go.jp>
4741
4742 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4743
4744 * ccl.h (struct ccl_program): New member cr_consumed.
4745
4746 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4747 (CCL_READ_CHAR): Handle EOL conversion here.
4748 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4749
177f4e88
GM
47502000-12-21 Gerd Moellmann <gerd@gnu.org>
4751
52283633 4752 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4753
4754 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4755 otherwise tabs of different size compare equal.
4756
4757 * callint.c (Fcall_interactively): Prevent a compiler warning.
4758
4759 * print.c (print_unwind): Return nil.
4760 (PRINTDECLARE): Initialize all local variables.
4761 (print_preprocess): Add a default case.
4762
8e15274f
GM
4763 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4764
4765 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4766
52283633 4767 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4768 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4769
4770 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4771
4772 * dispnew.c (ensure_frame_matrix): Removed.
4773 (save_frame_matrix, restore_frame_matrix): New functions.
4774 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4775
4776 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4777 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4778
99012074
AI
47792000-12-21 Andrew Innes <andrewi@gnu.org>
4780
4781 * w32term.c (x_update_begin): Regenerate the palette here, rather
4782 than for each window.
4783
4784 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4785 palette is NULL, since this corrupts memory! Also get
4786 display_info reference from frame.
4787
29ef7d2d
JR
47882000-12-21 Jason Rumney <jasonr@gnu.org>
4789
4790 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
4791
4792 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
4793 to avoid returning without releasing it.
3e27fa1f 4794
3f9d67a6
KH
47952000-12-21 Kenichi Handa <handa@etl.go.jp>
4796
587fc3f9
KH
4797 * keymap.c (push_key_description): Don't convert eight-bit-control
4798 and eight-bit-graphic to multibyte character.
4799
3f9d67a6
KH
4800 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
4801 generic character and CODE1 is nil, return the smallest character
4802 in CHARSET.
4803
774ba8c9
DL
48042000-12-20 Dave Love <fx@gnu.org>
4805
4806 * s/osf5-0.h (NSIG): Don't redefine.
4807
88416888
SM
48082000-12-20 Stefan Monnier <monnier@cs.yale.edu>
4809
4810 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
4811 excluding menu-bar and tool-bar.
4812 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
4813 (menu_item_p): Remove.
4814 (where_is_internal_1): Don't ignore menu-items.
4815
a6426c6f
GM
48162000-12-20 Gerd Moellmann <gerd@gnu.org>
4817
03ff8aab
GM
4818 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
4819 into account.
4820
4821 * window.c (make_window): Initialize window's min_hscroll.
4822 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
4823 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
4824 to zero.
4825 (struct saved_window): New member min_hscroll.
4826 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
4827 (Fset_window_configuration): Set window's min_hscroll.
4828 (save_window_save): Save window's min_hscroll.
4829 (compare_window_configurations): Compare min_hscroll values.
4830
4831 * window.h (struct window): New member min_hscroll.
4832
4833 * keyboard.c (echo_prompt): Prevent a compiler warning.
4834
8de4aaf8
GM
4835 * xdisp.c (try_cursor_movement): Fix last change. The real
4836 condition is that PT is at the end of the row, and should
4837 be displayed at the start of the next row.
52283633 4838
3f7e3031
GM
4839 * xdisp.c (try_cursor_movement): If we end on a partially
4840 visible line, end we already decided to scroll, return -1.
4841
a6426c6f
GM
4842 * dispextern.h (ensure_frame_matrix): Add prototype.
4843
4844 * window.c (delete_window, Fsplit_window)
4845 (Fset_window_configuration): Call ensure_frame_matrix.
4846
52283633
SM
4847 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
4848 New functions.
a6426c6f
GM
4849 (adjust_frame_glyphs_for_frame_redisplay): If display has been
4850 completed, call fake_current_matrices instead of marking frame
4851 garbaged.
4852
57fa2774
JR
48532000-12-20 Jason Rumney <jasonr@gnu.org>
4854
4855 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
4856
d925df90
EZ
48572000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
4858
4859 * fns.c (Frequire): Doc fix.
4860
7b93a85b
GM
48612000-12-19 Gerd Moellmann <gerd@gnu.org>
4862
52283633 4863 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 4864
c74e645b
GM
4865 * dispnew.c (direct_output_for_insert): Fix check for mini-window
4866 currently displaying a message.
4867
7b93a85b
GM
4868 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
4869 xterm.h.
4870 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
4871
90d97e64
AI
48722000-12-18 Andrew Innes <andrewi@gnu.org>
4873
4874 * w32.c (w32_strerror): New function.
4875
4876 * w32.h (w32_strerror): New extern.
4877
4878 * w32fns.c (Fw32_shell_execute): Use it.
4879
91c9e6ce
GM
48802000-12-18 Gerd Moellmann <gerd@gnu.org>
4881
4882 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
4883
6f4745e2
EZ
48842000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4885
4886 * msdos.c (IT_set_face): Obey inverse_video.
4887
c9e088ce
KH
48882000-12-18 Kenichi Handa <handa@etl.go.jp>
4889
4890 * dired.c (directory_files_internal): Always return decoded filenames.
4891
c3695f5f
GM
48922000-12-18 Gerd Moellmann <gerd@gnu.org>
4893
52d8e4ff
GM
4894 * xterm.c (x_connection_closed): Prevent being called recursively
4895 because of an error condition in XtCloseDisplay.
52283633 4896
62be9979
GM
4897 * xdisp.c (init_iterator): If noninteractive, and the frame's
4898 face cache is null, make one.
4899
52283633 4900 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 4901
c3695f5f
GM
4902 * process.c (wait_reading_process_input): Check for pending
4903 input when running timers.
4904
78555fbe
EZ
49052000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4906
52283633 4907 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 4908
b2b36264
KH
49092000-12-18 Kenichi Handa <handa@etl.go.jp>
4910
4911 * process.c (read_process_output): Don't run a filter if the code
4912 decoder produces nothing but carryover.
4913
9c543fbf
AI
49142000-12-17 Andrew Innes <andrewi@gnu.org>
4915
4916 * w32.c (sys_rename): Only check errno against EEXIST, and not
4917 EACCES, when determining whether rename failed because the target
4918 exists. This was resulting in indefinite looping on Windows 9x if
4919 the source file was locked by another process.
4920
4921 * w32fns.c (Ffile_system_info): New function.
4922 (syms_of_w32fns): Defsubr it.
4923
10c2b5a8
GM
49242000-12-17 Gerd Moellmann <gerd@gnu.org>
4925
b0228ace
GM
4926 * window.c (coordinates_in_window): Fix computation for
4927 position on vertical line between mode lines.
4928
10c2b5a8
GM
4929 * xfns.c (unwind_create_frame): Return t if frame was deleted.
4930 Don't alter tip_frame or tip_window.
4931 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4932 was deleted.
4933
c844a81a
GM
4934 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
4935 Don't alter tip_frame or tip_window.
4936 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4937 was deleted.
4938
6c825f8e
EZ
49392000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
4940
4941 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
4942 be consistent with the doc string. Reported by NAKAJIMA Mikio
4943 <minakaji@osaka.email.ne.jp>.
4944
af4bb4c8
KH
49452000-12-16 Kenichi Handa <handa@etl.go.jp>
4946
4947 * xfaces.c (Vface_ignored_fonts): New variable.
4948 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
4949 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
4950
8062e53a
GM
49512000-12-15 Gerd Moellmann <gerd@gnu.org>
4952
e87b8809
GM
4953 * dispnew.c (update_window): Detect pending input every nth line
4954 updated, i.e. do it depending on real work done, and not on the
4955 vpos of the line.
4956
4957 * xterm.c (expose_window): Don't redraw the window that's
4958 currently being updated.
4959
a6768cc5
GM
4960 * window.c (Fset_window_point): Remove test for
4961 cursor_in_non_selected_windows.
4962
4ea7fdca
GM
4963 * lread.c (read1): Recognize end of file after `\\'.
4964
8062e53a
GM
4965 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
4966 not unwind_create_frame.
4967
bb7959c1
GM
49682000-12-15 Dave Love <fx@gnu.org>
4969
4970 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
4971 bcopy & al.
4972
4973 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
4974
ced04c42
KH
49752000-12-15 Kenichi Handa <handa@etl.go.jp>
4976
c5443913
KH
4977 * coding.c (setup_coding_system): Clear all members of the struct
4978 coding_system at first.
bc137305
KH
4979 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
4980 argument.
4981 (code_convert_region): Don't override coding->src_multibyte and
4982 coding->dst_multibyte.
c5443913 4983
ced04c42
KH
4984 * fns.c (Fmd5): Docstring improved.
4985
c2d7f289
MB
49862000-12-15 Miles Bader <miles@gnu.org>
4987
4988 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
4989 are actually marked as mode-lines; otherwise use
4990 estimate_mode_line_height.
4991
9d7d9263
GM
49922000-12-14 Gerd Moellmann <gerd@gnu.org>
4993
4994 * editfns.c (Fformat): Prevent a buffer overrun when the format
4995 specifies a precision.
4996
7cf0153a
EZ
49972000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
4998
4999 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5000 argument is outside the range [2..3].
5001
1de0f662
AI
50022000-12-14 Andrew Innes <andrewi@gnu.org>
5003
5004 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5005 nothing to do. Bind inhibit-quit.
5006 (tip_frame): Make it a Lisp_Object.
5007 (x_create_tip_frame): Set tip_frame after it has been added to
5008 Vframe_list.
5009 (Fx_show_tip): Don't set tip_frame here.
52283633 5010 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5011 (unwind_create_frame, unwind_create_tip_frame): New functions.
5012 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5013 while a frame is only partially constructed.
5014
5015 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5016 (x_free_frame_resources): New function.
5017 (x_destroy_window): Use it.
5018
02387dcc
GM
50192000-12-14 Gerd Moellmann <gerd@gnu.org>
5020
5021 * xfns.c (Fx_backspace_delete_keys_p): New function.
5022 (syms_of_xfns): Defsubr it.
5023
5024 * config.in (HAVE_XKBGETKEYBOARD): Add.
5025
0544ef49
KH
50262000-12-14 Kenichi Handa <handa@etl.go.jp>
5027
98d62747
KH
5028 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5029 Always store string in multibyte representation in echobuf.
5030 (echo_char): Always store string in multibyte representation in
5031 echobuf.
5032 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5033 (read_key_sequence): Adjusted for the change of echo_prompt.
5034
a20193cd
KH
5035 * fns.c (Fmd5): Docstring improved.
5036
191b83b6
KH
5037 * lisp.h (detect_coding_system): Prototype adjusted.
5038
0544ef49
KH
5039 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5040 (detect_coding_emacs_mule, detect_coding_iso2022,)
5041 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5042 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5043 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5044 (detect_coding_mask, detect_coding_system): New argument
5045 MULTIBYTEP. Callers changed.
1da1bb05
KH
5046 (decode_coding_string): Set coding->src_multibyte and
5047 coding->dst_multibyte before calling detect_coding and detect_eol.
5048 Update them after some coding system is detected.
52283633 5049
d5b3eb1b
SM
50502000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5051
5052 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5053
5054 * keyboard.c (menu_bar_items, tool_bar_items):
5055 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5056
f7f8bb69
GM
50572000-12-13 Gerd Moellmann <gerd@gnu.org>
5058
52283633 5059 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5060 New variables.
5061 (unwind_create_frame, unwind_create_tip_frame): New functions.
5062 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5063 while a frame is only partially constructed.
5064
5065 * xterm.h (x_free_frame_resources): Declare.
5066
5067 * xterm.c (x_free_frame_resources): New function.
5068 (x_destroy_window): Use it.
5069
e10da507
GM
5070 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5071 don't interrupt the update for pending input initially, i.e.
5072 update at least some lines.
5073
5074 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5075
d5b3eb1b 5076 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5077
5078 * xfns.c (gray_bitmap_bits): Declare `char *'.
5079
90aa2856
GM
50802000-12-12 Gerd Moellmann <gerd@gnu.org>
5081
5082 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5083 lines start with a relief line.
5084
a308c9cd
DL
50852000-12-12 Dave Love <fx@gnu.org>
5086
5087 * window.c (Fdisplay_buffer): Doc fix.
5088 (Fwindow_list): Remove unused var.
5089
5090 * buffer.h (mmap_set_vars): Declare.
5091
5092 * window.h (Fset_window_point): Declare.
5093
d575011f
EZ
50942000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5095
bf6282d2 5096 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5097 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5098 variable `area'. When looking for a row under (X,Y), give up if some
5099 of the previous rows is not enabled.
d575011f 5100
ecf4d726
GM
51012000-12-12 Gerd Moellmann <gerd@gnu.org>
5102
2ebf6139
GM
5103 * window.c (Fset_window_point): If displaying cursors in windows
5104 other than the selected window, make sure redisplay updates
5105 other windows to show the new value of point in the window.
5106
5107 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5108
bfdb75ee
GM
5109 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5110 the buffer is the sole visible buffer when in the mini-buffer.
5111
52283633 5112 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5113 Bind `inhibit-read-only' to t.
5114 (unwind_with_echo_area_buffer): Use AREF.
5115
c0006262
GM
5116 * xfns.c (Fx_hide_tip): Simplified.
5117
52283633
SM
5118 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5119 instead of `1'.
e9a59cad 5120
ecf4d726
GM
5121 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5122
e5959a9a
GM
51232000-12-11 Gerd Moellmann <gerd@gnu.org>
5124
a3642e49 5125 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5126
44b5a125
GM
5127 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5128 nothing to do. Bind inhibit-quit.
5129 (tip_frame): Make it a Lisp_Object.
5130 (x_create_tip_frame): Set tip_frame after it has been added to
5131 Vframe_list.
5132 (Fx_show_tip): Don't set tip_frame here.
5133
5134 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5135
5136 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5137 Lisp_Object.
5138
5139 * dispextern.h: Change external declaration of tip_frame.
5140
d990421f
GM
5141 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5142 return an empty string.
5143
4db87380
GM
5144 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5145 of the window's update_mode_line flag, since the former is set by
5146 force-mode-line-update, not the latter. This makes
5147 column-number-mode slightly faster.
52283633 5148
e5959a9a
GM
5149 * xdisp.c (try_window_id) <all changes above window start>:
5150 Set the cursor.
5151
169fe44e
GM
51522000-12-11 Paul Eggert <eggert@twinsun.com>
5153
5154 * config.in (HAVE_FTELLO): Remove.
5155 (HAVE_FSEEKO): Add.
5156 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5157 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5158 HAVE_FTELLO.
5159 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5160 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5161
59ec59ae
MB
51622000-12-11 Miles Bader <miles@gnu.org>
5163
5164 * window.c (displayed_window_lines): Don't round up when
5165 converting empty space at bottom to lines.
ff904dd6
MB
5166 Handle non-newline-terminated final lines properly.
5167 (Fwindow_text_height): New function (used to be in lisp).
5168 (syms_of_window): Initialize it.
59ec59ae 5169
42ebfa31
SM
51702000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5171
5172 * syntax.c (scan_lists): Check that the right quote char has the
5173 right Sstring syntax when jumping over strings.
5174 (init_syntax_once): Use Smax rather than 13.
5175
5cdb3cf3
MB
51762000-12-09 Miles Bader <miles@gnu.org>
5177
5178 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5179 with PARTIALLY, inverting the sense.
5180 (window_scroll_pixel_based): Scroll partially visible lines into
5181 place if we hit the beginning or end of the buffer.
a12167c5
MB
5182 (displayed_window_lines): Don't include partially visible lines.
5183 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5184
842b2a94
GM
51852000-12-08 Gerd Moellmann <gerd@gnu.org>
5186
5187 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5188
5189 * tparam.c (tparam1): Change the way buffers are reallocated to be
5190 portable and less obfuscated.
5191
5192 * termcap.c (tgetent): Change the way buffers are reallocated to
5193 be portable and less obfuscated.
5194
5195 * macros.c (store_kbd_macro_char): Change the way buffers are
5196 reallocated to be portable and less obfuscated.
5197
5198 * lread.c (read1): Change the way buffers are reallocated to be
5199 portable and less obfuscated.
5200
5201 * doc.c (Fsubstitute_command_keys): Change the way buffers
5202 are reallocated so that it is portable.
5203
137cad7c
EZ
52042000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5205
5206 * dosfns.c (Ffile_system_info): New function.
5207 (syms_of_dosfns): Defsubr it.
5208
5c7f629c
SM
52092000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5210
5211 * alloc.c (gc_sweep): Add comment.
5212
959e647d
GM
52132000-12-07 Gerd Moellmann <gerd@gnu.org>
5214
52283633
SM
5215 * sound.c (vox_configure): Change order of ioctls.
5216 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5217 Ignore errors when changing volume.
5218 (vox_close): Don't reset the device.
5219
926b7e5e
GM
5220 * process.c (read_process_output): Make sure the process marker's
5221 position is valid when the process buffer is changed in
5222 after-change functions. W3 does that.
52283633 5223
959e647d
GM
5224 * xfns.c (x_free_gcs): New function.
5225
5226 * xterm.h (x_free_gcs): Add prototype.
5227
5228 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5229 freeing GCs here.
5230
5231 * xterm.c (x_destroy_window): Call x_free_gcs so that
5232 resources of non-toolkit X windows will be freed.
5233
478ea067
AI
52342000-12-07 Andrew Innes <andrewi@gnu.org>
5235
5236 * w32fns.c (xlfd_charset_of_font): Fix last change.
5237
fbee3231
DL
52382000-12-06 Dave Love <fx@gnu.org>
5239
67292061
DL
5240 * md5.h (__P): Don't define -- it comes from config.h.
5241
fbee3231
DL
5242 * strftime.c: Change some #if foo to #ifdef foo.
5243
4ee87dbb
AI
52442000-12-06 Andrew Innes <andrewi@gnu.org>
5245
5246 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5247
52283633 5248 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5249 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5250 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5251
9765b4a4
GM
52522000-12-06 Gerd Moellmann <gerd@gnu.org>
5253
d285b373
GM
5254 * alloc.c (gc_sweep): Prevent symbols read during loadup
5255 from being freed.
5256
384333ee
GM
5257 * xdisp.c (underlying_face_id): New function.
5258 (handle_face_prop, face_before_or_after_it_pos): Use it
5259 to determine the face ``under'' a string. Let strings inherit
5260 the face of the buffer under them.
5261
5262 * xfaces.c (face_at_string_position): Update function comment.
52283633 5263
d4b72d58
GM
5264 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5265 matrix if the window's left position has changed; we need to
5266 redraw it in this case.
5267
5268 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5269
e1d05387
GM
5270 * window.c (coordinates_in_window): Check mouse on mode-line or
5271 header-line first.
5272
eb1b0c74
GM
5273 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5274 advertized by the function documentation.
5275
d94d636f
GM
5276 * window.c (syms_of_window): Doc fix.
5277
3887b449
GM
5278 * sound.c (vox_configure): Set volume for left and right channel.
5279 (sound_cleanup): Return nil.
5280
efc8f57a
GM
5281 * xdisp.c (move_it_by_lines): Fix paren typo.
5282
9765b4a4
GM
5283 * xterm.c (x_load_font): Don't use the font's max_bounds for
5284 computing the height of the font. If max_bounds' ascent or
5285 descent are greater than the font's ascent or descent, this means
5286 glyphs overlap, which should be handled now by redisplay.
5287
6529ed87
GM
5288 * window.c (Veven_window_heights): New variable.
5289 (syms_of_window): DEFVAR_LISP it.
5290 (Fdisplay_buffer): Check Veven_window_heights before evening the
5291 window heights.
52283633 5292
0eb2ecde
MB
52932000-12-06 Miles Bader <miles@gnu.org>
5294
5295 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5296 update `default-frame-alist' instead of setting no frame parameters.
5297
03d7a167
KH
52982000-12-06 Kenichi Handa <handa@etl.go.jp>
5299
5300 * composite.c (update_compositions): Fix typo (use the correct
5301 variable).
5302
5f8803c2
JR
53032000-12-05 Jason Rumney <jasonr@gnu.org>
5304
5305 * md5.h: Remove underscores from function declarations.
5306 (__attribute__, __alignof__) [!__GNUC__]: Define.
5307
5308 * md5.c: Delay include of md5.h until after namespace cleaning.
5309
c28a075b
JR
5310 * makefile.w32-in (fns.o): Depend on md5.h
5311 (md5.o): New target.
5312 (sunfns.o): Remove.
5313
5314 * makefile.nt: Likewise.
5315
ff3c7056
JR
53162000-12-05 Jason Rumney <jasonr@altavista.net>
5317
5318 * w32term.c (expose_area): Complete last change.
5319
0c21eeeb
KR
53202000-12-05 Ken Raeburn <raeburn@gnu.org>
5321
5322 * minibuf.c: Include intervals.h.
5323
f201d732
JR
53242000-12-05 Jason Rumney <jasonr@gnu.org>
5325
5326 * w32term.c (x_produce_glyphs): If a font for a component of
5327 a composition is not found, use 1 pixel dot ascent and 0 dot
5328 descent value to avoid displaying terribly tall empty boxes.
5329 (expose_area): Pass x-coordinate relative to the exposed
5330 area to x_draw_glyphs instead of a window-relative coordinate.
5331
21999ab9
GM
53322000-12-05 Gerd Moellmann <gerd@gnu.org>
5333
4d2036e4
GM
5334 * xdisp.c (next_element_from_ellipsis): Save face before selective
5335 display in saved_face_id, and set face_before_selective_p.
5336 (reseat_1): Reset face_before_selective_p.
5337 (append_space, extend_face_to_end_of_line): If iterator's
5338 face_before_selective_p is set, use the face from saved_face_id.
5339 (extend_face_to_end_of_line): For tty frames, make sure to
5340 use the right face id when producing spaces at the end of
5341 the line.
5342
5343 * dispextern.h (struct it): Add face_before_selective_p.
5344
52be17cc
GM
5345 * keyboard.c (record_char): Don't record identical help-echo
5346 events in recent_keys.
5347
8a4f36cc
GM
5348 * xterm.c [USE_X_TOOLKIT]: Close the display.
5349 (xim_close_dpy): Handle case that the display has been closed.
5350
57d6e381
GM
5351 * xterm.c (x_destroy_window): Reset the frame's X window after
5352 destroying it.
5353
21999ab9
GM
5354 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5355 variable window_width.
5356 (line_draw_cost): Fix code skipping over spaces at the end of the
5357 line when must_write_spaces is not set.
5358 (scrolling_window): Fix code inserting runs in list of all runs.
5359
91372bb7
KH
53602000-12-05 Kenichi Handa <handa@etl.go.jp>
5361
5362 * coding.c (setup_coding_system): Be sure to initialize
5363 coding->category_idx.
5364
6c083b4c
GM
53652000-12-04 Gerd Moellmann <gerd@gnu.org>
5366
0c68ce6f 5367 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5368
6452929e
GM
5369 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5370 area to x_draw_glyphs instead of a window-relative coordinate.
5371
d7f31e22
GM
5372 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5373 error in the message.
5374
ae18aa3b
GM
5375 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5376 timer after having read a key. It's not good for code reading
5377 several keys in a loop, like an input method.
5378
caa15ef7
GM
5379 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5380 record undo information for format-decode.
5381
5382 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5383 current buffer is read-only, not if it isn't.
5384
6c083b4c
GM
5385 * keyboard.c (record_char): Record `help-echo' input events
5386 in recent_keys only if they display some help. Don't record
5387 `help-echo' events as macro char.
5388
caa15ef7
GM
53892000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5390
5391 * editfns.c (save_excursion_restore): Don't move point
5392 in another window if it is showing the wrong buffer.
5393 Avoid the call to Fwindow_live_p, for speed.
5394
5a13529b
KH
53952000-12-04 Kenichi Handa <handa@etl.go.jp>
5396
e225faa7
KH
5397 * xfaces.c (struct font_name): New member registry_priority.
5398 (split_font_name): Initialize the above member to zero.
5399 (concat_font_list): New function.
5400 (font_list): Include fonts of all alternative registries.
5401 (FONT_POINT_SIZE_QUANTUM): New macro.
5402 (better_font_p): Ignore point size difference less than
5403 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5404
e89648b4
KH
5405 * xterm.c (x_produce_glyphs): If a font for a component of
5406 a composition is not found, use 1 pixel dot ascent and 0 dot
5407 descent value to avoid displaying terribly tall empty boxes.
5408
5a13529b
KH
5409 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5410
d7935eb6
KR
54112000-12-03 Ken Raeburn <raeburn@gnu.org>
5412
5413 * coding.h (code_convert_string1): Declare.
5414
5415 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5416
52283633 5417 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5418
0dd5e255
JR
54192000-12-02 Jason Rumney <jasonr@gnu.org>
5420
5421 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5422 correctly for single byte character case.
5423 (w32_per_char_metric): Do not try to make any assumptions about
5424 the metrics of BDF fonts.
250cfece 5425 (x_estimate_mode_line_height): If `mode-line' face
52283633 5426 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5427 (note_mouse_highlight): Change the cursor shape on the vertical
5428 border between windows [not enabled].
5429
5430 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5431
5432 * w32fns.c (Fx_create_frame): Reintroduce the call to
5433 face-set-after-frame-defaults.
5434 (Vx_window_horizontal_drag_shape): New variable.
5435 (syms_of_xfns): DEFVAR_LISP it.
5436 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5437 enabled].
0dd5e255 5438
b5d8d2ca
GM
54392000-12-02 Simon Josefsson <simon@josefsson.org>
5440
5441 * fns.c (Fmd5): Use a different logic to decide the coding system
5442 to use.
5443
5444 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5445
fbb87147
EZ
54462000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5447
52283633 5448 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5449
447e9da0
GM
54502000-12-01 Gerd Moellmann <gerd@gnu.org>
5451
7708ced0
GM
5452 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5453 height for YNegative.
5454 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5455 height; also see comment there.
5456
447e9da0
GM
5457 * window.c (coordinates_in_window): Handle computations for
5458 positions on the vertical bar and fringes differently for
5459 window-system frames. Consider some pixels near the vertical bar
5460 as on the bar if the frame doesn't have vertical scroll bars.
5461 Associate positions between mode or header lines with the
5462 right window, the left one.
5463
86d1db20
JR
54642000-12-01 Jason Rumney <jasonr@gnu.org>
5465
5466 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5467
5468 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
5469 invalid frame.
5470
a1d58e5b
GM
54712000-12-01 Gerd Moellmann <gerd@gnu.org>
5472
52283633 5473 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
5474 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
5475 (save_window_save, Fset_window_configuration): Save/restore
5476 window's orig_top and orig_height.
5477
89c609af
JR
54782000-12-01 Jason Rumney <jasonr@gnu.org>
5479
4d177746 5480 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 5481
89c609af
JR
5482 * w32fns.c (x_set_cursor_color): Fix last change.
5483
eccc05db
GM
54842000-11-30 Gerd Moellmann <gerd@gnu.org>
5485
31b6671b
GM
5486 * xdisp.c (echo_area_display): If cursor is in the echo area, make
5487 sure that the next redisplay displays the minibuffer, so that
5488 the cursor will be replaced with what the minibuffer wants.
5489
eccc05db
GM
5490 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
5491 #ifndef instead of using #if.
5492 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
5493 USE_TOOLKIT_SCROLL_BARS is defined.
5494
162de750
JR
54952000-11-30 Jason Rumney <jasonr@gnu.org>
5496
5497 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
5498 x_display_cursor.
5499
693c4692
GM
55002000-11-30 Gerd Moellmann <gerd@gnu.org>
5501
5502 * fns.c (Fmd5): Doc fix.
5503
b5d8d2ca 55042000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
5505
5506 * fns.c (Fmd5): New function.
5507 (syms_of_fns): Defsubr md5.
5508
5509 * Makefile.in (obj): Add md5.o
5510
b02cd40b
GM
55112000-11-30 Gerd Moellmann <gerd@gnu.org>
5512
edfb795e
GM
5513 * md5.h, md5.c: New files, taken from glibc.
5514
df3aedcf
GM
5515 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5516
b02cd40b 5517 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 5518 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 5519
8b5176cd
SM
55202000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5521
5522 * eval.c (Frun_hooks): Allow 0 arguments.
5523
346598f1
GM
55242000-11-29 Gerd Moellmann <gerd@gnu.org>
5525
f9396e03
GM
5526 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5527 is over the menu bar widget, say it's not on the frame.
5528
4a967a9b
GM
5529 * xfns.c (Fx_create_frame): Reintroduce the call to
5530 face-set-after-frame-defaults.
5531
346598f1
GM
5532 * eval.c (Fsignal): Reset handling_signal.
5533
222456a1
JR
55342000-11-28 Jason Rumney <jasonr@gnu.org>
5535
5536 * w32menu.c (add_menu_item): Reset menu item text when changing
5537 type to radio button.
5538
8049ddc0
GM
55392000-11-28 Gerd Moellmann <gerd@gnu.org>
5540
346598f1 5541 * xselect.c: Update copyright.
f4f4ee4d 5542
bebe4a2c
GM
5543 * window.c (coordinates_in_window): If on a mode or header line,
5544 but sufficiently close to its start, return ``on vertical
5545 border''. This gives us a way to drag windows horizontally when
5546 using toolkit scroll bars.
5547
5548 * xterm.c (note_mouse_highlight): Change the cursor shape
5549 on the vertical border between windows.
5550
5551 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5552
5553 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5554 (syms_of_xfns): DEFVAR_LISP it.
5555 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5556
8d2c2642
GM
5557 * textprop.c (text_read_only): New function.
5558 (verify_interval_modification): Use it instead of signaling
5559 `text-read-only'. This makes it easier to catch this error
52283633 5560 with a breakpoint.:
8d2c2642 5561
52283633 5562 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
5563 not end of line, which includes CR.
5564
5a2bae6c
KH
55652000-11-28 Kenichi Handa <handa@etl.go.jp>
5566
5567 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5568 include no-conversion.
5569
ae31f84d
JR
55702000-11-27 Jason Rumney <jasonr@gnu.org>
5571
5572 * w32fns.c (w32_load_system_font): Always mark font as double byte
5573 if codepage is unicode.
5574
67f1cf4c
GM
55752000-11-27 Gerd Moellmann <gerd@gnu.org>
5576
4a74d071 5577 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5578 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5579
902ae620
GM
5580 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5581 `vertical-line', `mode-line' and `header-line' events.
5582
5583 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5584 of a character, a TAB for instance. This is easier than to set
5585 up the iterator exactly, and it's not a frequent case, so the
5586 additional effort wouldn't really pay off.
5587
c1e279c2
AC
55882000-11-26 Andrew Choi <akochoi@i-cable.com>
5589
67f1cf4c 5590 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5591 init_window_once.
5592
a609568a
JR
55932000-11-25 Jason Rumney <jasonr@gnu.org>
5594
52283633
SM
5595 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5596 Args to window_from_coordinates should be pixel coordinates.
48b21762 5597
a609568a
JR
5598 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5599 redisplay handles them properly.
5600
a658d039
MB
56012000-11-25 Miles Bader <miles@gnu.org>
5602
5603 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5604
d3416cca
JR
56052000-11-24 Jason Rumney <jasonr@gnu.org>
5606
5607 * w32.c (init_environment): Set LANG environment variable based on
5608 locale settings, if not set.
5609
5610 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5611 making tool bar smaller. When clearing the frame, also
5612 clear current matrices. Clear frame when tool bar disappears.
5613 Don't use more lines for the tool-bar than is available.
5614 (x_change_window_heights): New function.
5615
ba193890
GM
56162000-11-24 Gerd Moellmann <gerd@gnu.org>
5617
2be8f184
GM
5618 * xdisp.c (init_from_display_pos): If POS says we're already after
5619 an overlay string ending at POS, make sure to pop the iterator
5620 because it will be in front of that overlay string. When POS is
5621 ZV, we've thereby also ``processed'' overlay strings at ZV.
5622
ba193890
GM
5623 * xfaces.c (lface_from_face_name): Function comment fix.
5624
1862a24e
MB
56252000-11-24 Miles Bader <miles@gnu.org>
5626
5627 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5628 apply `mode-line-inverse-video' -- zero means force display using
5629 the default face, non-zero means display using the specialized face.
5630 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5631
f07fa1b8
KH
56322000-11-23 Kenichi Handa <handa@etl.go.jp>
5633
5634 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5635 hard coded `4'.
5636
2bcdf662
EZ
56372000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5638
5639 * coding.c (decode_coding_emacs_mule): Fix the case of
5640 CODING_EOL_LF, which used uninitialized value of c.
5641
ba8299ff
SM
56422000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5643
5644 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5645
f4117c4d
GM
56462000-11-22 Gerd Moellmann <gerd@gnu.org>
5647
03e757c1
GM
5648 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5649 buffer object.
5650
f4117c4d
GM
5651 * frame.h (struct frame): Replace desired_tool_bar_items,
5652 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 5653 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
5654
5655 * frame.c (make_frame): Change initialization of tool bar
5656 items accordingly.
5657
5658 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 5659 Change references to members deleted from struct frame to use the
f4117c4d
GM
5660 new ones.
5661
5662 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 5663 references to members deleted from struct frame to use the new ones.
f4117c4d 5664
52283633 5665 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
5666
5667 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
5668
5669 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 5670 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
5671 from struct frame to use the new ones.
5672
f8e2f3f2
MB
56732000-11-23 Miles Bader <miles@gnu.org>
5674
5675 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
5676 the face's inverse-video attribute, rather than overriding it.
5677
60e8e0a5
GM
56782000-11-22 Gerd Moellmann <gerd@gnu.org>
5679
5680 * xfns.c (x_set_tool_bar_lines): Clear internal border when
5681 making tool bar smaller.
5682
92dd1b29
DL
56832000-11-22 Dave Love <fx@gnu.org>
5684
5685 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
5686
e672fdce
MB
56872000-11-22 Miles Bader <miles@gnu.org>
5688
3a17d6cc
MB
5689 * keyboard.c (Vminibuffer_message_timeout): New variable.
5690 (command_loop_1): Use it to determine message timeout.
5691 (syms_of_keyboard): Initialize it.
5692
60e8e0a5 5693 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 5694
e9655d81
KH
56952000-11-22 Kenichi Handa <handa@etl.go.jp>
5696
5697 * sysdep.c: Move the code for declaring h_errno after #include
5698 <netdb.h>.
5699
77270fac
GM
57002000-11-21 Gerd Moellmann <gerd@gnu.org>
5701
cd913aae
GM
5702 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5703 the menu bar when the tooltip is unmapped.
5704
77270fac
GM
5705 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5706 sole visible buffer when we're currently in the mini-buffer, and
5707 give up if so.
52283633 5708
556635d6
JR
57092000-11-21 Jason Rumney <jasonr@gnu.org>
5710
5711 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5712 put on the clipboard.
5713 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5714 copy of what Emacs last put there. If they are the same, do not
52283633 5715 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5716
5b7bde64
MB
57172000-11-22 Miles Bader <miles@gnu.org>
5718
5719 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5720 (syms_of_minibuf): Initialize it.
5721 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5722 to prompt, don't make read-only.
5723
ff23e1dd
GM
57242000-11-21 Gerd Moellmann <gerd@gnu.org>
5725
52283633
SM
5726 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5727 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5728
7aaf4388
GM
5729 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5730
f5f47add 5731 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5732
ff23e1dd
GM
5733 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5734
37c35586
KH
57352000-11-21 Kenichi Handa <handa@etl.go.jp>
5736
5737 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5738 ... #endif scope.
5739
ff9ab414
GM
57402000-11-20 Gerd Moellmann <gerd@gnu.org>
5741
52283633 5742 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5743 screen supports it.
5744
29a01b72
GM
5745 * s/gnu-linux.h: Don't use `#cpu'.
5746
09dfdf85
GM
5747 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5748 not defined in mman.h.
5749
52283633 5750 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5751 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5752 and store an index in the XClientMessageEvent. Storing a
5753 Lisp_Object or pointer can fail on a 64 bit system, since X only
5754 transfers 32 bits.
52283633
SM
5755 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5756
81459ac9
DL
57572000-11-20 Dave Love <fx@gnu.org>
5758
5759 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5760
56c13ae6
GM
57612000-11-20 Gerd Moellmann <gerd@gnu.org>
5762
5763 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5764
495a6df3
KH
57652000-11-20 Kenichi Handa <handa@etl.go.jp>
5766
2bcf3714
KH
5767 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5768 by WIDTH.
5769
495a6df3
KH
5770 * alloc.c (make_string): Fix previous change. Be sure to make
5771 unibyte string correctly.
5772
6d950f4c
GM
57732000-11-19 Gerd Moellmann <gerd@gnu.org>
5774
39b39373
GM
5775 * window.c (Fwindow_list): Change parameter list to be XEmacs
5776 compatible.
5777 (window_list_1): New function.
5778 (window_loop): Use it instead of Fwindow_list.
5779
b95b34e5
GM
5780 * sysdep.c (emacs_ospeed): New variable.
5781 (toplevel): Don't declare ospeed extern.
5782 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5783
5784 * termcap.c (ospeed): Remove.
5785 (tputs) [!emacs]: Remove unused code.
5786 (tgetent): Avoid a compiler warning.
5787
e83dc917
GM
5788 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
5789 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 5790 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
5791
5792 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
5793 removed.
5794 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
5795 Take the X display as additional argument.
5796 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
5797 `Widget' is a pointer type that's not easily stored in Lisp_Object
5798 form in a portable way.
52283633 5799
6d950f4c
GM
5800 * dispnew.c (update_text_area): Fix last change.
5801
e47306e6
GM
58022000-11-18 Gerd Moellmann <gerd@gnu.org>
5803
fb3cd89b
GM
5804 * xdisp.c: Use BINDING_STACK_SIZE throughout.
5805
5806 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
5807 clear current matrices.
5808
edaa9aed
GM
5809 * buffer.c (mmap_enlarge): Don't print a message on stderr
5810 if mapping new memory at the end of the existing region fails.
5811
e47306e6
GM
5812 * dispnew.c (update_text_area): Don't skip over equal glyphs
5813 when the last current glyph overlaps the glyph to its right.
5814
509633e3
MB
58152000-11-18 Miles Bader <miles@gnu.org>
5816
5817 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
5818 lines that *end* with "..." too (that's the most common case!).
5819
d392e9c5
GM
58202000-11-18 Gerd Moellmann <gerd@gnu.org>
5821
67988445
GM
5822 * xdisp.c (resize_mini_window): Temporarily change to the
5823 mini-window's buffer if necessary.
1bfdbe43 5824
d392e9c5
GM
5825 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
5826 the tooltip obscures less text under it.
5827
58282000-11-17 Gerd Moellmann <gerd@gnu.org>
5829
5830 * puresize.h (BASE_PURESIZE): Increase to 700000.
5831
92bb977f
JR
58322000-11-18 Jason Rumney <jasonr@gnu.org>
5833
5834 * w32term.c (w32_draw_bitmap): Use face to set colors.
5835
26fbf20b
DL
58362000-11-17 Dave Love <fx@gnu.org>
5837
5838 * lread.c (Fload): Fix #ifdef for pcc.
5839
100b593b
GM
58402000-11-17 Gerd Moellmann <gerd@gnu.org>
5841
5842 * xdisp.c (pos_visible_p): Compute the default character height
5843 differently.
5844
a288d0d1
GM
58452000-11-16 Gerd Moellmann <gerd@gnu.org>
5846
cac94de6 5847 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 5848 knowing the line's height; use the default font's height in that case.
cac94de6 5849
a288d0d1
GM
5850 * xfaces.c (weight_table): Add `demi' with the same meaning as
5851 `demibold'.
5852
981fb6f6
KH
58532000-11-16 Kenichi Handa <handa@etl.go.jp>
5854
2cca872d 5855 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
5856 (clear_glyph_row): Delete local static variable null_row.
5857
e5fa381b
JR
58582000-11-15 Jason Rumney <jasonr@gnu.org>
5859
5860 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
5861 (w32_alloc_lighter_color): Use new brightness calculations from
5862 xterm.c. Scale delta to be in the range expected by W32.
5863 (w32_draw_relief_rect): Use frame relief colors.
5864
8e42f043
GM
58652000-11-15 Gerd Moellmann <gerd@gnu.org>
5866
6d133d1f
GM
5867 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
5868 (Qinhibit_default_face_x_resources): New variable.
5869 (syms_of_frame): Initialize it.
5870 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
5871
5872 * xdisp.c (pos_visible_p): Improve function comment.
5873
5874 * lisp.h (BINDING_STACK_SIZE): New macro.
5875
8e42f043
GM
5876 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
5877 reading the directory if readdir returns null and errno is EAGAIN
5878 or EINTR.
5879
e8c87124
SM
58802000-11-14 Stefan Monnier <monnier@cs.yale.edu>
5881
5882 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
5883 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
5884 Set amount_to_scroll to max of dx and scroll_step so that
5885 scroll-conservatively doesn't defeat scroll-step>1.
5886 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
5887 scroll-conservatively for line-at-a-time scrolling.
5888
5f0c971d
GM
58892000-11-14 Gerd Moellmann <gerd@gnu.org>
5890
5891 * window.c (Fpos_visible_in_window_p): Call pos_visible with
5892 extra argument.
5893
5894 * xdisp.c (current_mode_line_height, current_header_line_height):
5895 New variables.
5896 (init_xdisp): Initialize them.
5897 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
5898 and use exact mode line heights if it is set.
5899
5900 * lisp.h (pos_visible_p): Change prototype.
5901
5902 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
5903 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
5904 and current_header_line_height first.
52283633
SM
5905 (current_mode_line_height, current_header_line_height):
5906 Declare extern.
5f0c971d 5907
d7361edf
MB
59082000-11-14 Miles Bader <miles@lsi.nec.co.jp>
5909
5910 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
5911 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
5912 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
5913
ee5e440a
MB
59142000-11-14 Miles Bader <miles@gnu.org>
5915
5916 * xterm.c (x_alloc_lighter_color): Include an additive component
5917 too for dark colors, because FACTOR isn't enough.
5918 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
5919 New macros.
5920
5ca020fc
GM
59212000-11-13 Gerd Moellmann <gerd@gnu.org>
5922
5923 * keyboard.c (show_help_echo): Call message3_nolog with number of
5924 bytes in the help string as 2nd parameter, instead of the number
5925 of characters.
5926
9d348294
MB
59272000-11-13 Miles Bader <miles@gnu.org>
5928
5929 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
5930 (Fload): Use new openp return protocol.
5931 Don't try to use Vload_source_file_function to load .elc files.
5932 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
5933 openp return protocol.
5934 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
5935
1729bb9a
KH
59362000-11-11 Kenichi Handa <handa@etl.go.jp>
5937
4e677396
KH
5938 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
5939
5940 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
5941 Defined these macros.
5942 (NLIST_STRUCT): Avoid re-defining it.
5943
1729bb9a
KH
5944 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
5945 -I/usr/contrib/X11R6/include.
5946 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
5947
a82fe213
JR
59482000-11-10 Jason Rumney <jasonr@gnu.org>
5949
5950 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
5951
5952 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
5953 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
5954
5955 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
5956 (Qw32_charset_vietnamese): New symbol.
5957 (xlfd_charset_of_font): New function.
5958 (w32_load_system_font): Use it.
5959 (x_to_w32_charset): Use Fassoc to find charset info. Special case
5960 when Vw32_charset_info_alist is nil to ensure default face always
5961 has font. Use Fcar and Fcdr for safety.
5962 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
5963 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
5964 pseudo-codepages for special cases.
5965 (w32_to_x_font): New parameter to allow charset portion to be
5966 specified where there is many to one mapping. Callers changed.
5967 (w32_list_fonts): Avoid listing fonts that won't display.
5968
52d89894
GM
59692000-11-10 Gerd Moellmann <gerd@gnu.org>
5970
5971 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
5972 (font_list_1): Renamed from font_list.
5973 (font_list): New function, trying alternative registries from
5974 Vface_alternative_font_registry_alist.
5975 (Finternal_set_alternative_font_registry_alist): New function.
5976 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
5977 Vface_alternative_font_registry_alist.
5978 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 5979
651cd3da
KR
59802000-11-09 Ken Raeburn <raeburn@gnu.org>
5981
5982 * lisp.h (Flooking_at): Declare.
5983
388ac098
GM
59842000-11-09 Gerd Moellmann <gerd@gnu.org>
5985
778fbc46 5986 * dired.c (directory_files_internal): Fix a braino.
52283633 5987
388ac098
GM
5988 * dired.c (directory_files_internal): Add missing GCPRO's.
5989 Some cleanup.
5990
ecaedde1
GM
59912000-11-08 Gerd Moellmann <gerd@gnu.org>
5992
f7eb32aa
GM
5993 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
5994 (resize_mini_window): Return quickly if Vresize_mini_window is
5995 nil. Don't return if Vmax_mini_window_height is nil.
5996
5997 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
5998 (syms_of_xdisp): Initialize them.
5999 (resize_mini_window): Act according to the setting of
6000 Vresize_mini_window.
6001 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6002
ecaedde1
GM
6003 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6004 scroll bar widget after configuring it, so that it will appear at
6005 the right position from the start.
6006 (XTredeem_scroll_bar): Cleaned up.
6007
3747ef2c
KH
60082000-11-08 Kenichi Handa <handa@etl.go.jp>
6009
6010 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6011 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6012 division by two.
6013
6014 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6015
03391420
DL
60162000-11-07 Dave Love <fx@gnu.org>
6017
7758f1c1 6018 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6019
6020 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6021
b5de343d
GM
60222000-11-07 Gerd Moellmann <gerd@gnu.org>
6023
acad3c0b
GM
6024 * window.c (Fset_window_configuration): Don't try to preserve
6025 point in the current buffer, if that buffer is displayed in more
6026 than one window.
6027
b5de343d
GM
6028 * xfaces.c (lookup_named_face): If default face isn't realized,
6029 try to realize it. Return -1 if not successful.
6030 (Fx_list_fonts): Handle case that face cannot be determined.
6031 (Fface_font): Likewise.
6032
cdb1fe49
GM
60332000-11-06 Gerd Moellmann <gerd@gnu.org>
6034
6035 * window.c (displayed_window_lines): Detect partially
6036 visible lines at the bottom correctly.
6037
d3a67486
SM
60382000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6039
6040 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6041 when ensuring we don't do visit in indirect buffer.
6042
ff8dd5d5
KH
60432000-11-06 Kenichi Handa <handa@etl.go.jp>
6044
6045 * composite.h (compose_chars_in_text): Add prototype.
6046
6047 * composite.c (Vcomposition_function_table): New variable.
6048 (Qcomposition_function_table): New variable.
6049 (run_composition_function): Call
6050 Vcompose_chars_after_function with three arguments.
6051 (compose_chars_in_text): New function.
6052 (syms_of_composite): Modified the doc-string of
6053 Vcompose_chars_after_function. Declare composition-function-table
6054 as a lisp variable, and initialize it.
6055
6056 * xfns.c (x_encode_text): Suppress producing escape sequences for
6057 composition.
6058
6059 * xselect.c: Include composite.h.
6060 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6061
d1145f85
AI
60622000-11-05 Andrew Innes <andrewi@gnu.org>
6063
6064 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6065
6066 * sysdep.c (read_input_waiting): Remove extraneous argument to
6067 read_socket_hook.
6068
6069 * w32fns.c (Fx_server_version): Include w32_build_number in the
6070 return list.
6071
6072 * w32heap.c (w32_build_number): New variable.
6073 (cache_system_info): Set it.
6074
6075 * w32heap.h (w32_build_number): Add extern.
6076
6077 * emacs.c (syms_of_emacs): Update docstring for
6078 system-configuration, to reflect the actual usage on MS-Windows.
6079
e85ee976
GM
60802000-10-31 Gerd Moellmann <gerd@gnu.org>
6081
26dcb81b
GM
6082 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6083 process idle timers while waiting for another event.
6084
52283633 6085 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6086 the default face are colored.
6087
e85ee976
GM
6088 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6089 window height hasn't changed.
6090
01b220b6
JR
60912000-10-31 Jason Rumney <jasonr@gnu.org>
6092
6093 * w32term.c (x_produce_glyphs): Handle composite characters.
6094 (x_draw_glyph_string_foreground)
6095 (x_draw_composite_glyph_string_foreground): Restore old font.
6096
4e6b7204
MB
60972000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6098
6099 * minibuf.c (read_minibuf): Reset the undo history just before
6100 starting the recursive-edit.
6101
d4358b37
GM
61022000-10-30 Gerd Moellmann <gerd@gnu.org>
6103
563f68f1
GM
6104 * xfaces.c (menu_face_change_count): New variable.
6105 (Finternal_set_lisp_face_attribute): Increment it for changes
6106 of the `menu' face.
6107 (realize_basic_faces): Reflect changes in the `menu' faces
6108 in menu bars.
6109
82e274d1
GM
6110 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6111 dy obtained from the iterator's y-position after moving from
6112 scroll_margin_pos to PT; see comment there.
52283633 6113
0dbf9fd2
GM
6114 * xdisp.c (safe_eval_handler): Call add_to_log.
6115
906b3b14
GM
6116 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6117 is not a symbol or string.
6118
d4358b37
GM
6119 * xdisp.c (echo_area_display): Don't perform a display update from
6120 inside redisplay. The update will happen anyway at the end of
6121 redisplay, and it can confuse redisplay (GC messages while
6122 redisplaying, for instance.)
6123
70c825df
SM
61242000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6125
cf9b4b0b
SM
6126 * xrdb.c (x_load_resources): Use the class name in the defaults.
6127
70c825df
SM
6128 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6129 (regex_compile): Catch bogus \(\1\).
6130
a1d34b1e
GM
61312000-10-30 Gerd Moellmann <gerd@gnu.org>
6132
cae71efe
GM
6133 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6134 RGB values.
52283633 6135
35efe0a1
GM
6136 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6137 we have a color cache, check that the cached color equals the
6138 allocated color. If not, clear the color cache.
6139
1d3baf74
GM
6140 * window.c (displayed_window_lines): Change buffers if necessary.
6141 Fix computation of displayed lines.
6142
a1d34b1e
GM
6143 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6144 update_menu_bindings to DEFVAR_BOOL.
6145
70737ea9
KH
61462000-10-30 Kenichi Handa <handa@etl.go.jp>
6147
70c825df 6148 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6149
fa0cb51d
KH
6150 * puresize.h (BASE_PURESIZE): Increase to 680000.
6151
70737ea9
KH
6152 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6153
0e4c08e8
JR
61542000-10-29 Jason Rumney <jasonr@gnu.org>
6155
6156 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6157
6158 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6159 (w32_cache_char_metrics): Handle possibility that 'x' does not
6160 exist in a BDF font.
6161 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6162
6163 * w32bdf.h (bdffont): Add nchars.
6164
6165 * w32bdf.c (set_bdf_font_info): Set it.
6166 (w32_BDF_TextOut): Swap byte order of double byte characters.
6167 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6168
45b84006
EZ
61692000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6170
6171 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6172 don't override the colors in frame's param_alist, unless they are
6173 unspecified.
6174
6175 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6176 reverse the effect of the highlight flag.
6177
caf9deee
KR
61782000-10-27 Ken Raeburn <raeburn@gnu.org>
6179
6180 * window.h (Fwindow_live_p): Declare.
6181
ae0b9b46
KR
6182 * undo.c (record_delete): Check that last_undo_buffer is really a
6183 buffer before applying XBUFFER to it.
6184
6185 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6186 Faref.
6187
02067692
SM
61882000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6189
6190 * lisp.h (KEYMAPP): New macro.
6191 (get_keymap): Remove.
6192 (get_keymap_1): Rename get_keymap.
6193
6194 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6195
6196 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6197
6198 * xmenu.c (single_submenu): Use KEYMAPP.
6199 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6200 Use KEYMAPP rather than Fkeymapp.
6201
6202 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6203
6204 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6205 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6206 Use KEYMAPP rather than Fkeymapp.
6207 (single_submenu): Use KEYMAPP.
6208 (w32_menu_show, w32_dialog_show): Use TRUE.
6209
6210 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6211
6212 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6213 (Fkeymapp): Use KEYMAPP.
6214 (get_keymap): Rename from get_keymap_1. Remove old def.
6215 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6216 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6217 (Fminor_mode_key_binding): Don't raise an error if the binding
6218 is not a keymap.
6219 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6220 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6221
6222 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6223 Allow Vspecial_event_map to be autoloaded.
6224 (menu_bar_items): Fetch the keymap rather than using keymapp.
6225 (menu_bar_one_keymap): No need to follow func-indirect any more.
6226 (parse_menu_item): get_keymap_1 -> get_keymap.
6227 (tool_bar_items): Fetch the keymap rather than using keymapp.
6228 (read_key_sequence): Use KEYMAPP.
6229
6230 * intervals.c (get_local_map): Use get_keymap rather than following
6231 function-indirections explicitly.
6232
6233 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6234
f9d80af3
JR
62352000-10-27 Jason Rumney <jasonr@gnu.org>
6236
6237 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6238 point, as Windows has oversized fonts.
6239
6240 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6241
a3ba27da
GM
62422000-10-27 Gerd Moellmann <gerd@gnu.org>
6243
6244 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6245 (freehook, reallochook): Handle null pointer arguments.
6246 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6247
aa3b80cc
SM
62482000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6249
6250 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6251 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6252 Giving in to popular pressure to shut up the compiler with casts.
6253
e24e84cc
GM
62542000-10-27 Gerd Moellmann <gerd@gnu.org>
6255
6256 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6257 signed value, and use a default value computed from the font's
6258 maximum descent.
6259
05ea7ef2
MB
62602000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6261
6262 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6263 that specify a negative underline position can still use underlines.
6264
6265 * window.c (Fpos_visible_in_window_p): Make POS default to
6266 WINDOW's point, not the current buffer's point.
6267
0b95284b
DL
62682000-10-26 Dave Love <fx@gnu.org>
6269
6270 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6271 when it's necessary.
6272
6c5b90af
GM
62732000-10-26 Gerd Moellmann <gerd@gnu.org>
6274
8b6d9dc9
GM
6275 * window.c (size_window): Compute size difference from sum of old
6276 child window sizes instead of from parent's size.
6277
6bc92b2e
GM
6278 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6279 Handle obscured lines at the top of the window.
6280
6281 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6282 down after the last error condition check.
6283
6c5b90af
GM
6284 * frame.c (Fdelete_frame): Run delete-frame-hook.
6285
42f92d4d
KH
62862000-10-26 Kenichi Handa <handa@etl.go.jp>
6287
6288 * coding.c (decode_coding): Fix previous change (check also
6289 CODING_MODE_LAST_BLOCK).
6290
d97151cb
SM
62912000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6292
e7efc503
SM
6293 * regex.c: More `unsigned char' -> `re_char' changes.
6294 Also change several `int' into `re_wchar_t'.
6295 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6296 (PUSH_FAILURE_POINTER): Don't cast any more.
6297 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6298 We want GCC to complain, since this piece of code makes
6299 re_match non-reentrant, which *should* be fixed.
6300 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6301 (EXTEND_BUFFER): Use RETALLOC.
6302 (SET_LIST_BIT): Don't cast.
6303 (re_wchar_t): New type.
6304 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6305 that those two functions will always properly return.
6306 (IMMEDIATE_QUIT_CHECK): Cast to void.
6307 (analyse_first): Use recursion rather than an explicit stack.
6308 (re_compile_fastmap): Can't fail anymore.
6309 (re_search_2): Don't check re_compile_fastmap for failure.
6310 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6311 Now also sets the new value (passed in a new argument).
6312 (re_match_2_internal): Use it.
6313 Also, use a new var `reg' of type size_t when looping through regs
6314 rather than reuse the inappropriate `mcnt'.
6315
d97151cb
SM
6316 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6317 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6318 (where_is_internal): Renamed from Fwhere_is_internal.
6319 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6320 (Fwhere_is_internal): New function wrapping where_is_internal.
6321 (where_is_internal_1): Handle the case where we're filling the cache.
6322 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6323
d5789b65
MB
63242000-10-25 Miles Bader <miles@gnu.org>
6325
6326 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6327
4ecda532
GM
63282000-10-25 Gerd Moellmann <gerd@gnu.org>
6329
6330 * window.c (pos_fully_visible_p): Removed.
6331 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6332 if position is visible and/or fully visible.
6333
6334 * lisp.h (pos_visible_p): Add prototype.
6335
6336 * xdisp.c (pos_visible_p): New function.
6337
68c3a137
KH
63382000-10-25 Kenichi Handa <handa@etl.go.jp>
6339
6340 * process.c (send_process): If OBJECT is t, it means that the data
6341 is from C string, but we should encode it. Before calling
6342 setup_raw_text_coding_system, be sure to flush out data by the
6343 previous coding system.
6344
7ae1c032
MB
63452000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6346
ff4dcd4b
MB
6347 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6348 assignment of startpos to prev when startpos == pos.
6349
7ae1c032
MB
6350 * editfns.c (find_field): Set the field stickiness correctly from
6351 overlay fields. Use renamed `text_property_stickiness'.
6352 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6353 Only check text properties, not overlays.
7ae1c032
MB
6354 * textprop.c (get_char_property_and_overlay): New function.
6355 (Fget_char_property): Use it.
6356 * intervals.h (get_char_property_and_overlay): Add declaration.
6357
49801145
SM
63582000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6359
6360 * keymap.c: Use AREF, ASET and ASIZE macros.
6361 (Fmake_sparse_keymap): Docstring fix.
6362 (synkey): Remove.
6363 (shadow_lookup): Move up.
6364 Handle the case where lookup-key returns an integer.
6365 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6366 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6367 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6368 Simplify/rewrite the keymap-finding code.
6369 Add check for command shadowing, using shadow_lookup.
6370
39e776cd
SM
63712000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6372
6373 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6374 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6375 a symbol.
6376
2488aba5
AI
63772000-10-24 Andrew Innes <andrewi@gnu.org>
6378
6379 * dired.c (directory_files_internal_unwind): New function.
6380 (directory_files_internal): Use it to ensure closedir is called
6381 even if expand-file-name or file-attributes throw, eg. because of
6382 a user interrupt. Also enable immediate_quit while calling
6383 re_search, so that matching can be interrupted as well.
6384
b94fdf61
AI
63852000-10-24 Andrew Innes <andrewi@gnu.org>
6386
6387 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6388 NT-Emacs only.
6389 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6390 so that re_search functions only quit when callers expect them to.
6391
63922000-10-24 Kenichi Handa <handa@etl.go.jp>
6393
6394 * regex.c (regex_compile): Change the way of handling a range from
6395 a char less than 256 to a char not less than 256.
6396
1946f901
GM
63972000-10-24 Gerd Moellmann <gerd@gnu.org>
6398
7ae2f10f
GM
6399 * window.c (size_window): Prevent setting window's width or
6400 height to a negative value (esp. with XSETFASTINT).
6401
5dcab13e
GM
6402 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6403 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6404 (protect_malloc_state) [GC_MALLOC_CHECK &&
6405 GC_PROTECT_MALLOC_STATE]: New function.
6406 (PROTECT_MALLOC_STATE): New macro.
6407 (__malloc_initialize, morecore, _malloc_internal)
6408 (_free_internal) _realloc_internal): Use it to make _heapinfo
6409 read-only outside of gmalloc.
6410
63e1b552
GM
6411 * keymap.c: Update copyright.
6412
1946f901
GM
6413 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6414 a symbol.
6415
4fa09beb
GM
64162000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6417
6418 * filelock.c (unlock_all_files): Use unlock_file to expand each
6419 buffer's file_truename before trying remove its lock file.
6420
23afac01
EZ
64212000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6422
6423 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6424 or CRLF, decode EOLs.
6425
04448b95
KH
64262000-10-24 Kenichi Handa <handa@etl.go.jp>
6427
6428 * window.c (Fdisplay_buffer): Fix doc.
6429
3090a5a5
JR
64302000-10-23 Jason Rumney <jasonr@gnu.org>
6431
6432 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6433 ASCII font of default fontset on Windows.
6434
6435 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6436 xterm.c comment below).
6437
6438 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6439
a83fee2c
GM
64402000-10-23 Gerd Moellmann <gerd@gnu.org>
6441
6442 * xterm.c (x_connection_closed): Reset handling_signal.
6443
52283633 6444 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6445
6ffdb539
MB
64462000-10-23 Miles Bader <miles@gnu.org>
6447
6448 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6449 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6450 maintain old behavior.
6451 * minibuf.c (Fminibuffer_complete): Likewise.
6452
7f1c969b
MB
64532000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6454
6455 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6456 that when a font can't be exactly centered, it errs up rather than
6457 down.
6458
23afac01 64592000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 6460
52283633 6461 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 6462
1a578e9b
AC
64632000-10-23 Andrew Choi <akochoi@i-cable.com>
6464
6465 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6466
6467 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 6468 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
6469
6470 * emacs.c (main) [macintosh]: Call syms_of_textprop,
6471 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
6472 syms_of_search, x_term_init, and init_keyboard before calling
6473 init_window_once. Also, call syms_of_xmenu.
6474
6475 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
6476 default fontset to Monaco.
6477
6478 * frame.c [macintosh]: Include macterm.h. Remove declarations of
6479 NewMacWindow and DisposeMacWindow.
6480 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
6481 instead of calling NewMacWindow and setting fields of
6482 f->output_data.mac directly. Call init_frame_faces.
6483 (Fdelete_frame) [macintosh]: Remove unused code.
6484 (Fmodify_frame_parameters) [macintosh]: Call
6485 x_set_frame_parameters instead of mac_set_frame_parameters.
6486
6487 * frame.h [macintosh]: Define menu_bar_lines field in struct
6488 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
6489
6490 * keyboard.c [macintosh]: Include macterm.h.
6491 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
6492 and menu_bar_activate_event type events as for X and NT.
6493 (make_lispy_event) [macintosh]: Construct lisp events of type
6494 MENU_BAR_EVENT as for X and NT.
6495
6496 * sysdep.c [macintosh]: Remove declaration for sys_signal.
6497 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
6498 (sys_subshell) [macintosh]: Remove definition entirely.
6499 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
6500 Vwindow_system_version here. Remove initialization of
6501 Vx_bitmap_file_path.
6502 (read_input_waiting): Correct the number of parameters passed to
6503 read_socket_hook.
6504 Move all Macintosh functions to mac/mac.c.
6505
6506 * term.c [macintosh]: Include macterm.h.
6507
6508 * window.c [macintosh]: Include macterm.h.
6509
6510 * xdisp.c [macintosh]: Include macterm.h. Declare
6511 set_frame_menubar and pending_menu_activation.
6512 (echo_area_display) [macintosh]: Do not return if terminal frame
6513 is the selected frame.
6514 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
6515 Allow only the selected frame to set menu bar.
6516 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6517 calling FRAME_EXTERNAL_MENU_BAR (f).
6518 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6519
6520 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6521 and check_x. Declare XCreateGC. Define x_create_gc and
6522 x_free_gc. Initialize font_sort_order.
6523 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6524 but call x_list_fonts instead of w32_list_fonts.
6525 (Finternal_face_x_get_resource) [macintosh]: Do not call
6526 display_x_get_resource.
6527 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6528 (realize_x_face) [macintosh]: Load the font if it is specified in
6529 ATTRS.
52283633 6530 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6531
1ffbabe3
SM
65322000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6533
6534 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6535 is nil: since we go to the end of submap anyway, we'd end up
6536 setting nil to nil.
6537 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6538 doesn't obey autoload.
6539
bed43f1d
EZ
65402000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6541
1ffbabe3 6542 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 6543
ea4233a7
JR
65442000-10-21 Jason Rumney <jasonr@gnu.org>
6545
6546 * w32term.c (w32_cache_char_metrics): Double check that font is
6547 really fixed pitch before trusting tmPitchAndFamily.
6548
f3d3c491
AI
65492000-10-21 Andrew Innes <andrewi@gnu.org>
6550
6551 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6552
6553 * w32term.h: Extern decl for w32_cache_char_metrics.
6554
6555 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6556
6557 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6558 (w32_unload_font): Free per_char array if present.
6559
6560 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6561 cached information in emulated XFontStruct to handle common cases
6562 quickly. Do not allocate XCharStruct for return.
6563 (w32_native_per_char_metric): New function.
6564 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6565 allocating one.
6566 (x_produce_glyphs): Don't get an HDC. Change calls to
6567 w32_per_char_metric to match arg change above. Remove calls to
6568 free results.
6569 (w32_get_glyph_overhangs): Ditto.
6570 (w32_cache_char_metrics): New function.
6571
6572 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6573 ($(BLD)/casefiddle.$(O)): Remove compile command.
6574 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6575 ($(BLD)/dispnew.obj):
6576 ($(BLD)/keyboard.obj):
6577 ($(BLD)/w32inevt.obj):
6578 ($(BLD)/w32bdf.obj):
6579 ($(BLD)/alloc.obj):
6580 ($(BLD)/buffer.obj):
6581 ($(BLD)/editfns.obj):
6582 ($(BLD)/emacs.obj):
6583 ($(BLD)/fileio.obj):
6584 ($(BLD)/fns.obj):
6585 ($(BLD)/indent.obj):
6586 ($(BLD)/insdel.obj):
6587 ($(BLD)/intervals.obj):
6588 ($(BLD)/minibuf.obj):
6589 ($(BLD)/print.obj):
6590 ($(BLD)/scroll.obj):
6591 ($(BLD)/sysdep.obj):
6592 ($(BLD)/textprop.obj):
6593 ($(BLD)/widget.obj):
f3d3c491
AI
6594 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6595 ($(BLD)/term.obj): Add dependency on dispextern.h.
6596
52283633
SM
6597 * makefile.nt ($(BLD)\dispnew.obj):
6598 ($(BLD)\keyboard.obj):
6599 ($(BLD)\w32inevt.obj):
6600 ($(BLD)\w32bdf.obj):
6601 ($(BLD)\alloc.obj):
6602 ($(BLD)\buffer.obj):
6603 ($(BLD)\editfns.obj):
6604 ($(BLD)\emacs.obj):
6605 ($(BLD)\fileio.obj):
6606 ($(BLD)\fns.obj):
6607 ($(BLD)\indent.obj):
6608 ($(BLD)\insdel.obj):
6609 ($(BLD)\intervals.obj):
6610 ($(BLD)\minibuf.obj):
6611 ($(BLD)\print.obj):
6612 ($(BLD)\scroll.obj):
6613 ($(BLD)\sysdep.obj):
6614 ($(BLD)\textprop.obj):
6615 ($(BLD)\widget.obj):
f3d3c491
AI
6616 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6617 ($(BLD)\term.obj): Add dependency on dispextern.h
6618
18ad4821
EZ
66192000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6620
6621 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6622 with an additional argument of Qt.
6623
de54681a
MB
66242000-10-21 Miles Bader <miles@gnu.org>
6625
6626 * window.c (pos_fully_visible_in_window_p): New function.
6627 (Fpos_visible_in_window_p): Add FULLY argument.
6628 Use pos_fully_visible_in_window_p.
6629 (window_scroll_pixel_based, window_scroll_line_based): Update
6630 calls to Fpos_visible_in_window_p.
6631 * lisp.h (Fpos_visible_in_window_p): Update prototype
6632
13c844fb
GM
66332000-10-20 Gerd Moellmann <gerd@gnu.org>
6634
6635 * alloc.c (toplevel): Conditionalize compilation of mem_*
6636 functions differently.
52283633 6637
d9506268
JR
66382000-10-20 Jason Rumney <jasonr@gnu.org>
6639
6640 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6641 mem_init where it used to be. mem_z etc not defined otherwise.
6642
8094989b
GM
66432000-10-20 Gerd Moellmann <gerd@gnu.org>
6644
6645 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6646 GC_MALLOC_CHECK.
6647 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6648 structure definition and related variabled to the top of the file.
6649 Include this code when GC_MALLOC_CHECK is defined.
6650 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
6651 register/unregister allocated region.
6652 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
6653 which isn't allocated.
6654 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
6655 something which is already in use.
6656 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
6657 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
6658 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
6659 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
6660
6661 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
6662 _malloc_internal instead of malloc.
6663 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
6664 of free.
6665
ea456eb4
AI
66662000-10-20 Andrew Innes <andrewi@gnu.org>
6667
6668 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
6669 Windows.
6670 (my_strftime) <macro>: Don't use macro arg list when redefining as
6671 _strftime_copytm.
6672 (my_strftime) <function>: Supply 0 as ut argument.
6673
e64c3a75
JR
66742000-10-19 Jason Rumney <jasonr@altavista.net>
6675
6676 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
6677 including dispextern.h, as it stops faces from working.
6678
6679 * w32fns.c (Fx_create_frame): Don't bother calling
6680 face-set-after-frame-default since the caller does it for us
6681 anyway. Clean up calls to x_get_arg to be consistent with X.
6682
6683 * w32term.c (x_produce_glyphs): Handle
6684 unibyte_display_via_language_environment correctly.
6685 (w32_draw_box_rect): Fix the calculation of width and height.
6686
6687 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
6688 as it has stopped working.
6689 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
6690 menu-bar.
6691
17401c97
GM
66922000-10-19 Gerd Moellmann <gerd@gnu.org>
6693
6694 * eval.c (skip_debugger): Prevent a compiler warning.
6695 (Fcondition_case): Likewise.
6696 (Fbacktrace_frame): Use a null interactive spec.
6697
773272d8
KH
66982000-10-19 Kenichi Handa <handa@etl.go.jp>
6699
6700 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6701
a42943e9
GM
67022000-10-18 Gerd Moellmann <gerd@gnu.org>
6703
e50517d9
GM
6704 * strftime.c: Sync with glibc, file version 1.78.
6705 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6706 should no longer be used according to ISO 8601.
6707
9035a35a
GM
6708 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6709 no map for meta_prefix_char, don't try to use it as a keymap.
6710 Instead, if T_OK is non-zero, look up a default binding, if any,
6711 otherwise, if T_OK is zero, return nil.
6712
a42943e9
GM
6713 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6714 (x_to_xcolors, png_load): Use x_query_color.
6715
52283633
SM
6716 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6717 New functions.
a42943e9
GM
6718 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6719 which can be slow.
6720 (x_copy_color, x_alloc_lighter_color): Likewise.
6721
6722 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6723 (x_query_color, x_query_colors): Add prototype.
6724
6725 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6726 check_string_bytes only if not noninteractive, increase count to 50.
6727
00de2987
MB
67282000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6729
6730 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6731 markers correctly.
6732
54918e2b
GM
67332000-10-17 Gerd Moellmann <gerd@gnu.org>
6734
1f0b3fd2
GM
6735 * alloc.c (pure_bytes_used): Renamed from pureptr.
6736 (ALIGN): New macro.
6737 (pure_alloc): New function.
6738 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6739 Use it.
6740 (Fpurecopy): Use PURE_POINTER_P.
6741
68c5d1db
GM
6742 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6743 PT has moved backward.
52283633 6744
9a038881
GM
6745 * xdisp.c (cursor_row_p): Take continued lines into account.
6746
361b097f
GM
6747 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6748 string's size_byte.
6749 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6750 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6751 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6752 string allocated.
6753
54918e2b
GM
6754 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6755 of selective display off while searching for the next line start.
6756
03ed0806
KH
67572000-10-17 Kenichi Handa <handa@etl.go.jp>
6758
6759 * Makefile.in (term.o): Depend on dispextern.h.
6760
7e05cdaf
SM
67612000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6762
6763 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6764
a6801fd1
GM
67652000-10-16 Gerd Moellmann <gerd@gnu.org>
6766
483de32b
GM
6767 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6768 the iterator at the beginning, so that they can be set later on,
6769 for instance in reseat_at_next_visible_line_start, without being
6770 overwritten.
6771
a6801fd1
GM
6772 * xfns.c (pbm_format): Add :foreground and :background keywords.
6773 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6774 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6775
dbf1fcc1
EZ
67762000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6777
6778 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6779
52283633 6780 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6781
6782 * msdos.c (IT_set_face): Compare highlighted face with the default
6783 face, and invert colors if these faces' colors are identical.
6784 (Fmsdos_remember_default_colors): Don't swap foreground and
6785 background colors in initial_colors[].
6786 (IT_set_frame_parameters): Don't swap frame's foreground and
6787 background pixels. If ALIST includes "(reverse . t)", swap
6788 foreground-color and background-color properties in frame's
6789 param_alist. If the original frame's param_alist doesn't specify
6790 the colors, store unspecified-fg and unspecified-bg, reversed if
6791 required.
6792
6793 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
6794 the colors are unspecified and reversed, reverse fore- and back-
6795 ground in the returned value.
6796 (Fframe_parameter): Ditto.
6797
b41fe2c3 67982000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 6799
3a6b59d9
GM
6800 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
6801 get_last_unchanged_at_beg_row.
6802 (find_first_unchanged_at_end_row): Renamed from
6803 get_first_unchanged_at_end_row.
6804 (find_first_unchanged_at_end_row): Convert assertions to
6805 unconditional tests which abort. When looking for a row in
6806 unchanged text, don't go further back than first_text_row.
6807
b41fe2c3
GM
6808 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
6809 Don't add in the last line's height when deciding if the new
6810 position is below the scroll margin.
9d1af64f 6811
b41fe2c3 68122000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
6813
6814 * editfns.c (Fconstrain_to_field): Check carefully for field
6815 boundaries if either OLD_POS or NEW_POS has a non-nil field
6816 property, even if they're the same.
6817
c412cb7b
KH
68182000-10-16 Kenichi Handa <handa@etl.go.jp>
6819
6820 * xterm.c (x_draw_box_rect): Fix the calculation of width and
6821 height for XFillRectangle.
6822
5586f3eb
SM
68232000-10-15 Stefan Monnier <monnier@cs.yale.edu>
6824
6825 * syntax.c (Fstring_to_syntax): New function extracted from
6826 Fmodify_syntax_entry.
6827 (Fmodify_syntax_entry): Use it and document the ! and | fences.
6828 (skip_chars, Fforward_comment): Remove unused variables.
6829 (syms_of_syntax): Add defsubr for string-to-syntax.
6830 (describe_syntax): Add code for comment and string fences.
6831
db785038
SM
68322000-10-14 Stefan Monnier <monnier@cs.yale.edu>
6833
6834 * keymap.c (access_keymap): Add AUTOLOAD parameter.
6835 Do the meta->esc mapping. Call get_keyelt before returning.
6836 Start scanning from the second element (the first is always `keymap')
6837 to make it easier to detect when we reach a parent map.
6838 Handle the case of inheriting from a symbol whose function is a map.
6839 (Fkeymap_parent): Also handle the `inherit from symbol' case.
6840 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
6841 (get_keyelt, Flookup_key): Update call to access_keymap.
6842 Remove the meta->esc mappings.
6843 (define_as_prefix): Delete old disabled code.
6844 (menu_item_p): New function.
6845 (where_is_internal_1): Skip over the few remaining menu items.
6846 * lisp.h (access_keymap): Update prototype.
6847 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
6848 Update call to access_keymap.
6849 (follow_key, read_key_sequence): Update calls to access_keymap.
6850 Remove the meta->esc mappings.
6851
cafafe0b
GM
68522000-10-13 Gerd Moellmann <gerd@gnu.org>
6853
a2e2a7f6
GM
6854 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
6855 with additional argument.
6856
cafafe0b
GM
6857 * xdisp.c (cursor_row_p): New function.
6858 (try_cursor_movement, display_line): Use it.
52283633 6859
cafafe0b
GM
6860 * xdisp.c (append_space): Also save/restore iterator's current
6861 character and its length.
6862
6863 * xdisp.c (init_from_display_pos): Add an assertion.
6864 (handle_stop): Don't set iterator's add_overlay_start.
6865 (handle_invisible_prop): Likewise.
6866 (load_overlay_strings): If text under an overlay is invisible,
6867 take both before- and after-strings into account when the iterator
6868 is positioned either at the start or at the end of the overlay.
6869 (forward_to_next_line_start): Rewritten.
6870 (reseat_at_next_visible_line_start): Rewritten.
6871 (set_iterator_to_next): Add parameter RESEAT_P.
6872
6873 * dispextern.h (struct it): Remove member add_overlay_start.
6874 (set_iterator_to_next): Change prototype.
6875
c744452b
KH
68762000-10-13 Kenichi Handa <handa@etl.go.jp>
6877
6878 * coding.c (code_convert_region): Be sure to initialize
6879 coding->category_idx.
e4a3f4e1
KH
6880 (decode_coding_string): Set coding->src_multibyte and
6881 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
6882 (encode_coding_string): Set coding->src_multibyte and
6883 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 6884
321fd26f
SM
68852000-10-12 Stefan Monnier <monnier@cs.yale.edu>
6886
6887 * xfns.c (Fx_create_frame): Don't bother calling
6888 face-set-after-frame-default since the caller does it for us anyway.
6889
76832439
EZ
68902000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
6891
6892 * window.c (coordinates_in_window): Fix detection of vertical line
6893 on character terminals.
6894
2483cf58
GM
68952000-10-12 Gerd Moellmann <gerd@gnu.org>
6896
6897 * editfns.c (save_excursion_save): Additionally record the
6898 selected window.
6899 (save_excursion_restore): If buffer was visible in a window, and a
6900 different window was selected, and the old selected window is
6901 still live, restore point in that window.
6902
eb991b25
KH
69032000-10-12 Kenichi Handa <handa@etl.go.jp>
6904
8a0eba09
KH
6905 * xterm.c (x_produce_glyphs): Handle
6906 unibyte_display_via_language_environment correctly.
6907
20401fcc
KH
6908 * regex.c (regex_compile): Change the way of handling a range from
6909 unibyte char to multibyte char.
6910
6911 * syntax.c (skip_chars): Change the way of handling a range from
6912 unibyte char to multibyte char.
6913
eb991b25
KH
6914 * process.c (read_process_output): Cancel previous change.
6915
365dd325
EZ
69162000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
6917
c1b096cb
EZ
6918 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
6919
365dd325
EZ
6920 * charset.c (Ffind_charset_string): Doc fix.
6921 (Ffind_charset_region): Doc fix.
6922
eb483c2b
KH
69232000-10-11 Kenichi Handa <handa@mule.m17n.org>
6924
6925 * process.c (read_process_output): Fix previous change. Adjust
6926 multibyteness of text to insert in a buffer by
52283633 6927 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 6928
b40bfb99
AS
69292000-10-10 Andreas Schwab <schwab@suse.de>
6930
6931 * alloc.c (mark_object): Remove all workarounds installed on
6932 1993-08-08.
6933
caff31d4
KH
69342000-10-10 Kenichi Handa <handa@etl.go.jp>
6935
52283633 6936 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
6937 (base64_encode_1): Make it work for a text of multibyte form.
6938 (Fbase64_decode_region): Allocate sufficient memory for multibyte
6939 case. Don't call str_to_multibyte because base64_decode_1
6940 produces correct multibyte form for eight-bit codes.
52283633 6941 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
6942 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
6943 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
6944 codes.
6945
6946 * charset.h (CHAR_STRING): Optimized for single byte characters.
6947
cba026ef
AS
69482000-10-09 Andreas Schwab <schwab@suse.de>
6949
6950 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
6951 -1 after socket is closed, to fall through to error processing.
6952
1e21fe48
EZ
69532000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
6954
6955 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 6956 variables. If ALIST includes foreground-color or
1e21fe48
EZ
6957 background-color, change also the colors of the default face for
6958 this frame.
6959
a640322e
EZ
69602000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
6961
6962 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
6963 them extern (they are defined on xfaces.c).
6964 (syms_of_msdos): Don't intern and don't staticpro
6965 Qbackground_color and Qforeground_color.
6966
a115794c
EZ
69672000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
6968
6969 * frame.c (Fframe_parameter): For non-windowed frames, if
6970 f->param_alist says foreground or background color is unspecified,
6971 call tty_color_name to return the color name computed from the
6972 frame's current colors.
6973
f5533b63
DL
69742000-10-06 Dave Love <fx@gnu.org>
6975
6976 * terminfo.c (ospeed): Don't declare.
6977
6978 * sysdep.c: Don't include string.h.
6979 (h_errno): Declare conditional also on TRY_AGAIN.
6980
6981 * charset.c (Ffind_charset_string): Doc fix.
6982
52283633 6983 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
6984 (Fbase64_decode_region, Fbase64_decode_string): More explicit
6985 error messages.
6986
2b06561a
DL
69872000-10-05 Dave Love <fx@gnu.org>
6988
6989 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
6990 position like menu-bar.
6991
ca839c85
GM
69922000-10-05 Gerd Moellmann <gerd@gnu.org>
6993
6994 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
6995
6996 * xdisp.c (handle_single_display_prop): Use safe_call1.
6997 (safe_call): Renamed from call_function.
6998 (safe_call1): New function.
6999 (handle_fontified_prop): Use safe_call1 instead of call1.
7000 (safe_eval): Renamed from eval_form.
7001 (safe_eval_handler): Renamed from eval_handler.
7002 (handle_single_display_prop, display_mode_element): Use safe_eval
7003 instead of eval_form.
7004
7005 * xfaces.c (merge_face_heights): Use safe_call instead of
7006 call_function.
7007
7008 * keyboard.c (show_help_echo): Use safe_call instead of
7009 call_function; use safe_eval instead of eval_form.
7010
7011 * lisp.h (safe_call): Renamed from call_function.
7012 (safe_eval): Renamed from eval_form.
7013 (safe_call1): Add prototype.
7014
a3489ece
MB
70152000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7016
7017 * xfns.c (image_ascent): Rearrange ascent calculation for the
7018 has-a-font case.
7019
35810b6f
SM
70202000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7021
7022 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7023 (where_is_internal_1): Don't bother ignoring menu-items any more.
7024
3dc78168
GM
70252000-10-04 Gerd Moellmann <gerd@gnu.org>
7026
7027 * keyboard.c (update_menu_bindings): New variable.
7028 (parse_menu_item): Use AREF. If update_menu_bindings
7029 is 0, don't update menu bindings.
7030 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7031
1efc2bb9
EZ
70322000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7033
7034 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7035 to `mark_object'.
7036
3f679f55
SM
70372000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7038
7039 * syntax.c (forw_comment): Match nestedness of ender/starter.
7040 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7041 (prev_char_comstart_first): Remove.
7042 (back_comment): Check two-char comment markers more carefully
7043 to better handle overlapping cases like *//* or /* */* */ ...
7044 Match nestedness of ender/starter.
7045
2021ab61
DL
70462000-10-02 Dave Love <fx@gnu.org>
7047
7048 * config.in (HAVE_GAI_STRERROR): Add undef.
7049
7050 * process.c (Fopen_network_stream): Use it.
7051
7052 * m/alpha.h (NO_REMAP): Don't define.
7053
64e6cc18
GM
70542000-10-02 Gerd Moellmann <gerd@gnu.org>
7055
7056 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7057 return with a string converted to an integer or vice versa when
7058 Vmocklisp_arguments is t.
7059 (Fsignal): Likewise. The function can return for `quit'.
7060 (struct gcpro): Declare member `var' to point to a volatile
7061 Lisp_Object.
7062
7063 * eval.c (error): Prevent compiler warning.
7064
b1904cd9
SM
70652000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7066
7067 * keymap.c (keymap_memberp): New function.
7068 (Fset_keymap_parent): Use it.
7069 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7070 Use keymap_memberp to avoid creating cycles.
7071 (access_keymap): Use KEYMAPP.
7072
71c9ec51
GM
70732000-09-30 Gerd Moellmann <gerd@gnu.org>
7074
7075 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7076 gai_strerror. Make sure xerrno is set if connect fails. Improve
7077 error recovery.
71c9ec51 7078
c70c6b58
JR
70792000-09-29 Jason Rumney <jasonr@gnu.org>
7080
7081 * w32term.c (w32_char_font_type, w32_encode_char)
7082 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7083 (w32_bdf_per_char_metric): New function.
7084 (w32_per_char_metric): Use it.
7085 (x_draw_glyph_string_background): Always draw background for BDF
7086 glyphs.
7087
7088 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7089 GDI object which is a scarce resource.
7090
7091 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7092 (get_quoted_string): Fix limit on memchr search.
7093 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7094 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7095 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7096 (get_cached_font_char, cache_char_offset): Use macro
7097 BDF_CODEPOINT_RANGE_COVER_P.
7098 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7099 (clear_cached_bitmap_slots): New function.
7100 (GET_HEX_VALUE): G-Z, g-z are not hex.
7101 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7102 (get_bitmap_with_cache): Use new cache implementation.
7103 (create_offscreen_bitmap): New function.
7104 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7105
7106 * w32term.c (x_produce_glyphs): If the distance from the current
7107 position to the next tab stop is less than a canonical character
7108 width, use the tab stop after that.
7109 (x_draw_glyphs): Handle case START and END are out of bounds more
7110 carefully.
7111 (x_clear_mouse_face): Block/unblock input.
7112 (x_display_and_set_cursor): Don't show a hollow box cursor for
7113 buffers whose cursor_type is nil.
7114
fe01239f
GM
71152000-09-29 Gerd Moellmann <gerd@gnu.org>
7116
52283633 7117 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7118
7119 * dispextern.h (updating_frame): Declare extern.
7120
e7c52f1f
AS
71212000-09-29 Andreas Schwab <schwab@suse.de>
7122
7123 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7124
de6e1f7c
GM
71252000-09-29 Gerd Moellmann <gerd@gnu.org>
7126
25126faa
GM
7127 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7128 use its function definition.
7129 (tool_bar_items): Likewise.
7130
de6e1f7c 7131 * lisp.h (fatal): Declare NO_RETURN.
52283633 7132
454ee39b
KH
71332000-09-29 Kenichi Handa <handa@etl.go.jp>
7134
7135 * keymap.c: Remove the line "#undef NULL".
7136
96301c5f
GM
71372000-09-28 Gerd Moellmann <gerd@gnu.org>
7138
52283633 7139 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7140
efffeeb4
DL
71412000-09-28 Dave Love <fx@gnu.org>
7142
ecb8b666
DL
7143 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7144
dc3cd20f
DL
7145 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7146
7147 * .gdbinit (xreload): Note its need on GNU/Linux.
7148
efffeeb4
DL
7149 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7150 r_alloc, r_alloc_free.
7151
8610d903
KH
71522000-09-28 Kenichi Handa <handa@etl.go.jp>
7153
7154 * syntax.c (skip_chars): Handle negation correctly.
7155
8901d1ac
GM
71562000-09-27 Gerd Moellmann <gerd@gnu.org>
7157
6f22f1ad
GM
7158 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7159 with non-zero FORCE_P argument.
7160
52283633 7161 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7162 Add assertions.
7163
7164 * xdisp.c (window_box_height): Add an assertion.
7165
7166 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7167 tool-bar than is available.
7168 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7169
36f1966f
DL
71702000-09-27 Dave Love <fx@gnu.org>
7171
efffeeb4 7172 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7173
31d929e5
GM
71742000-09-26 Gerd Moellmann <gerd@gnu.org>
7175
c98863bf
GM
7176 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7177 instead of BITS_PER_INT.
7178 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7179 EMACS_UINT, respectively.
7180 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7181
7182 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7183
7184 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7185
77072ab1
GM
7186 * window.c (freeze_window_starts): Construct last argument for
7187 foreach_window differently.
7188
7189 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7190
7191 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7192 EMACS_UINT instead of `int' and `unsigned int'.
7193 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7194
7195 * frame.h (struct frame): Make the `nothing' member of union
7196 output_data an EMACS_INT.
7197
52283633 7198 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7199 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7200 size in the sdata structure.
7201 (SDATA_NBYTES, SDATA_DATA): New macros.
7202 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7203 differently for the different layout of the sdata structure.
7204 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7205 in sdata.
7206 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7207 Check that size recorded in the string size and size recorded in
7208 the sdata structure agree.
7209
3e60b029
DL
72102000-09-25 Dave Love <fx@gnu.org>
7211
7212 * buffer.c: Include stdio.h.
7213
7214 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7215
3e60b029
DL
7216 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7217
7218 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7219 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7220 (__malloc_extra_blocks): Declare as __malloc_size_t.
7221
8ff16b4e
GM
72222000-09-25 Gerd Moellmann <gerd@gnu.org>
7223
755a2ccd
GM
7224 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7225
d8b4516f
GM
7226 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7227 (read_char): If help-echo is showing, preserve the echo area
7228 when redisplaying.
7229
7230 * xdisp.c (help_echo_showing_p): New variable.
7231 (set_message): Reset it to 0.
7232 (init_xdisp): Initialize help_echo_showing_p.
7233
7234 * dispextern.h (help_echo_showing_p): Declare extern.
7235
7236 * config.in: Fix typo in __GNUC_MINOR__.
7237
7238 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7239
b11af2dd
GM
7240 * s/freebsd.h (POSIX_SIGNALS): Define.
7241
8ff16b4e
GM
7242 * xterm.c (x_clear_mouse_face): Block/unblock input.
7243
844eb643
DL
72442000-09-24 Dave Love <fx@gnu.org>
7245
7246 * fns.c (base64_encode_1): Fix last change.
7247
b30ab1b3
GM
72482000-09-22 Gerd Moellmann <gerd@gnu.org>
7249
7250 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7251
7252 * xdisp.c (try_window_reusing_current_matrix): More fixes
7253 for the case window has a header-line.
7254
c6cbe5f0
DL
72552000-09-22 Dave Love <fx@gnu.org>
7256
4c7c1f3f
DL
7257 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7258 a doc string.
7259
7260 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7261
c6cbe5f0
DL
7262 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7263
550a625e
GM
72642000-09-21 Gerd Moellmann <gerd@gnu.org>
7265
4c7c1f3f 7266 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7267 for GCC >= 2.5.
7268
52283633
SM
7269 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7270 Declare NO_RETURN.
fca99116 7271
80d26f99
GM
7272 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7273 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7274 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7275 warnings.
52283633 7276
80d26f99
GM
7277 * marker.c (byte_char_debug_check): Return void.
7278
623a0aae
GM
7279 * xfns.c (Fx_create_frame): Set default frame parameter value
7280 for tool-bar-lines to 1.
7281
7282 * dispnew.c (scrolling_window): Compare y-positions of rows
7283 equal at the start. Some simplification.
7284
7285 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7286 reused rows' y-position in the case window has a header-line, and
7287 new window start is greater than old window start.
7288
42ac0ae5
GM
7289 * process.c (process_sent_to): New variable.
7290 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7291 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7292 Declare more parameters volatile.
7293
550a625e
GM
7294 * lread.c (Vrecursive_load_depth_limit): New variable.
7295 (Fload): Check recursive loads whose recursion depth exceeds
7296 Vrecursive_load_depth_limit.
7297 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7298
8320414c
GM
72992000-09-20 Gerd Moellmann <gerd@gnu.org>
7300
f46c275e
GM
7301 * fileio.c (Fread_file_name): Doc fix.
7302
7303 * editfns.c (Fmessage_or_box): Doc fix.
7304
7305 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7306
b7e11c5b 7307 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7308
8320414c
GM
7309 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7310 symbols are specified, add color translations to the cache.
52283633 7311 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7312 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7313 xpm_cache_color.
7314 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7315 structures to xpm_init_color_cache.
7316
da1608d9
GM
73172000-09-19 Gerd Moellmann <gerd@gnu.org>
7318
52283633 7319 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7320
6badfa25
AI
73212000-09-19 Andrew Innes <andrewi@gnu.org>
7322
7323 * makefile.nt (bootstrap-emacs): Don't change directory.
7324
3a5f42bb
KH
73252000-09-19 Kenichi Handa <handa@etl.go.jp>
7326
1b7649bd
KH
7327 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7328
3a5f42bb
KH
7329 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7330 If output buffer is too small, signal an appropriated error.
7331
9f83cf0b
DL
73322000-09-18 Dave Love <fx@gnu.org>
7333
52283633 7334 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7335 (current_active_maps): Remove redundant get_local_map call.
7336
28c7826c
GM
73372000-09-18 Gerd Moellmann <gerd@gnu.org>
7338
5cefa566
GM
7339 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7340 cursor for buffers whose cursor_type is nil.
52283633 7341
6fed3546
GM
7342 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7343 a feature to implement that is already implemented.
7344 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7345 warnings.
7346
7347 * xfns.c (x_clear_image_1): New function.
7348 (x_clear_image): Use it.
52283633 7349 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7350
05b1f851
GM
7351 * dispnew.c (update_window): Move test for invisible lines
7352 at the top to update_window_line.
7353 (update_window_line): Handle invisible lines here.
7354
f4779de9
GM
7355 * xfns.c (clear_image_cache): Clear current matrices of all
7356 frames sharing an image cache. Block input while freeing
7357 images. Fix timestamp comparison.
7358 (x_clear_image): Also free the mask.
7359
28c7826c
GM
7360 * xfns.c (lookup_image): Block input while loading the image so
7361 that we won't get interrupted in a state where the image isn't yet
7362 set up completely.
7363 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7364 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7365 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7366 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7367
b7412313
GM
73682000-09-16 Gerd Moellmann <gerd@gnu.org>
7369
7370 * dispnew.c (update_window): Make sure to make desired rows
7371 current even if they are completely invisible at the top
7372 of a window.
7373
47e351a3
GM
73742000-09-15 Gerd Moellmann <gerd@gnu.org>
7375
7f8f1edc
GM
7376 * xfns.c (lookup_image): Build mask before applying an algorithm.
7377 Recognize algorithm `disabled'.
7378 (cross_disabled_images): New variable.
7379 (COLOR_INTENSITY): New macro.
7380 (x_detect_edges): Use COLOR_INTENSITY.
7381 (x_disable_image): New function.
7382 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7383
7384 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7385 disabled state, don't apply an image transformation algorithm if
7386 the user specified an image for the disabled state. Use
28c7826c 7387 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7388 user hasn't specified an image.
7389
ebb8f116
GM
7390 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7391 allocation functions with the XPM lib.
7392 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7393 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7394 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7395 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7396 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7397 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7398 functions, if possible, because these handle color allocation
7399 failure more gracefully.
7400 (Fimage_mask_p): New function.
7401
47e351a3
GM
7402 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7403 (Qedge_detection, Qheuristic): New symbols.
7404 (syms_of_xfns): Initialize new symbols.
7405 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7406 `algorithm (edge-detection ...)'.
7407 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7408 (tiff_format, gif_format, gs_format): Add `:mask'.
7409 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7410 (GIF_MASK, GS_MASK): New enumerators.
7411 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7412 (emboss_matrix, laplace_matrix): New variables.
7413 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7414 (x_edge_detection): New functions.
7415 (x_laplace): Rewritten in terms of x_detect_edges.
7416 (x_build_heuristic_mask): If image has a mask, free it.
7417
fe83b953
AI
74182000-09-14 Andrew Innes <andrewi@gnu.org>
7419
7420 * makefile.w32-in: Revert to Unix line endings.
7421
3021e816
AI
74222000-09-14 Andrew Innes <andrewi@gnu.org>
7423
7424 * makefile.w32-in: Standardize indentation somewhat.
7425 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7426 cater for differences between shells.
7427
7428 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7429
2a32b5ea
GM
74302000-09-14 Gerd Moellmann <gerd@gnu.org>
7431
7432 * xterm.c (x_produce_glyphs): If the distance from the current
7433 position to the next tab stop is less than a canonical character
7434 width, use the tab stop after that.
7435
b4331e96
DL
74362000-09-14 Dave Love <fx@gnu.org>
7437
7438 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7439
ef9e4345
GM
74402000-09-14 Gerd Moellmann <gerd@gnu.org>
7441
085536c2
GM
7442 * xdisp.c (handle_fontified_prop): While running fontification
7443 functions, bind `fontification-functions' and
7444 `after-change-functions' to nil.
7445
ef9e4345
GM
7446 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7447 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7448
7449 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7450
7451 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7452 USE_MMAP_FOR_BUFFERS.
7453
7454 * insdel.c (make_gap): Use enlarge_buffer_text.
7455
7456 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7457 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7458 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7459 from former r_alloc_* functions in ralloc.c.
52283633 7460 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
7461 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7462 (mmap_init) [REL_ALLOC_MMAP]: New function.
7463 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7464 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7465 BUFFER_FREE.
7466
7467 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7468 (enlarge_buffer_text): Add prototype.
7469
7470 * ralloc.c: Remove everything having to do with the use of mmap.
7471
f8608968
GM
74722000-09-13 Gerd Moellmann <gerd@gnu.org>
7473
2a494b2d
GM
7474 * sound.c (Fplay_sound): Doc fix.
7475
8c907a56
GM
7476 * keyboard.c: Avoid some more compiler warnings.
7477 (parse_tool_bar_item): Ignore cached key bindings.
7478
f8608968
GM
7479 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
7480 and allocation of Lisp data.
7481
6ab70e9a
GM
74822000-09-12 Gerd Moellmann <gerd@gnu.org>
7483
d12d0a9b
GM
7484 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
7485 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
7486 defaults first.
7487
6ab70e9a
GM
7488 * lread.c (Fload): Put code checking for recursive loads in #if 0.
7489
63c36c3c
KH
74902000-09-12 Miyashita Hisashi <himi@meadowy.org>
7491
7492 * ccl.c: Comment fixed.
7493 (MAX_MAP_SET_LEVEL): Increased to 30.
7494 (PUSH_MAPPING_STACK): Enclose with do-while block.
7495 (POP_MAPPING_STACK): Likewise.
7496 (stack_idx_of_map_multiple): New variable.
7497 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
7498 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 7499 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
7500 (ccl_driver) <CCL_MapSingle>: Likewise.
7501 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
7502 with the case where looking up process reaches to the end of
7503 map-set, and call CCL programs as the above change.
7504
7ee3bd7b
GM
75052000-09-11 Gerd Moellmann <gerd@gnu.org>
7506
8ec8a5ec
GM
7507 * xfns.c (png_load, jpeg_load): Declare some variables volatile
7508 that might be clobbered by longjmp.
7509 (check_x_display_info, x_decode_color, create_frame_xic)
7510 (Fx_display_backing_store, Fx_display_visual_class)
52283633 7511 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 7512
f74b0705
GM
7513 * lread.c (init_lread): Set Vloads_in_progress to nil.
7514 (Fload): Show list of recursively loaded files, when signaling an
7515 error.
7516
7ee3bd7b
GM
7517 * lread.c (Vloads_in_progress): New variable.
7518 (record_load_unwind): New function.
7519 (Fload): Check for recursive loads.
7520 (syms_of_lread): Initialize Vloads_in_progress.
7521 (read_integer, read1): Avoid some compiler warnings.
7522
7523 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7524 compiler warnings.
7525
974e1e5b
MB
75262000-09-11 Miles Bader <miles@gnu.org>
7527
7528 * editfns.c (Fbuffer_string): Doc fix.
7529
9824c4e3
GM
75302000-09-10 Gerd Moellmann <gerd@gnu.org>
7531
7532 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7533
6a72fdd1
KR
75342000-09-09 Ken Raeburn <raeburn@gnu.org>
7535
7536 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7537 whether to include other header files.
7538
28e6fb66
GM
75392000-09-09 Gerd Moellmann <gerd@gnu.org>
7540
52283633 7541 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 7542 by Fmemq as a boolean.
28e6fb66 7543
7f8b6551
SM
75442000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7545
7546 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7547
a8710abf
GM
75482000-09-08 Gerd Moellmann <gerd@gnu.org>
7549
d1a02881
GM
7550 * ralloc.c (mmap_fd): Remove initializer which can make it
7551 read-only in a dumped Emacs.
7552 (mmap_fd_1): New variable.
7553 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7554 restore it from there.
7555 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7556 unconditionally so that mmap_fd can be initialized there.
7557 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7558 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7559 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7560
c454aac1
GM
7561 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7562
7563 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 7564 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 7565
fc653ef2
GM
7566 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7567
3015eec0
GM
7568 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7569 inheritance.
7570
bfe0ee88
GM
7571 * xdisp.c (try_window_id): When trying to locate cursor in
7572 unchanged rows at the top, handle the case that we can't find it.
7573
a8710abf
GM
7574 * xterm.c (x_draw_glyphs): Handle case START and END are out
7575 of bounds more carefully.
7576
6b7d4ae4
DL
75772000-09-08 Dave Love <fx@gnu.org>
7578
423193c5
DL
7579 * s/sol2.h (REL_ALLOC_MMAP): Define.
7580 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7581
7582 * ralloc.c: Don't include string.h (redundant).
7583 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7584 [!MAP_ANON]: Include fcntl.h.
7585 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7586 (r_alloc, r_re_alloc, r_alloc_free)
7587 (mmap_enlarge, mmap_set_vars): Use it.
7588 (r_alloc_init_fd): New function.
7589 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7590 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7591 malloc type.
7592
7593 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7594 Remove vm-limit.o.
7595
6b7d4ae4
DL
7596 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7597 change to __NetBSD__.
7598
44d31981
KH
75992000-09-08 Kenichi Handa <handa@etl.go.jp>
7600
7601 * search.c (compile_pattern): Check the multibyteness of cached
7602 string and PATTERN.
7603
aad40737
MB
76042000-09-08 Miles Bader <miles@gnu.org>
7605
7606 * xfaces.c (default_face_vector): Function removed.
7607 (Finternal_merge_in_global_face): Restore old global/local
7608 attribute override order. Use inline loop instead of calling
7609 default_face_vector.
7610
91a211b5
GM
76112000-09-07 Gerd Moellmann <gerd@gnu.org>
7612
7613 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7614 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7615 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7616 where necessary, in case POINTER_TYPE is `void'.
7617
03419440
EZ
76182000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7619
7620 * frame.c (make_terminal_frame): Initialize frame foreground and
7621 background colors to unspecified, for the initial instance of an
7622 MSDOS frame.
7623
f46f845b
GM
76242000-09-07 Gerd Moellmann <gerd@gnu.org>
7625
24f76fbf
GM
7626 * ralloc.c (mmap_find): Fix overlap computation.
7627 (mmap_enlarge): Compute nbytes before trying to find an
7628 overlapping region.
7629
f46f845b
GM
7630 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7631 instead of `!='.
7632
7633 * lread.c (syms_of_lread): Change value of regexp
7634 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7635
7636 * xmenu.c (xdialog_show): When looking up the selection in
7637 menu_items, take `quote' boundaries into account; this corresponds
7638 to a nil ITEM in x-popup-dialog.
7639
3c014385
KH
76402000-09-07 Kenichi Handa <handa@etl.go.jp>
7641
fd6f711b
KH
7642 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7643 not 0x81.
7644 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7645
3c014385 7646 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
7647 encoding, not decoding. Fix the handling of latin-jisx0201.
7648 Check for the charset katakana-jisx0201 too.
3c014385 7649 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 7650 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 7651
0da3ecef
GM
76522000-09-07 Gerd Moellmann <gerd@gnu.org>
7653
ab0ee409
GM
7654 * xfaces.c (Vparam_value_alist): New variable.
7655 (syms_of_xfaces): Initialize it.
7656 (Finternal_set_lisp_face_attribute): Avoid more consing.
7657
7658 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
7659 specially.
7660 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
7661 (Qbackground_mode): New variable.
7662 (syms_of_frame_1): Initialize Qbackground_mode.
7663
7664 * lisp.h (Qdisplay): Declare extern.
1091dd67 7665
0da3ecef
GM
7666 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
7667 change face on all frames, and change the default for new frames.
7668
b14654b9
DL
76692000-09-07 Dave Love <fx@gnu.org>
7670
7671 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
7672
d24fd56f
KH
76732000-09-07 Kenichi Handa <handa@etl.go.jp>
7674
794f3670
KH
7675 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
7676
0fddd0dc
KH
7677 * charset.c: Include composite.h
7678 (lisp_string_width): New function.
7679 (Fstring_width): Call lisp_string_width instead of strwidth.
7680
7681 * Makefile.in (charset.o): Depends on composite.h.
7682
d24fd56f
KH
7683 * process.c (read_process_output): Before inserting the decoded
7684 text in the buffer, adjust the multibyteness.
7685
fa0b693c
GM
76862000-09-06 Gerd Moellmann <gerd@gnu.org>
7687
52283633 7688 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
7689 buffer's text buffer is null, map new memory.
7690
0a58f946
GM
7691 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
7692 POINTER_TYPE and size_t.
7693 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
7694 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7695 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7696 [REL_ALLOC_MMAP]: New macros.
7697 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7698 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7699 [REL_ALLOC_MMAP]: New functions.
7700
7701 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7702 before and after unexec.
7703
7704 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7705 text buffers if necessary.
7706
7707 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7708 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7709 in prototypes.
7710
fa0b693c
GM
7711 * config.in (HAVE_MMAP): Add #undef.
7712
877055f6
GM
77132000-09-05 Gerd Moellmann <gerd@gnu.org>
7714
08ba3862
GM
7715 * frame.c (Qdisplay_type): New variable.
7716 (syms_of_frame_1): Initialize it.
7717 (Fframe_parameter): New function that avoids consing.
7718 (syms_of_frame): Defsubr it.
7719
66ffe51c
GM
7720 * buffer.c (Fother_buffer): Consider buffers as invisible when
7721 they are displayed in a window on an invisible frame.
7722
877055f6
GM
7723 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7724 get-largest-window always return nil.
7725
bb970e67
GM
77262000-09-04 Gerd Moellmann <gerd@gnu.org>
7727
7728 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7729 variable; recognize Emacs 19 elc files.
7730
7a3d0e0e
MB
77312000-09-04 Miles Bader <miles@gnu.org>
7732
7733 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7734 before initially popping up the menu, so the menu doesn't flash
52283633 7735 when the face settings are significantly different from the defaults.
7a3d0e0e 7736
14473664
SM
77372000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7738
7739 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7740 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7741 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7742 (BIT_UNIBYTE): Remove.
7743 (re_match_2_internal): Delete corresponding code and streamline the
7744 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7745 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7746 (re_wctype_t): New type.
7747 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7748 (regex_compile): Use them and fix handling of overly long char classes.
7749
c1174479
AI
77502000-09-03 Andrew Innes <andrewi@gnu.org>
7751
f8803e97
AI
7752 * makefile.w32-in: Change to DOS line endings.
7753
c1174479
AI
7754 * s/ms-w32.h (ORDINARY_LINK): New define.
7755
7756 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7757 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7758
7759 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7760 (distclean): Delete them here instead.
7761
44ef7cf6
AI
7762 * w32proc.c (compare_env): Convert to uppercase for comparison,
7763 not lowercase, to match how the native Windows shell works.
7764
49b3bd82
JR
77652000-09-03 Jason Rumney <jasonr@gnu.org>
7766
7767 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7768 CVS changes the line-ends when checking in/out on DOS/Windows.
7769
7770 * makefile.nt (emacs): Do not change directory to run temacs, as
7771 the load-path is set relative to current directory.
7772
a3d35a39
MB
77732000-09-03 Miles Bader <miles@gnu.org>
7774
7775 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7776
d276b0cf
GM
77772000-09-02 Gerd Moellmann <gerd@gnu.org>
7778
715e84c9
GM
7779 * xdisp.c (redisplay_mode_lines): New function.
7780 (display_mode_lines): Return number of mode lines displayed.
7781 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7782 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7783
8892f40b
GM
7784 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7785 string.h and strings.h.
7786 (index) [HAVE_INDEX]: Add prototype.
7787
d276b0cf
GM
7788 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
7789 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
7790
7791 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
7792 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7793
38404229
GM
77942000-09-01 Gerd Moellmann <gerd@gnu.org>
7795
7796 * lread.c (read1): Accept `?' as symbol constituent, for
7797 compatiblity with XEmacs.
7798
c0f9ea08
SM
77992000-08-31 Stefan Monnier <monnier@cs.yale.edu>
7800
7801 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
7802 (struct re_pattern_buffer): Remove newline_anchor.
7803 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
7804 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
7805 (re_max_failures, fail_stack): Use size_t rather than unsigned.
7806 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
7807 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
7808 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
7809 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
7810 Get rid of references to newline_anchor.
7811 (regcomp): Allocate and precompute a fastmap.
7812
8c0f83fe
GM
78132000-08-31 Gerd Moellmann <gerd@gnu.org>
7814
7815 * lread.c (openp): GCPRO local variable `filename'.
7816
4bb91c68
SM
78172000-08-30 Stefan Monnier <monnier@cs.yale.edu>
7818
7819 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
7820
7821 * regex.c: Merge some changes from GNU libc. Add prototypes.
7822 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
7823 Use memcmp and memcpy instead of bcopy and bcmp.
7824 (init_syntax_once): Use ISALNUM.
7825 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
7826 (REG_UNSET_VALUE): Remove. Use NULL instead.
7827 (REG_UNSET, re_match_2_internal): Use NULL.
7828 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
7829 New macros.
7830 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
7831 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
7832 (regex_compile): In handle_interval, return an error rather than try to
7833 unfetch the interval if we can't find the closing brace.
7834 Obey the RE_NO_GNU_OPS syntax bit.
7835 (TOLOWER): New macro.
7836 (regcomp): Use it.
7837 (regexec): Allocate regs.start and regs.end as one block.
7838
5226a931
GM
78392000-08-30 Gerd Moellmann <gerd@gnu.org>
7840
868dd24b
GM
7841 * xdisp.c (echo_area_display): Check display_completed instead
7842 of calling detect_input_pending.
7843
7844 * dispnew.c (update_frame): Only set display_completed here; move
7845 the update_begin and update_end calls here from update_frame_1.
7846 (update_frame_1): Don't set display_completed here, don't call
7847 update_begin/update_end.
7848
5226a931
GM
7849 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
7850 instead of store_frame_param.
7851
2a8bd25f
GM
78522000-08-29 Gerd Moellmann <gerd@gnu.org>
7853
7854 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
7855 desired window matrix hasn't been displayed, use the current row
7856 instead. Make sure that only those frame rows are updated for
7857 which there exists a corresponding enabled desired row.
52283633 7858
ba3478d9
MB
78592000-08-29 Miles Bader <miles@gnu.org>
7860
7861 * xfaces.c (default_face_vector): New function.
7862 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
7863
87d0f685
GM
78642000-08-29 Gerd Moellmann <gerd@gnu.org>
7865
7866 * lread.c (openp): Prevent temporary string passed to
7867 Ffile_readable_p from being garbage collected.
7868
6fa86045
DL
78692000-08-28 Dave Love <fx@gnu.org>
7870
7871 * keymap.c (store_in_keymap): Add `static' to declaration.
7872
bb17930d
GM
78732000-08-28 Gerd Moellmann <gerd@gnu.org>
7874
7875 * emacs.c, callint.c, doc.c, editfns.c
7876 (toplevel) [HAVE_STRING_H]: Include string.h.
7877 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
7878 (index): Remove prototypes which might conflict with non-standard
7879 definitions of index/strchr.
7880
7881 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
7882 (rindex): Define only if !HAVE_RINDEX.
7883
7884 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
7885
7886 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
7887
87188200
MB
78882000-08-28 Miles Bader <miles@gnu.org>
7889
7890 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
7891 made inconsistent by a font-related attribute in FROM.
7892 (merge_face_inheritance): Add function comment.
7893
41a68aef
KH
78942000-08-28 Kenichi Handa <handa@etl.go.jp>
7895
7896 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
7897 the 4th arg (PREV_EVENT) Qt to suppress input method.
7898
f7c436c1
SM
78992000-08-27 Stefan Monnier <monnier@cs.yale.edu>
7900
0b32bf0e
SM
7901 * regex.c: Indent cpp directives and remove parens after `defined'.
7902 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
7903 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
7904 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
7905 (re_compile_pattern): Use size_t for length.
7906 (init_syntax_once): Move to a better place.
7907 * regex.h: Merge changes from GNU libc. Indent cpp directives.
7908 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
7909
f7c436c1
SM
7910 * syntax.c (back_comment): Detect cases where a comment-starter is
7911 actually inside another comment as in: /* a // b */ c // d \n.
7912 Make it clear that `comstart_pos' is unused for nested comments.
7913
7914 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
7915 (KEYMAPP): New macro.
7916 (Fkeymap_parent, Fset_keymap_parent): Use it.
7917 (fix_submap_inheritance): Mark it static.
7918 (define_as_prefix, describe_buffer_bindings, describe_command)
7919 (describe_translation, describe_map): Complete prototypes.
7920
7921 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
7922
7923 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
7924 to better match the key-lookup behavior.
7925
6288c62f
GM
79262000-08-27 Gerd Moellmann <gerd@gnu.org>
7927
7928 * xfaces.c (lface_fully_specified_p): Handle :inherit.
7929 (Finternal_set_lisp_face_attribute): Fix typo in error message.
7930
e931344e
EZ
79312000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
7932
7933 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
7934 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
7935 (xterm.o): Depend on coding.h
7936
d10dfeef
KH
79372000-08-26 Kenichi Handa <handa@etl.go.jp>
7938
7939 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
7940 the corresponding '#endif'.
7941
2d73e8d3
MB
79422000-08-26 Miles Bader <miles@gnu.org>
7943
7944 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
7945 * xfaces.c (QCinherit): New variable.
7946 (syms_of_xfaces): Initialize it.
7947 (LFACE_INHERIT): New macro.
7948 (Finternal_get_lisp_face_attribute)
52283633 7949 (merge_face_vector_with_property)
2d73e8d3
MB
7950 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
7951 (check_lface_attrs): Allow new types of face height. Check
7952 inherit attribute.
7953 (CYCLE_CHECK): New macro.
7954 (merge_face_inheritance): New function.
7955 (merge_face_vectors): Merge inherited faces too. Add F and
7956 CYCLE_CHECK arguments.
7957 (merge_face_vector_with_property, Finternal_merge_in_global_face)
7958 (lookup_named_face, lookup_derived_face, realize_named_face)
7959 (face_at_string_position, face_at_buffer_position): Supply
7960 new F and CYCLE_CHECK arguments to merge_face_vectors.
7961 (merge_face_heights): New function.
52283633 7962 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
7963 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
7964 handle relative face heights.
7965 (lface_same_font_attributes_p): Compare heights using EQ.
7966
6ce974d4
KH
79672000-08-26 Kenichi Handa <handa@etl.go.jp>
7968
7969 * charset.c (char_to_string): Check the character validity.
52283633 7970 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 7971
dc1e502d
SM
79722000-08-25 Stefan Monnier <monnier@cs.yale.edu>
7973
7974 * regex.c (PUSH_FAILURE_COUNT): New macro.
7975 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
7976 Handle popping of a register's or a counter's data.
7977 (POP_FAILURE_POINT): Use the new name.
7978 (re_match_2_internal): Push counter data on the stack for succeed_n,
7979 jump_n and set_number_at and remove misleading dead code in succeed_n.
7980
bd9d0f3f
GM
79812000-08-25 Gerd Moellmann <gerd@gnu.org>
7982
7983 * xdisp.c (redisplay_internal): If considering all windows on all
7984 frames, update the display for each frame as soon as possible,
7985 instead of first building all desired matrices for all frames, and
7986 then updating them all.
7987 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
7988
aa5b8e15
GM
79892000-08-24 Gerd Moellmann <gerd@gnu.org>
7990
17494071
GM
7991 * bytecode.c (mark_byte_stack): Add a comment.
7992
52283633
SM
7993 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
7994 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
7995 a graphical frame.
7996
c543db81
KH
79972000-08-24 Kenichi Handa <handa@etl.go.jp>
7998
d246d5f5
KH
7999 * minibuf.c (do_completion): Always use compare-string, not
8000 string-equal because the latter doesn't pay attention to
8001 multibyteness of strings.
8002
c543db81
KH
8003 * process.c (create_process): Don't setup raw-text coding here.
8004 (Fopen_network_stream): Don't set coding->src_multibyte and
8005 coding->dst_multibyte here.
8006 (read_process_output): For process filter, return unibyte string
8007 if default-enable-multibyte-characters is nil.
8008 (send_process): If OBJECT is multibyte text, be sure to encoded it
8009 by the specified coding system for the process. Otherwise, setup
8010 raw-text coding.
52283633 8011 (init_process): Don't initialize default-process-coding-system here.
c543db81 8012
9b47cfe0
EZ
80132000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8014
8015 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8016 <scroll-down-aggressively>: Likewise.
8017
f5a36960
KH
80182000-08-23 Kenichi Handa <handa@etl.go.jp>
8019
8020 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8021 zero. Set coding->produced_char correctly.
8022
69a7ffa7
AI
80232000-08-22 Andrew Innes <andrewi@gnu.org>
8024
8025 * makefile.w32-in: New file.
8026
8027 * unexw32.c (unexec): Ignore old_name, and use the actual location
8028 of the current executable instead. Base new_name on this.
8029
8030 * w32proc.c (create_child): Remove reference to security
8031 descriptor, which isn't needed and doesn't compile with mingw32.
8032
8033 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8034 up dllimport attributes.
8035 (x_update_window_end): Update prototype.
8036
8037 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8038 extern, which screws up dllimport attributes.
8039
8040 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8041 up dllimport attributes.
8042
8043 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8044 screws up dllimport attributes.
8045
8046 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8047 up dllimport attributes.
8048 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8049 screws up dllimport attributes.
8050
8051 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8052 up dllimport attributes.
8053
8054 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8055 screws up dllimport attributes.
8056
8057 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8058 screws up dllimport attributes.
8059
8060 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8061 up dllimport attributes.
8062
8063 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8064 unnecessary extern, which screws up dllimport attributes.
8065 (main): Ditto.
8066
8067 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8068 up dllimport attributes.
8069
8070 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8071 unnecessary extern, which screws up dllimport attributes.
8072
8073 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8074 screws up dllimport attributes.
8075
8076 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8077 up dllimport attributes.
8078
8079 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8080
52283633
SM
8081 * w32bdf.c (search_file_line):
8082 (set_bdf_font_info):
8083 (seek_char):
8084 (w32_get_bdf_glyph):
69a7ffa7
AI
8085 (w32_BDF_to_x_font): Fix compile warnings.
8086
52283633 8087 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8088
8089 * w32select.c: Include keyboard.h before frame.h.
8090
8091 * w32fns.c (max): Define macro.
8092 (JOHAB_CHARSET): Define if not known.
8093 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8094 (Fx_show_tip): Synch with X version.
8095
8096 * w32xfns.c: Include keyboard.h before frame.h.
8097
8098 * w32fns.c: Include keyboard.h before frame.h.
8099
8100 * w32term.c: Include keyboard.h before frame.h.
8101
8102 * fontset.c: Include keyboard.h before frame.h.
8103
8104 * w32inevt.c: Include keyboard.h before frame.h.
8105 (MOUSE_MOVED): Define if not known.
8106
8107 * minibuf.c: Include keyboard.h before frame.h.
8108
8109 * keyboard.c: Include keyboard.h before frame.h.
8110
8111 * indent.c: Include keyboard.h before frame.h.
8112
8113 * dispnew.c: Include keyboard.h before frame.h.
8114
8115 * buffer.c: Include keyboard.h before frame.h.
8116
8117 * alloc.c: Include keyboard.h before frame.h.
8118
8119 * print.c: Include keyboard.h before frame.h.
8120
8121 * process.c: Include keyboard.h before frame.h.
8122
8123 * scroll.c: Include keyboard.h before frame.h.
8124
8125 * sysdep.c: Include keyboard.h before frame.h.
8126
8127 * term.c: Include keyboard.h before frame.h.
8128
8129 * window.c: Include keyboard.h before frame.h.
8130
8131 * xdisp.c: Include keyboard.h before frame.h.
8132 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8133
8134 * frame.c: Include keyboard.h before frame.h.
8135
8136 * w32heap.h: Undefine min, max.
8137
8138 * w32gui.h: Undefine min, max.
8139
8140 * unexw32.c: Change PUCHAR to PCHAR.
8141 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8142 (relocate_offset):
8143 (get_section_info):
69a7ffa7
AI
8144 (copy_executable_and_dump_data): Remove unnecessary static defs.
8145 (copy_executable_and_dump_data): Fix compile warnings.
8146
8147 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8148
8149 * w32console.c (min): Define macro.
8150 (clear_frame, write_glyphs): Fix compile warning.
8151
52283633 8152 * w32proc.c (compare_env):
69a7ffa7
AI
8153 (find_child_console): Fix compile warning.
8154
8155 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8156 sys_errlist instead of _sys_errlist.
8157 (get_emacs_configuration_options): New function.
8158
8159 * s/ms-w32.h (sys_nerr): Provide default definition.
8160 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8161 name with _ prepended.
8162 (NSIG): Define if not known.
8163 (get_emacs_configuration): Provide extern declaration.
8164 (get_emacs_configuration_options): Provide extern declaration.
8165 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8166
8167 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8168 (map_w32_filename):
69a7ffa7
AI
8169 (read_unc_volume): Fix compile warning.
8170
8171 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8172 definitions from being used.
8173
8174 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8175
52283633 8176 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8177 (open_unc_volume): Make arg const.
8178
8179 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8180 (read_input_waiting): Remove excess parameter.
8181
8182 * w32.c (init_environment): Call _access.
8183 (check_windows_init_file): Call _close.
8184 (init_user_info): Call _putenv.
8185 (init_environment): Call _putenv and _strdup.
8186 (init_ntproc): Reset volume info cache on startup.
8187
8188 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8189 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8190 cannot override the CRT malloc.
8191
8192 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8193 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8194
8195 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8196 unless we are linking with a static CRT.
8197 (RVA_TO_PTR): Cast result to unsigned char*.
8198
8199 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8200 (add_volume_info): Use xstrdup.
8201
25060080
SM
82022000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8203
8204 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8205 (do_completion, Fminibuffer_complete_word): Use it.
8206 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8207 var so it can take non-boolean values.
8208
6917e6bb
GM
82092000-08-21 Gerd Moellmann <gerd@gnu.org>
8210
acb7cc89 8211 * editfns.c (find_field): Formatting changes.
52283633 8212 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8213 changed to prototypes, some new protypes added, some functions
8214 made static.
8215
8216 * lisp.h (set_time_zone_rule): Add prototype.
8217 (use_dialog_box): External declaration.
8218
0bbfdc25
GM
8219 * keyboard.c (gen_help_event): Add parameter SIZE.
8220 (kbd_buffer_events_waiting): Slightly rewritten.
8221 (clear_event): New function.
8222 (kbd_buffer_get_event): Use it, and clear the input_events of
8223 HELP_EVENTs.
8224 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8225 don't fill the newly created array with nils.
8226 (toplevel): Convert some old-style function forward declarations
8227 to prototypes.
8228
8229 * keyboard.h (gen_help_event): Change prototype.
8230
8231 * xterm.c (XTread_socket): Change calls to gen_help_event.
8232
8233 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8234
6917e6bb
GM
8235 * eval.c (Fmacroexpand): Doc fix.
8236
e5cd3d11
JR
82372000-08-20 Jason Rumney <jasonr@gnu.org>
8238
8239 * w32term.h (x_display_info_for_display): Remove as this function
8240 does not exist on W32.
8241
8242 * w32term.c (help_echo_window): New variable.
8243 (syms_of_w32term): staticpro it.
8244 (note_mode_line_highlight): Set it.
8245 (XTextExtents16): Removed as there is no equivalent on W32.
8246 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8247 the X way of doing this will not work for W32.
8248 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8249 (x_draw_image_foreground): Avoid drawing outside of the clip area
8250 when image doesn't have a mask.
8251 (note_mouse_highlight): Process overlays in the right order of
8252 priority. Set help_echo_window.
8253 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8254 because that's more visible for large images.
8255
8256 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8257 name to single_keymap_panes.
8258 (w32_menu_show): Set wv->title when dealing with titles.
8259 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8260
6e69ab8c
MB
82612000-08-21 Miles Bader <miles@gnu.org>
8262
8263 * minibuf.c (do_completion): Try again if we rewrite the input
8264 string, but no completion was done, so that any completion message
8265 will be correct.
8266
511bd4eb
GM
82672000-08-20 Gerd Moellmann <gerd@gnu.org>
8268
8269 * xfaces.c (lface_equal_p): Compare strings differently.
8270 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8271 (realize_tty_face): Use them.
8272 (syms_of_xfaces): Initialize new variables.
8273 (map_tty_color): New function, extracted from realize_tty_face.
8274 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8275 foreground or background color, store the new color name in the
8276 realized face; previous code trying to do this had no effect.
8277 (realize_tty_face): Use map_tty_color.
8278 (Fclear_face_cache): Set face_change_count and ensure thorough
8279 redisplay.
8280
1433385f
GM
82812000-08-19 Gerd Moellmann <gerd@gnu.org>
8282
511bd4eb
GM
8283 * undo.c (record_first_change, record_marker_adjustment): Don't
8284 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8285
419ac0a2
KH
82862000-08-18 Kenichi Handa <handa@etl.go.jp>
8287
8288 * coding.c (decode_coding_string): Set members consumed,
8289 consumed_char, produced, produced_char of *coding correctly. If
8290 decode_coding doesn't consume any byte, don't try anymore.
8291 (encode_coding_string): Likewise.
8292
7eb9e30d
GM
82932000-08-18 Gerd Moellmann <gerd@gnu.org>
8294
511bd4eb
GM
8295 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8296 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8297
8298 * xdisp.c (redisplay_internal): Compare windows for equality with
8299 EQ, instead of applying XWINDOW to something that might not
8300 be a window.
52283633 8301
dd34a735
KH
83022000-08-18 Kenichi Handa <handa@etl.go.jp>
8303
8304 * fontset.c (Finternal_char_font): Search only the selected frame
8305 for a window of the current buffer.
8306
385ff9e3
GM
83072000-08-18 Gerd Moellmann <gerd@gnu.org>
8308
511bd4eb 8309 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8310 Lisp_Objects.
8311
385ff9e3
GM
8312 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8313 second half of a HELP_EVENT is found at the start of kbd_buffer.
8314
d6abb4c7
MB
83152000-08-18 Miles Bader <miles@gnu.org>
8316
4618074a
MB
8317 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8318
d6abb4c7
MB
8319 * editfns.c (save_restriction_save): Rewrite to use markers.
8320 (save_restriction_restore): Rewrite to understand new form of data
8321 saved by save_restriction_save.
8322 (Fsave_restriction): Remove cautionary note in doc-string.
8323
a7b28523
GM
83242000-08-17 Gerd Moellmann <gerd@gnu.org>
8325
8326 * fileio.c (build_annotations): Add a comment explaining the
8327 return value of format-annotate-function. Replace a spurious call
8328 to Flength with a CONSP test. Call format-annotate-function with
8329 a fifth arg specifying how many times the function is been called
8330 in a row, to let it choose temporary buffers appropriately.
8331
03c9ed77
DL
83322000-08-17 Dave Love <fx@gnu.org>
8333
8334 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8335 declare make_temp_name twice.
8336
52283633 8337 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8338 (unreadpure): Give it an arg.
8339
8340 * unexalpha.c: Prototype fatal_unexec, mark_x,
8341 update_dynamic_symbols. Declare unexec as void.
8342
8343 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8344 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8345
8346 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8347 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8348
8349 * alloca.c: Use #error.
8350 [POINTER_TYPE]: Use it.
8351
8352 * eval.c (Fdefvar): Doc fix.
8353
8354 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8355 INITIALIZE_INTERVAL.
8356
8357 * buffer.h: Avoid DECLARE_INTERVALS.
8358
8359 * config.in: Add size_t.
8360
aae41d97
EZ
83612000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8362
8363 * w16select.c (set_clipboard_data): If there's not enough memory
8364 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8365 expects. In case of other failures, return 3.
8366 (system_error_msg): New error message.
8367 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8368 system_error_msg.
8369
65aa5e85
GM
83702000-08-16 Gerd Moellmann <gerd@gnu.org>
8371
8372 * term.c (write_glyphs): Also turn off inverse video after turning
8373 off other appearances in case TS_exit_attribute_mode is not equal
8374 to TS_end_standout_mode.
8375 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8376 with the same face.
8377 (turn_off_face): Reset standout_mode only if
8378 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8379 is equal to TS_end_standout_mode.
8380
ece23901
KH
83812000-08-16 Kenichi Handa <handa@etl.go.jp>
8382
9d7bcb2e
KH
8383 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8384 sequence at the end of the source block.
8385
ece23901
KH
8386 * ccl.c (Fccl_program_p): Docstring modified.
8387 (Fccl_execute): Likewise.
8388 (Fccl_execute_on_string): Likewise.
8389
5e30eaa2
EZ
83902000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8391
8392 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8393
290602fd
KH
83942000-08-16 Kenichi Handa <handa@etl.go.jp>
8395
8396 The following changes are mainly to fix bugs of
8397 encode/decode-coding-string failing if encoding/decoding return
8398 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8399 variable conversion_buffer.
8400
8401 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8402 decrement dst_end to avoid buffer overflow in the later call of
8403 string_as_multibyte
8404
8405 * coding.h (conversion_buffer_size, conversion_buffer)
8406 (get_conversion_buffer): Extern deleted.
8407
8408 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8409 (conversion_buffer, conversion_buffer_size): Variables deleted.
8410 (get_conversion_buffer): Function deleted.
8411 (struct conversion_buffer): New structure.
8412 (MAX_ALLOCA): New macro.
8413 (allocate_conversion_buffer): New macro.
8414 (extend_conversion_buffer, free_conversion_buffer): New functions.
8415 (ccl_coding_driver): Set coding->result.
8416 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8417 this is the last block of source.
8418 (encode_coding): Likewise. Handle the source block as the last
8419 one only when the whole source text is consumed.
8420 (decode_coding_string): Handle the case that the output buffer is
8421 too small to decode the whole source text. Use
8422 allocate_conversion_buffer, extend_conversion_buffer and
8423 free_conversion_buffer, not get_conversion_buffer.
8424 (encode_coding_string): Likewise.
8425 (init_coding): Function deleted.
52283633 8426 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8427
8428 * emacs.c (main): Don't call init_coding.
8429
52283633 8430 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8431
8432 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8433 (insert_glyphs): Likewise.
8434
8435 * w32console.c (write_glyphs): Use a locally declared
8436 conversion_buffer.
8437
b9f80d41
EZ
84382000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8439
8440 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8441 member of display_info is NULL.
8442
32dc52f7
GM
84432000-08-15 Gerd Moellmann <gerd@gnu.org>
8444
52283633 8445 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8446
32dc52f7 8447 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8448 appearances with capability `me'.
32dc52f7
GM
8449 (write_glyphs): Switch on inverse video before each face change.
8450
4eb22d33
DL
84512000-08-14 Dave Love <fx@gnu.org>
8452
8453 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8454 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8455 (lisp_free): Declare and make static.
8456
8457 * window.c: Fix embedded comment.
8458 (syms_of_window): Fix doc string.
8459
90cbf47e
GM
84602000-08-14 Gerd Moellmann <gerd@gnu.org>
8461
52283633 8462 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
8463 make sure to print `C-' before `M-', like in the manual.
8464
440fc135
GM
84652000-08-11 Gerd Moellmann <gerd@gnu.org>
8466
8467 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8468 since they aren't relocated anymore.
52283633 8469 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
8470
8471 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 8472 partially visible line which is smaller than the window's height.
440fc135 8473
6e264fad
KH
84742000-08-11 Kenichi Handa <handa@etl.go.jp>
8475
8476 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 8477 the multibyte form of eight-bit-control characters.
6e264fad
KH
8478 (Fccl_execute_on_string): Initialize ccl->multibyte.
8479
8480 * ccl.h (struct ccl_program): New member multibyte.
8481
8482 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
8483
c371f69a
KH
84842000-08-11 Kenichi Handa <handa@etl.go.jp>
8485
8486 * regex.c (regex_compile) <normal_char>: Pay attention to
8487 multibyteness.
8488 (analyse_first) <exactn>: Setup fastmap correctly for
8489 eight-bit-control characters.
8490
84912000-08-11 Kenichi Handa <handa@etl.go.jp>
8492
52283633 8493 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
8494
8495 * keyboard.c (make_lispy_event): Handle the new event type
8496 multibyte_char_keystroke.
8497
8498 * xterm.c: Include coding.h.
8499 (XTread_socket): Work around a bug of XmbLookupString. If the
8500 input is from XIM, decode it according to the current locale. In
8501 that case, generate multibyte_char_keystroke events.
8502
b8ddbe71
KH
85032000-08-11 Kenichi Handa <handa@etl.go.jp>
8504
8505 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
8506 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
8507
47589c8c
GM
85082000-08-10 Gerd Moellmann <gerd@gnu.org>
8509
8510 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
8511 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
8512 (move_it_in_display_line_to): Record iterator's ascent and descent
8513 before producing glyphs, and restore them when we know the glyph
8514 doesn't fit on the line.
8515 (move_it_to): Restructured so that it's easier to debug. If
8516 moving to a vpos, and not moving to an x or character position,
8517 stop as soon as the specified vpos is reached; don't move further
8518 into that line because that might change the computed line height.
8519 (try_cursor_movement): New function, extracted from the cursor
8520 movement branch of redisplay_window. If ending on a partially
8521 visible line, don't try to scroll if the cursor line is taller
8522 than the window.
8523 (redisplay_window): Use try_cursor_movement.
8524
8525 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8526 because that function doesn't cope with variable-height lines.
8527
8528 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8529 box cursor because that's better visible for large images.
52283633 8530
c51bacd6
MB
85312000-08-10 Miles Bader <miles@gnu.org>
8532
8533 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8534
bea56df7
GM
85352000-08-10 Gerd Moellmann <gerd@gnu.org>
8536
8537 * xdisp.c (Vmessages_buffer_name): New variable.
8538 (message_dolog): Use it.
8539 (syms_of_xdisp): Initialize it.
8540
99cd7364
EZ
85412000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8542
52283633 8543 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
8544 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8545 redundant now that keyboard.h is included.
8546
7d093d56
EZ
85472000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8548
8549 * keyboard.c (kbd_buffer_events_waiting): New function.
8550
8551 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8552
8553 * msdos.c: Include keyboard.h.
8554 (XMenuActivate): Empty no_event events from the event buffer. If
8555 no events are left after that, call clear_input_pending.
8556 (mouse_clear_clicks): New function, code moved from mouse_init.
8557 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8558 mouse driver to ``forget'' any past clicks.
8559
8560 * Makefile.in (msdos.o): Depend on keyboard.h.
8561
41e757a6
GM
85622000-08-09 Gerd Moellmann <gerd@gnu.org>
8563
8e7bd231
GM
8564 * lisp.h (input_pending): External declaration.
8565
8566 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8567
8e7bd231
GM
8568 * xdisp.c (echo_area_display): Display thoroughly if input is
8569 pending. Bind redisplay-dont-pause to t during the redisplay.
8570 in case input is pending.
8571
8572 * dispnew.c (Qredisplay_dont_pause): New variable.
8573 (syms_of_display): Initialize and staticpro it.
8574 (update_frame_1): Don't interrupt the display for pending input if
8575 redisplay_dont_pause is set.
52283633 8576
43028b7e
GM
8577 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8578
41e757a6
GM
8579 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8580
2f2174fa
KH
85812000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8582
8583 * callproc.c (Fcall_process): Terminate the unwind-protect around
8584 the post-read-conversion of coding system.
8585
0a6fd67e
MB
8586 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8587 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8588 * buffer.h (overlays_at): Update prototype.
8589 * xdisp.c (next_overlay_change): Update call to overlays_at.
8590 * xfaces.c (face_at_buffer_position): Likewise.
8591 * textprop.c (Fget_char_property): Likewise.
8592 * xterm.c (note_mouse_highlight): Likewise.
8593
0c80756e
MB
8594 * minibuf.c (do_completion): Don't consider a simple change of
8595 case as `completion'.
8596
975f250a
KR
85972000-08-08 Ken Raeburn <raeburn@gnu.org>
8598
52283633 8599 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8600 * undo.c (record_delete): Make sure last_point_position_buffer is
8601 a buffer before comparing pointers.
8602
8603 * coding.h (decode_coding_string): Declare.
8604
8605 * intervals.h (Fprevious_single_char_property_change): Declare.
8606
8607 * textprop.c (Fprevious_single_char_property_change): Don't do
8608 arithmetic directly on lisp objects.
8609
52283633 8610 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
8611
8612 * keyboard.h (menu_item_eval_property): Declare.
8613
8614 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8615 reuse as buffer name, instead of recreating (and discarding) every
8616 time a message is logged.
8617 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
8618 (current_message_1, truncate_message_1, set_message_1)
8619 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8620 (current_message, truncate_echo_area, display_echo_area)
8621 (resize_echo_area_axactly): Changed calls.
b347b3fd 8622
975f250a 8623 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 8624 Lisp object.
975f250a 8625 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 8626 must be an integer, not a Lisp object.
975f250a 8627
46dc9912
KH
86282000-08-08 Kenichi Handa <handa@etl.go.jp>
8629
8630 * charset.c (Fchar_width): Doc fix.
8631
9f6d1a6c
GM
86322000-08-08 Gerd Moellmann <gerd@gnu.org>
8633
8634 * charset.c (Fstring_width): Doc fix.
8635
ff3d9573
GM
86362000-08-07 Gerd Moellmann <gerd@gnu.org>
8637
41e757a6 8638 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
8639 line, clear ascent and descent members of the iterator structure;
8640 the height of the continued line does not affect the height of the
8641 continuation line.
8642 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8643 line taller than the window.
8644 (redisplay_window) <forced window start>: Handle case that the
8645 middle of the window is not found in any row.
8646 (dump_glyph_row): Show more information.
8647 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8648 first text line in a glyph matrix.
8649
8650 * xterm.c (x_draw_image_foreground): Avoid drawing outside
8651 of the clip area when image doesn't have a mask.
8652
70fc58b3
GM
8653 * fns.c (sweep_weak_table): Fix survival conditions for
8654 key-or-value and key-and-value weakness.
8655
8656 * .gdbinit (xhashtable): New command.
8657
ac0e96ee
GM
8658 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
8659 tables out of the list of all weak hash tables.
8660
ff3d9573
GM
8661 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
8662 a new buffer is created, make sure echo_area_buffer[] references
8663 the new buffer.
8664
e0d8827b
EZ
86652000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
8666
8667 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
8668 the doc string.
8669
c6f35378
KH
86702000-08-07 Kenichi Handa <handa@etl.go.jp>
8671
8672 * syntax.c (skip_chars): Fix previous change. Make the handling
8673 of unibyte string consistent with that of regex search.
8674
1fd4c450
GM
86752000-08-05 Gerd Moellmann <gerd@gnu.org>
8676
e49aa397
GM
8677 * xmenu.c (popup_get_selection): Use xfree instead of free.
8678
8679 * fileio.c (Finsert_file_contents): Use xfree instead of free.
8680
8681 * editfns.c (Ftranspose_regions): Use xfree instead of free.
8682
8683 * callproc.c (child_setup): Use xfree instead of free.
8684
8685 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
8686 instead of malloc.
8687 (run_mac_command, closedir): Use `xfree' instead of `free'.
8688
8689 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
8690
8691 * eval.c (error): Use xfree instead of free.
8692
1fd4c450
GM
8693 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
8694
8695 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8696 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8697
82d497fc
KH
86982000-08-05 Kenichi Handa <handa@etl.go.jp>
8699
8700 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8701 conversion.
8702
59f953a2
NF
87032000-08-04 Noah Friedman <friedman@splode.com>
8704
8705 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8706 docstring.
8707
688351f2
GM
87082000-08-04 Gerd Moellmann <gerd@gnu.org>
8709
8710 * syntax.c (skip_chars): Fix typo in error message.
8711
2dad51cc
AS
87122000-08-04 Andreas Schwab <schwab@suse.de>
8713
8714 * m/ia64.h: Moved from s/ia64.h.
8715
99bb2c60
KH
87162000-08-04 Kenichi Handa <handa@etl.go.jp>
8717
082a1df2
KH
8718 * process.c (read_process_output): Big simplification. Handle
8719 composition and post-read-conversion of coding system correctly.
8720 (send_process): Handle composition correctly.
8721
8722 * callproc.c (Fcall_process): Handle post-read-conversion of
8723 coding system if any.
8724
99bb2c60
KH
8725 * coding.c (decode_coding_iso2022): More strict check for handling
8726 single shifting.
082a1df2
KH
8727 (coding_restore_composition): Pay attention to the case that
8728 cmp_data is not set properly (because of invalid code in the
8729 source text).
8730 (run_pre_post_conversion_on_str): Include text properties in the
8731 resulting string.
8732 (decode_coding_string): Set members of coding correctly.
99bb2c60 8733
f4988be7
GM
87342000-08-03 Gerd Moellmann <gerd@gnu.org>
8735
8736 * s/ia64.h: New file.
8737
8738 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8739 Use NULL instead of 0 at the end of variable argument list of
8740 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8741 sizeof (int) < sizeof (void *).
8742
8743 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8744 of variable argument lists of XtVaGetValues and XtVaSetValues.
8745
8746 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8747 variable argument lists of XtVaGetValues and XtVaSetValues.
8748
ead53494
GM
87492000-08-02 Gerd Moellmann <gerd@gnu.org>
8750
8751 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8752 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8753
8754 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8755 prototype.
8756
8757 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8758 in call to Fsingle_key_description.
8759
8760 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8761 Callers changed.
8762
87632000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8764
8765 * window.c (display_buffer_reuse_frames): New variable.
8766 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8767 frames displaying BUFFER.
52283633 8768 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8769
10b0f752
MB
87702000-08-01 Miles Bader <miles@gnu.org>
8771
8772 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8773 when to constrain NEW_POS (they were pretty screwed up before).
8774
16425c4a
EZ
87752000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8776
8777 * msdos.c (run_msdos_command): Save and restore the master
8778 environment, for the case that child_setup signals an error.
8779 When mirroring slashes in DOS shell commands, don't fail when
8780 argv[2] has embedded blanks.
da288c14
EZ
8781 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8782 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8783 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8784
8785 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
8786 using alloca; free it after run_msdos_command returns.
8787
27f73852
DL
87882000-07-27 Dave Love <fx@gnu.org>
8789
52283633
SM
8790 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
8791 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
8792
8793 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
8794
c0261b5e
EZ
87952000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
8796
8797 * editfns.c (lisp_time_argument): Fix last change.
8798
b548072f
GM
87992000-07-27 Gerd Moellmann <gerd@gnu.org>
8800
3ab82477
GM
8801 * fns.c (Fdelete): Make it work on vectors and strings in addition
8802 to lists.
8803
b548072f
GM
8804 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
8805 (syms_of_fns): Initialize new variables.
52283633 8806 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
8807 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
8808 weakness, with t meaning the same as `key-and-value'.
8809
91ae8751
KH
88102000-07-27 Kenichi Handa <handa@etl.go.jp>
8811
8812 * coding.h (struct coding_system): Member safe_charset deleted.
8813
8814 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
8815 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
8816 New variables.
91ae8751
KH
8817 (coding_safe_chars): New function.
8818 (CODING_SAFE_CHAR_P): New macro.
8819 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 8820 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
8821 (detect_coding_iso2022): New local variable safe_chars.
8822 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
8823 safe_charsets member of the coding system.
8824 (decode_coding_iso2022): New local variable safe_chars.
8825 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
8826 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
8827 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
8828 (ENCODE_UNSAFE_CHARACTER): New macro.
8829 (encode_coding_iso2022): New local variable safe_chars. Check
8830 unsafe chars.
8831 (setup_coding_system): Delete the code to initialize
8832 coding->safe_charses
8833 (intersection, find_safe_codings): New functions.
8834 (Ffind_coding_systems_region_internal): New function.
8835 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
8836 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
8837 variable and initialize it.
8838
8839 * fns.c (char_table_ref_and_index): New function.
8840
8841 * lisp.h (char_table_ref_and_index): Add prototype.
8842
34a7a267
SS
88432000-07-26 Sam Steingold <sds@gnu.org>
8844
8845 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 8846 (Ffloat_time): New built-in Lisp function.
34a7a267 8847
a95cb10a
GM
88482000-07-26 Gerd Moellmann <gerd@gnu.org>
8849
3353ef5a
GM
8850 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
8851 for the character code.
8852
8853 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
8854 GNU/Linux.
8855
a95cb10a
GM
8856 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
8857 if called for a popup menu.
8858 (xmenu_show): Store help string in widget values.
8859
b4a12321
DL
88602000-07-26 Dave Love <fx@gnu.org>
8861
8862 * syswait.h: Move some definitions.
8863 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
8864 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
8865 perspicuous definitions.
8866 (WTERMSIG): Fix bit pattern used.
8867
13f5ad37
KH
88682000-07-26 Kenichi Handa <handa@etl.go.jp>
8869
8870 * print.c (print_object): If vector printing is truncated, print
8871 "..." to indicate it as well as the case of list printing.
8872
070fe99c
GM
88732000-07-25 Gerd Moellmann <gerd@gnu.org>
8874
969065c3
GM
8875 * xdisp.c (next_element_from_display_vector): Improve comments.
8876
8877 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
8878 for the character code, and the rest for the face id as in 20.x.
8879 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
8880
8881 * window.c (window_display_table): Cleaned up.
8882
070fe99c
GM
8883 * syntax.c (Fforward_word): Add last arg nil in call of
8884 Fconstrain_to_field.
8885
bad77ef7
EZ
88862000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
8887
969065c3 8888 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
8889 identical but for the letter-case, don't call
8890 barf_or_query_if_file_exists.
bad77ef7 8891
c28da489
MB
88922000-07-25 Miles Bader <miles@gnu.org>
8893
8894 * editfns.c (find_field): Honor special `boundary' fields.
8895 (Qboundary): New variables.
8896 (syms_of_editfns): Initialize Qboundary.
8897 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
8898 Use scan_buffer instead of find_before_next_newline, because it
8899 allows us to detect the boundary case where there's a newline at
8900 the search limit.
8901 * lisp.h (Fconstrain_to_field): Update external declaration.
8902
e3c31fd5
GM
89032000-07-24 Gerd Moellmann <gerd@gnu.org>
8904
8905 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
8906 if that is nil.
c28da489 8907
c66c29a2
DL
89082000-07-24 Dave Love <fx@gnu.org>
8909
8910 * s/sunos4-0.h, s/sol2.h:
8911 (LIBS_TERMCAP): Move from m/sparc.h.
8912
8913 * m/sparc.h (TERMINFO): Moved to system files (probably only
8914 relevant for sunos4 judging by its vintage).
8915 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
8916 __arch64__.
8917
fbe0a958
EZ
89182000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
8919
8920 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
8921 name to single_keymap_panes.
8922
7d88e5c9
AS
89232000-07-24 Andreas Schwab <schwab@suse.de>
8924
8925 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
8926
e024b101
GM
89272000-07-24 Gerd Moellmann <gerd@gnu.org>
8928
8929 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
8930 parameters instead of using int parameters. Expect FN to accept
8931 EMACS_INT parameters.
8932 (display_echo_area, resize_echo_area_axactly, current_message)
8933 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
8934 with new argument list.
8935 (resize_mini_window_1): New callback function.
8936 (current_message_1, truncate_message_1, set_message_1): Change
52283633 8937 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 8938
25c1a9ce
KH
89392000-07-24 Kenichi Handa <handa@etl.go.jp>
8940
8941 * fontset.c (fontset_ref): Remove INLINE declaration.
8942 (fontset_ref_via_base): Likewise.
8943 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
8944 to downcase.
8945
7f987ac0
EZ
89462000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
8947
8948 * msdos.c (IT_note_mouse_highlight): Process overlays in the
8949 correct order of priority. If help echo was found in an overlay,
8950 use that overlay as the object in which the help echo was found.
8951
e2db3069
MB
89522000-07-22 Miles Bader <miles@gnu.org>
8953
8954 * textprop.c (Fprevious_single_char_property_change): The initial
8955 property value should be from the position preceding POSITION, not
8956 following it.
8957
5e3203e4
EZ
89582000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
8959
8960 * coding.c (syms_of_coding): Doc fix for
8961 inhibit-iso-escape-detection.
8962
62145073
GM
89632000-07-21 Gerd Moellmann <gerd@gnu.org>
8964
c20aeb83
GM
8965 * xterm.c (note_mouse_highlight): Process overlays in the right
8966 order of priority.
34a7a267 8967
743934db
GM
8968 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
8969
8970 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 8971 overlay, use that overlay as the object in which the help was found.
743934db 8972
d1dc7e43 8973 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 8974
62145073
GM
8975 * window.c (foreach_window): Instead of a fake variable argument
8976 list, take one USER_DATA argument.
8977 (foreach_window_1): Likewise, and call callback functions with two
8978 args, the window and USER_DATA.
8979 (struct check_window_data): New struct.
8980 (check_window_containing): Use it.
8981 (window_from_coordinates): Set up a struct check_window_data for
8982 foreach_window.
8983 (add_window_to_list, freeze_window_start): Change parameters
8984 according to new calling convention.
8985
8986 * window.h (foreach_window): Change prototype.
8987
8988 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
8989
89902000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
8991
8992 * xmenu.c (menu_help_callback): Call show_help_echo with
8993 additional arguments OBJECT and POS.
8994
11270583
KH
89952000-07-21 Kenichi Handa <handa@etl.go.jp>
8996
07b14857
KH
8997 * data.c (Faset): Allow storing any multibyte character in a
8998 string. Convert unibyte string to multibyte if necessary.
8999
11270583
KH
9000 * xfns.c (x_encode_text): New function.
9001 (x_set_name): Use x_encode_text.
9002 (x_set_title): Likewise.
9003
9004 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9005
9006 * xterm.h (x_encode_text): Add prototype.
9007
bc75b4fd
DL
90082000-07-20 Dave Love <fx@gnu.org>
9009
9010 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9011 xfree, not free.
9012
48c14970
EZ
90132000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9014
9015 * msdos.c (help_echo_window): New variable.
9016 (syms_of_msdos): Initialize and staticpro it.
9017 (IT_note_mode_line_highlight): Set help_echo_window.
9018 (IT_note_mouse_highlight): Ditto.
9019 (dos_rawgetc): Store help_echo_window in the second event produced
9020 for HELP_EVENTs.
9021
9022 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9023 Record the object that generated the help echo and the position of
9024 that object in help_echo_object and help_echo_pos. Record that
9025 some glyphs in a row are displayed in mouse-face.
9026 (IT_update_begin): Don't clear mouse highlight unless one of the
9027 enabled glyph rows is marked as being displayed in mouse-face.
9028 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9029 and position recorded in help_echo_object and help_echo_pos to the
9030 event queue.
9031 (IT_menu_display): Accept a new argument PN: the pane number of
9032 the current menu pane. Record the pane number and the item
9033 number of the item which has associated help string.
9034 (XMenuActivate): Update the prototype for help_callback in
9035 function declaration. Call IT_menu_display with the current menu
9036 pane number as an additional argument. Call help_callback with
9037 two additional arguments: the pane number and the item number of
9038 the menu item associated with the help text.
9039 (help_echo_object, help_echo_pos): New variables.
9040 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9041
9042 * msdos.h (XMenuActivate): Update prototype.
9043
4279296d
GM
90442000-07-19 Gerd Moellmann <gerd@gnu.org>
9045
47db06aa
GM
9046 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9047 Add some more prototypes.
9048
9049 * xterm.c, xterm.h: Add some more prototypes.
9050
9051 * lisp.h (Fnext_single_char_property_change): Add prototype.
9052
9053 * dispnew.c (direct_output_for_insert): Remove confusing
9054 outer local variable mouse_face_overwritten_p.
9055 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9056
4279296d
GM
9057 * alloc.c (allocate_string_data): Don't copy old string contents.
9058
670acd62
KH
90592000-07-19 Kenichi Handa <handa@etl.go.jp>
9060
9061 * coding.c (code_convert_region): Delete text properties before
9062 shrinking the conversion region.
9063
7cea38bc
GM
90642000-07-18 Gerd Moellmann <gerd@gnu.org>
9065
dc1cac59
GM
9066 * dispnew.c (update_text_area): Write the whole row if it
9067 has mouse-face in it.
9068
85a8aca9
GM
9069 * xfaces.c (face-alternative-font-family-alist): Remove
9070 DEFVAR_LISP; staticpro instead.
9071
34a7a267 9072 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9073 new arguments.
9074
9075 * keyboard.c (show_help_echo): Add parameter WINDOW.
9076 (read_char): Call show_help_echo with window extracted from Lisp
9077 help event.
9078 (gen_help_event): Add parameter WINDOW.
9079
9080 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9081
9082 * xterm.c (help_echo_window): New variable.
52283633 9083 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9084 (XTread_socket): Pass help_echo_window to gen_help_event.
9085 (syms_of_xterm): Initialize and staticpro help_echo_window.
9086
f8276b77
DL
90872000-07-18 Dave Love <fx@gnu.org>
9088
52283633 9089 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9090
088831a6
GM
90912000-07-18 Gerd Moellmann <gerd@gnu.org>
9092
3d6cd763
GM
9093 * alloc.c (allocate_string_data): If string had already data
9094 assigned, copy old contents to new string data.
9095
9096 * coding.c (syms_of_coding): Fix typo in spelling of variable
9097 `inhibit-iso-escape-detection'.
9098
088831a6
GM
9099 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9100
9101 * Makefile.in: Add dependencies on dispextern.h.
9102 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9103 `free'; both can conflict with system header files.
9104
bc8a8d55
KH
91052000-07-18 Kenichi Handa <handa@etl.go.jp>
9106
9107 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9108 undefined.
9109
069f5950
DL
91102000-07-18 Dave Love <fx@gnu.org>
9111
9112 * window.c (Fwindow_list): Declare arg `window'.
9113
aa96c820
KH
91142000-07-18 Kenichi Handa <handa@etl.go.jp>
9115
9116 * coding.c (setup_coding_system): Don't override the explicitly
9117 specified designations.
9118
06be8d32
MB
91192000-07-15 Miles Bader <miles@gnu.org>
9120
9121 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9122 from `text_property_eq' and `text_property_stickiness', respectively.
9123 (find_field, Fconstrain_to_field, char_property_eq)
9124 (char_property_stickiness): Changed to call char-property functions
9125 instead of text-property-only ones.
9126
9127 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9128 `next_single_char_property_change'). Do more error checking, and
9129 cleanup limit behavior.
9130 (Fprevious_single_char_property_change): New function.
9131 (syms_of_textprop): Initialize new subrs.
9132
9133 * xdisp.c (display_prop_end, invisible_text_between_p):
9134 Call Fnext_single_char_property_change instead of
9135 next_single_char_property_change.
9136
3fddcdc3
JR
91372000-07-15 Jason Rumney <jasonr@gnu.org>
9138
9139 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9140 after menu is finished with.
9141 (add_menu_item): Only consider wv->title as a menu title.
9142 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9143
9144 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9145 null title.
9146 (FONT_REGEXP): Remove unused macro, and its sub-components.
9147 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9148
9149 * w32term.c (help_echo_object, help_echo_pos): New variables.
9150 (note_mode_line_highlight): Store additional information about the
9151 help-echo in help_echo_object and help_echo_pos. Check both
9152 `local-map' and `keymap' properties for changing the cursor
9153 (note_mouse_highlight): Store additional information about the
9154 help-echo in help_echo_object and help_echo_pos.
9155 (note_tool_bar_highlight): Set help_echo_object to nil and
9156 help_echo_pos to -1.
9157 (w32_read_socket): Use gen_help_event instead of filling
9158 input_events manually.
9159 (syms_of_w32term): Staticpro help_echo_object.
9160 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9161 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9162 (x_clear_mouse_face): New function.
9163 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9164 (x_update_window_begin): No need to turn off the mouse
9165 highlight here.
9166 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9167 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9168 (x_fill_stretch_glyph_string): Consume runs of stretch
9169 glyphs instead of a single one.
9170 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9171 with new argument list.
9172 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9173 (x_append_glyph, x_append_composite_glyph)
9174 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9175 changes in struct glyph starting 1999-12-27. See comments for
9176 xterm.c on 2000-07-05.
9177
178c5d9c
SS
91782000-07-14 Sam Steingold <sds@gnu.org>
9179
9180 * xfaces.c (realize_x_face): Fix the last patch:
9181 check `default_face' before dereferencing.
9182
6fe533f6
DL
91832000-07-14 Dave Love <fx@gnu.org>
9184
069f5950 9185 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9186
dd7b81cf
KH
91872000-07-14 Kenichi Handa <handa@etl.go.jp>
9188
0693904a 9189 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9190 default_face's fontset, not using the default fontset.
0693904a 9191
dd7b81cf
KH
9192 * coding.c (inhibit_iso_escape_detection): New variable.
9193 (syms_of_coding): Make it a Lisp variable.
9194 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9195 nonzero, ignore ISO2022's escape sequence.
9196
d5aa31d8
GM
91972000-07-14 Gerd Moellmann <gerd@gnu.org>
9198
e5acf0ca
GM
9199 * alloca.c (malloc) [emacs]: Define as xmalloc.
9200
bd23a692
GM
9201 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9202 use that instead of the mouse position. Add parameters DX and DY.
9203
9204 * dispextern.h (Fx_show_tip): Adjust number of parameters
9205 in prototype.
9206
9662da0b
GM
9207 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9208 if HELP is a function, call it with OBJECT and POS as parameters
9209 to get the help to display.
9210 (gen_help_event, kbd_buffer_store_help_event): New functions.
9211 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9212 (read_char): Call show_help_echo with new parameters.
9213
178c5d9c 9214 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9215 Add prototypes.
9216
9217 * xterm.c (help_echo_object, help_echo_pos): New variables.
9218 (note_mode_line_highlight): Store additional information about the
9219 help-echo in help_echo_object and help_echo_pos. Check both
9220 `local-map' and `keymap' properties for changing the cursor
9221 (note_mouse_highlight): Store additional information about the
9222 help-echo in help_echo_object and help_echo_pos.
9223 (note_tool_bar_highlight): Set help_echo_object to nil and
9224 help_echo_pos to -1.
9225 (XTread_socket): Use gen_help_event instead of filling
9226 input_events manually.
9227 (syms_of_xterm): Staticpro help_echo_object.
9228
9229 * xmenu.c (menu_highlight_callback): Use
9230 kbd_buffer_store_help_event instead of setting up and input_event
9231 structure manually.
9232
9233 * xdisp.c (eval_form): GCPRO argument sexpr.
9234 (call_function): New function.
9235 (handle_single_display_prop): Use call_function and FUNCTIONP
9236 instead of checking whether if font_height is a symbol and
9237 using eval_form.
9238
9239 * eval.c (internal_condition_case_2): New function.
9240
9241 * lisp.h (FUNCTIONP): New macro.
9242 (internal_condition_case_2, call_function): Add prototypes.
9243
d5aa31d8
GM
9244 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9245 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9246 Always set `arg' member of input_events.
9247 (construct_menu_click): Unused function removed.
9248
9249 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9250
9251 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9252 (construct_drag_n_drop, x_scroll_bar_handle_click)
9253 (w32_read_socket): Always set `arg' member of input_events.
9254
9255 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9256
9257 * lisp.h (eval_form): Add prototype.
9258
9259 * xdisp.c (eval_form): Make it externally visible.
9260
0f1a9b23
GM
92612000-07-13 Gerd Moellmann <gerd@gnu.org>
9262
9263 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9264 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9265 consing. For prefix events, store the frame in the `arg' slot of
9266 the event, otherwise store the key there.
9267 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9268 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9269
9270 * xmenu.c (menu_highlight_callback): Store help string in the
9271 `arg' member of the input event; don't cons.
9272 (menubar_selection_callback): Use the `arg' slot of input events
9273 to queue additional information, instead of consing.
9274
9275 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9276
9277 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9278 TOOL_BAR_EVENTs.
9279 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9280
9281 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9282 input events to queue additional information, instead of consing.
9283
9284 * keyboard.c (kbd_buffer_gcpro): Renamed from
9285 kbd_buffer_frame_or_window. Now used for all Lisp objects
9286 referenced from the input queue.
9287 (kbd_buffer_store_event): Always use structure assignment for
9288 copying input events. Record all Lisp objects referenced from
9289 events in kbd_buffer_gcpro.
9290 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9291 differently from input events. Test for prefix menu_bar_events
9292 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9293 event in kbd_buffer_gcpro to nil.
9294 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9295 frame_or_window is equal to its arg member as prefix events.
9296 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9297 used by an input event to nil.
9298 (init_keyboard): Use two times the size of the input queue
9299 for kbd_buffer_gcpro.
9300 (syms_of_keyboard): Likewise.
9301
52283633
SM
9302 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9303 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9304
9305 * termhooks.h (struct input_event): Add member `arg'.
9306 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9307 (USER_SIGNAL_EVENT): Renamed from user_signal.
9308
9309 * xfaces.c (ASET): Remove definition.
9310
9311 * lisp.h (AREF, ASET, ASIZE): New macros.
9312
9313 * fontset.c (AREF, ASIZE): Remove definitions.
9314
9315 * fns.c (AREF): Remove definition.
178c5d9c 9316
0f1a9b23
GM
9317 * composite.c (AREF): Remove definition.
9318
712eaef2
GM
93192000-07-12 Gerd Moellmann <gerd@gnu.org>
9320
d8ee7803
GM
9321 * dispnew.c (redraw_overlapped_rows): Add missing local.
9322 (scrolling_window): Remove debug code.
9323
712eaef2
GM
9324 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9325 Before scrolling, turn off a mouse-highlight in the window
9326 being scrolled.
9327
9328 * xterm.c (x_update_window_end): Add parameter
9329 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9330 redisplay in XTframe_up_to_date.
9331 (x_clear_mouse_face): New function.
9332 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9333
9334 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9335 current glyph row.
9336 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9337 it when any row is written to that contains glyphs highlighted in
9338 mouse-face.
9339 (update_window): Call the window update end hook with new
9340 parameter MOUSE_FACE_OVERWRITTEN_P.
9341 (direct_output_for_insert): Give up if row contains mouse-face.
9342
9343 * dispextern.h (struct redisplay_interface): Add parameter
9344 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9345 (clear_mouse_face): New function pointer member.
9346
02010917
SM
93472000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9348
9349 * syntax.c (back_comment): Use one switch rather than a few `if's.
9350 Obey open_paren_in_column_0_is_defun_start.
9351 When reverting to the `slow' method, try to nicely handle the case
9352 of nested comments by checking that the comment-starter we found
9353 does indeed match the comment-ender.
9354 (scan_sexps_forward, scan_sexps_forward):
9355 Ignore excessive opening parenthesis rather than throwing an error.
9356
d76c03ea
GM
93572000-07-11 Gerd Moellmann <gerd@gnu.org>
9358
9359 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9360 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9361
9362 * dispnew.c (direct_output_forward_char): Give up if currently
9363 displaying a message instead of the minibuffer contents.
9364
9365 * xterm.c (x_update_window_begin): No need to turn off the mouse
9366 highlight here.
9367 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9368 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9369
9370 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9371 compare the mouse_face_p flags of both rows.
9372
9373 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9374
d55ead18
EZ
93752000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9376
9377 * keyboard.c (show_help_echo): Accept additional parameter
9378 ok_to_overwrite_keystroke_echo.
9379 (read_char): Call show_help_echo with a zero
9380 ok_to_overwrite_keystroke_echo argument.
52283633 9381 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9382 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9383 ok_to_overwrite_keystroke_echo argument.
9384 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9385 non-zero ok_to_overwrite_keystroke_echo argument.
9386
df75b1a3
GM
93872000-07-10 Gerd Moellmann <gerd@gnu.org>
9388
4b92c49a
GM
9389 * xdisp.c (try_window_id): If changes are all below what is
9390 displayed in the window, and point is in the window, we still
9391 might have to find point on the display.
9392
9393 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9394 glyphs instead of a single one.
9395 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9396 with new argument list.
9397 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9398
df75b1a3
GM
9399 * keymap.c (get_keymap_1): Add comment that this function can GC.
9400 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9401 comment that functions can GC.
9402 (Fset_keymap_parent): GCPRO arg KEYMAP.
9403
4314cf3e
EZ
94042000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9405
9406 * msdos.c (XMenuActivate): After exiting the menu, restore the
9407 echo area message and erase it.
9408
ab49ce15
KH
94092000-07-10 Kenichi Handa <handa@etl.go.jp>
9410
9411 * fontset.c (Ffontset_info): Make the return value more compatible
9412 with that of Emacs 20.
9413
090a072f
GM
94142000-07-07 Gerd Moellmann <gerd@gnu.org>
9415
9416 * eval.c (Fsignal): Handle case that backtrace_list is null.
9417
f92de4a6
KH
94182000-07-07 Kenichi Handa <handa@etl.go.jp>
9419
9420 * ccl.c (Fccl_execute): Typo fixed.
9421
dd8888a1
GM
94222000-07-06 Gerd Moellmann <gerd@gnu.org>
9423
e5c81191 9424 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9425
dd8888a1
GM
9426 * window.c (Fwindow_list): Reverse list at the end.
9427 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9428 means allow windows on OWINDOW's frame, only.
9429 (window_loop): Simplified; use Fwindow_list.
9430
9431 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9432
485266d0
GM
94332000-07-05 Gerd Moellmann <gerd@gnu.org>
9434
9435 * xterm.c (XTread_socket): Increment handling_signal at the start,
9436 decrement it at the end.
9437
9438 * eval.c (handling_signal): New variable.
9439 (Fsignal): Abort if handling_signal is non-zero.
9440
9441 * lisp.h (handling_signal): External declaration.
178c5d9c 9442
485266d0
GM
9443 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9444
80fcd514
KR
94452000-07-05 Ken Raeburn <raeburn@gnu.org>
9446
9447 Sound support for NetBSD through "Linux emulation" support:
9448 * config.in (HAVE_SOUNDCARD_H): Undef.
9449 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9450 * Makefile.in (LIBSOUND): New variable.
9451 (LIBES): Include it.
52283633
SM
9452 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9453 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9454 (vox_open): Use DEFAULT_SOUND_DEVICE.
9455 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9456
d5c5cddd
GM
94572000-07-05 Gerd Moellmann <gerd@gnu.org>
9458
9459 * print.c (print_error_message): If Vsignaling_function is set,
9460 show it in *Messages*.
9461
9462 * lisp.h (Vsignaling_function): External declaration.
9463
9464 * eval.c (Vsignaling_function): New variable.
9465 (Fsignal): Compute it.
9466 (syms_of_eval): Staticpro it.
9467
65171e3a
DL
94682000-07-05 Dave Love <fx@gnu.org>
9469
9470 * syswait.h: Use the autoconf recommended approach. Old code
9471 #if'd out in case we need to revert.
9472
178c5d9c 9473 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 9474
e2c46326
AI
94752000-07-05 Andrew Innes <andrewi@gnu.org>
9476
9477 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
9478 when non-NULL instead of __morecore, to take account of buffer
9479 memory. This also solves a problem with spurious memory warnings
9480 on Windows.
9481
9482 * ralloc.c: Make real_morecore non-static.
9483
9484 * eval.c (internal_condition_case): Comment out abort if
9485 interrupt_input_blocked is not zero.
9486
9487 * makefile.nt: Add support for `bootstrap' and related targets.
9488 Include minimal debug info in emacs.exe in release build.
9489 Remove all dependencies on lisp.h, and fixup some others.
9490
9491 * w32.c (init_environment): Install code from 20.7 for providing
9492 default values for environment variables, based on the
9493 executable's own location.
52283633 9494 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
9495 (sys_socket): Install socket inheritance bug fix from 20.7.
9496
9497 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
9498 here via blockinput.h).
9499
a027a91b
SM
95002000-07-05 Stefan Monnier <monnier@cs.yale.edu>
9501
e4b31601
SM
9502 * w32menu.c (w32_menu_display_help):
9503 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
9504
9505 * keyboard.h (show_help_echo): Declare.
9506
9507 * keyboard.c (show_help_echo): New function, extracted from read_char.
9508 Feval its `msg' argument if it's a cons cell.
9509 (read_char): Use it.
4cf8d9d5 9510 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 9511
178c5d9c 9512 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 9513 (note_tool_bar_highlight, XTread_socket):
178c5d9c 9514 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
9515 (dos_rawgetc):
9516 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9517 (note_tool_bar_highlight, w32_read_socket):
9518 Do not gratuitously ignore non-string `help-echo' properties.
9519
88d75730
GM
95202000-07-05 Gerd Moellmann <gerd@gnu.org>
9521
969f7e79
GM
9522 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9523
71201b00
GM
9524 * window.c (delete_all_subwindows): Reset Vwindow_list.
9525
88d75730
GM
9526 * xterm.c (x_append_glyph, x_append_composite_glyph)
9527 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9528 changes in struct glyph starting 1999-12-27. Some bit-fields of
9529 struct glyph were not set, which made glyphs unequal when compared
9530 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9531 effects were the result. This also depended on the contents of
9532 memory returned by xmalloc. If flickering happens again, activate
9533 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9534 gone with that, chances are that it is caused by something similar.
88d75730
GM
9535
9536 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9537
88d75730
GM
9538 * dispextern.h: Add some comments.
9539
9540 * window.c (add_window_to_list): Add parameter LIST.
9541 (window_list): Order list so that, for each frame, windows are
9542 in canonical order, and so that frames appear in the list in
9543 the order given by Vframe_list.
9544 (next_window): Reverse the handling of NEXT_P.
9545
53654733
GM
95462000-07-04 Gerd Moellmann <gerd@gnu.org>
9547
87efd256
GM
9548 * window.c (Vwindow_list): New variable.
9549 (make_window, delete_window): Set Vwindow_list to nil.
9550 (check_window_containing): New function.
9551 (window_from_coordinates): Rewritten.
9552 (add_window_to_list, window_list, candidate_window_p)
9553 (decode_next_window_args, next_window): New functions.
52283633 9554 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
9555 (Fwindow_list): New function.
9556 (Fother_window): Cleaned up.
9557 (foreach_window): Add a longer "variable argument list". Let
9558 callback function return 0 to indicate that cycling over windows
9559 should stop.
9560 (foreach_window_1): Likewise.
9561 (freeze_window_start): Return int.
9562 (init_window): New function.
9563 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9564
9565 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9566 input_event with bzero.
9567 (main): Call init_window.
9568
53654733
GM
9569 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9570 a menu filter.
9571
4a8c194f
KH
95722000-07-04 Kenichi Handa <handa@etl.go.jp>
9573
9574 * composite.h (make_composition_value_copy): Extern it.
9575
9576 * composite.c (make_composition_value_copy): New function.
9577
9578 * editfns.c (Fformat): While copying text properties, make each
9579 composition property value a copy.
9580
9581 * fns.c (concat): While copying text properties, make each
9582 composition property value a copy.
9583
831a6cb0
GM
95842000-07-03 Gerd Moellmann <gerd@gnu.org>
9585
2f516940
GM
9586 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9587
178c5d9c 9588 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9589 marked already.
9590
831a6cb0
GM
9591 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9592 include those frames as candidates which have their focus
9593 redirected to the minibuffer frame.
9594
d9c4f922
SM
95952000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9596
9597 * fns.c (Fputhash): Return `value' rather than nil.
9598
3780bc22
GM
95992000-06-30 Gerd Moellmann <gerd@gnu.org>
9600
97d176db
GM
9601 * frame.c (next_frame): Don't check focus redirection in case
9602 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9603 unless their focus is redirected, which contradicts the
9604 specification of next-frame, and leads to infinite loops in
9605 certain situations when cycling through windows with next-window.
9606
dca9961d
KH
96072000-06-30 Kenichi Handa <handa@etl.go.jp>
9608
9609 * coding.c (code_convert_region): Even if the length of text is
9610 zero, try to convert it if coding->type is coding_type_ccl.
9611 (decode_coding_string, encode_coding_string): Likewise.
9612
d5483ab1
GM
96132000-06-28 Gerd Moellmann <gerd@gnu.org>
9614
af5c25e1 9615 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 9616 the display if windows_or_buffers_changed.
af5c25e1
GM
9617
9618 * dispnew.c (struct row_entry): New structure.
9619 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9620 (row_table_size, old_lines, new_lines, old_lines_size)
9621 (new_lines_size, run_pool, runs_size, runs): New variables.
9622 (add_row_entry): New function.
9623 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 9624 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
9625 holding them in local variables. Use a larger hash table whose
9626 size depends on glyph matrix sizes. Don't use bzero to clear the
9627 hash table; instead, clear used slots only.
9628
9629 * fns.c (next_almost_prime): Make it externally visible.
9630
9631 * lisp.h (next_almost_prime): Add prototype.
9632
d5483ab1
GM
9633 * s/isc4-0.h (sigunblock): Define.
9634
9635 * s/sco5.h (sigunblock): Define.
9636
93e40f40
DL
96372000-06-27 Dave Love <fx@gnu.org>
9638
9639 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9640 (moved to osf5-0.h).
9641 [!NOT_C_CODE]: Protect string.h stuff.
9642
9643 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9644 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9645
3c4b7685
GM
96462000-06-27 Gerd Moellmann <gerd@gnu.org>
9647
97d176db 9648 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
9649 below the last line from the needed window height.
9650
32cad0aa
SM
96512000-06-26 Stefan Monnier <monnier@cs.yale.edu>
9652
9653 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
9654 (Fwidget_get): Use it.
9655 (syms_of_fns): Defsubr it.
9656
2c69ced2
GM
96572000-06-26 Gerd Moellmann <gerd@gnu.org>
9658
178c5d9c 9659 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
9660 display info for XIM.
9661 (xim_open_dpy): Likewise.
9662 (xim_close_dpy): Don't free the display info's XIM.
9663
9664 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
9665
9666 * config.in (USE_XIM): New define.
9667
3fc720e4
GM
9668 * keymap.c (get_keyelt): For menu-items containing a `:filter
9669 FILTER', apply FILTER to the menu-item's definition to get the
9670 real definition to use.
9671
9672 * lisp.h (QCfilter): External declaration.
9673
2c69ced2
GM
9674 * xfns.c (Fimage_size): New function.
9675 (syms_of_xfns): Defsubr it.
9676
f978b2a2
AS
96772000-06-26 Andreas Schwab <schwab@suse.de>
9678
9679 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
9680 Fstring_as_unibyte.
9681
94cc7892
DL
96822000-06-25 Dave Love <fx@gnu.org>
9683
52283633 9684 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
9685
9686 * Makefile.in (blockinput.h): Depend on atimer.h.
9687 (atimer.h): Depend on systime.h.
9688
52283633 9689 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 9690
52283633 9691 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
9692
9693 * lisp.h (swap_in_global_binding): Declare.
9694
b8c24556
KR
96952000-06-24 Ken Raeburn <raeburn@gnu.org>
9696
9697 * process.c (Fopen_network_stream): Turn off atimers for duration
9698 of call to connect. (Patch from Gerd.)
9699
8cf8560b
DL
97002000-06-23 Dave Love <fx@gnu.org>
9701
511c7541
DL
9702 * ralloc.c: Maybe include unistd.h
9703
8cf8560b
DL
9704 * emacs.c (setgrp): Undefine before defining.
9705 (malloc_warning, set_time_zone_rule, index): Prototype.
9706
9707 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9708 HAVE_STRUCT_TIMEZONE.
9709
9710 * s/osf1.h: Move string.h hack here from alpha.h and make it
9711 conditional.
9712 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9713 _XOPEN_SOURCE.
9714 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9715 (SOCKLEN_TYPE): Don't define.
9716
9717 * m/alpha.h: Remove string.h hack.
9718
9719 * s/osf5-0.h: New file.
9720
9721 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9722 include time.h, done by systime.h.
9723 [__FreeBSD__]: Remove redundant includes.
9724
3fc720e4 9725 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9726 (delete_temp_file): Return Qnil to avoid warning.
9727
9728 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9729
9730 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9731 HAVE_X_WINDOWS.
9732
9733 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9734
9735 * composite.h (compose_text): Declare.
9736
9737 * xterm.c: Don't include sys/types.h unconditionally. Don't
9738 protect its inclusion with !USG (following xmenu.c).
9739
ea055732
GM
97402000-06-23 Gerd Moellmann <gerd@gnu.org>
9741
9742 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9743 in x_create_frame.
9744
74b01b80
EZ
97452000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9746
9747 * coding.c (decode_eol_post_ccl): Special handling for undecided
9748 and inconsistent EOL types.
9749
64f3a166
GM
97502000-06-22 Gerd Moellmann <gerd@gnu.org>
9751
16cf31f7
GM
9752 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9753 trough color and main window's background color.
9754
52283633 9755 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9756
9757 * xterm.h (Xt_app_con): External declaration.
9758
9759 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9760
486a103d
GM
9761 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9762
64f3a166
GM
9763 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9764 (handle_invisible_prop): Record the start of invisible text in
9765 it->add_overlay_start.
9766 (struct overlay_entry): Add member `overlay'.
9767 (handle_overlay_change): Simplify.
9768 (next_overlay_string): After having processed overlay strings at the
9769 end of the buffer, record that fact in
9770 it->overlay_strings_at_end_processed_p.
9771 (compare_overlay_entries): If before- and after-strings come
9772 from the same overlay, let before-strings come first.
9773 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9774 (load_overlay_strings): Take it->add_overlay_start into account
9775 when adding overlay strings.
9776
9777 * dispextern.h (struct it): Add member add_overlay_start.
9778
bb746ea6
DL
97792000-06-22 Dave Love <fx@gnu.org>
9780
9781 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9782
9783 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9784
a8f573f3
KH
97852000-06-22 Kenichi Handa <handa@etl.go.jp>
9786
9787 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
9788 is greater than 0.
9789
9f2bbc92
DL
97902000-06-21 Dave Love <fx@gnu.org>
9791
178c5d9c 9792 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 9793
3ee5041c
SM
97942000-06-21 Stefan Monnier <monnier@cs.yale.edu>
9795
9796 * syntax.c (back_comment): Simplify string-parity counting (with
9797 the added benefit of handling multiple string-styles as long as
9798 they are not intertwined).
9799 Jump to the slow code as soon as a comment starter is found in
9800 a "string_lossage" position. Fixes the case: " /* " /* " */.
9801
4c343001
DL
98022000-06-21 Dave Love <fx@gnu.org>
9803
9804 * Makefile.in: Use GETLOADAVG_LIBS.
9805
9806 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
9807 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
9808
e6365855
SM
98092000-06-20 Stefan Monnier <monnier@cs.yale.edu>
9810
9811 * syntax.c (describe_syntax): Recognize the `n'estable bit.
9812 (Fforward_comment, scan_lists):
9813 Check the comstyle of single-char comment-starters.
9814 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
9815 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
9816 Check the comstyle of single-char comment-starters.
9817 Clarify control-flow around the Scomment case.
e6365855 9818
5700d2cc
DL
98192000-06-20 Dave Love <fx@gnu.org>
9820
d355bd8a
SM
9821 * fns.c (make_hash_table, maybe_resize_hash_table):
9822 Cast arg of next_almost_prime.
5700d2cc 9823
178c5d9c 9824 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
9825
9826 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
9827 and unistd.h.
9828
4a27bdfb
GM
98292000-06-20 Gerd Moellmann <gerd@gnu.org>
9830
a61d762c 9831 * keyboard.c (adjust_point_for_property): Check if display
52283633 9832 property should be treated as intangible by looking at its value.
a61d762c 9833
178c5d9c 9834 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
9835 (display_prop_intangible_p): New functions.
9836
9837 * dispextern.h (display_prop_intangible_p): Add prototype.
9838
9839 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 9840
4a27bdfb
GM
9841 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
9842 argument to sigprocmask.
9843
9844 * s/sco5.h (sigblock): Redefined to pass a pointer as second
9845 argument to sigprocmask.
9846
9847 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
9848 sigprocmask_set, and pass a pointer to it to sigprocmask.
9849
9850 * sysdep.c (sigprocmask_set): New variable.
9851
9852 * fileio.c (make_temp_name): Don't use `%s' in string passed to
9853 report_file_error.
9854
427ec082
SS
98552000-06-20 Sam Steingold <sds@gnu.org>
9856
9857 * xrdb.c: Don't declare xmalloc, xrealloc.
9858
8972fe79 98592000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
9860
9861 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
9862 (re_comp): Cast gettext return value to avoid complaints when
9863 !HAVE_LIBINTL.
9864
074b6efe
DL
98652000-06-20 Dave Love <fx@gnu.org>
9866
52283633 9867 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 9868
5700d2cc 9869 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 9870
d355bd8a 9871 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
9872
9873 * m/alpha.h: Don't declare xmalloc, xrealloc.
9874
0af4f205
DL
9875 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
9876
9877 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
9878
9879 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
9880
9881 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
9882 HAVE_GETWD.
9883
074b6efe
DL
9884 * keyboard.h (poll_for_input_1): Declare.
9885
9886 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
9887
9888 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
9889
9890 * doprnt.c: Don't declare xmalloc, xrealloc.
9891
9892 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
9893 (getenv, ctime, getwd): Removed.
9894 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
9895
9896 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
9897 x_set_tool_bar_lines.
9898
9899 * config.in: Add HAVE_GETWD. Move some definitions above
9900 machine/system includes.
9901
68a5e97b
KH
99022000-06-20 Kenichi Handa <handa@etl.go.jp>
9903
95417e1e
KH
9904 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
9905
68a5e97b
KH
9906 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
9907 contain information about ENCODING.
9908
9909 * fontset.c (FONTSET_ASCII): Use the first element of char table
9910 for an ASCII font, not defalt slot.
9911 (fontset_ref_via_base): If FONTSET doesn't contain information for
9912 C, try the default fontset.
9913 (make_fontset): Don't copy the default fontset.
9914 (fontset_font_pattern): Likewise.
9915 (accumulate_font_info): If ELT is nil, use the corresponding
9916 element in the default fontset.
9917
3b4fa1b2
DL
99182000-06-19 Dave Love <fx@gnu.org>
9919
943e731c
DL
9920 * syntax.c (Fparse_partial_sexp): Doc fix.
9921
9922 * regex.h: Test PROTOTYPES as well as __STDC__.
9923
3b4fa1b2
DL
9924 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
9925 errno, strerror. Put text after #endif in comment.
9926
52283633 9927 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
9928
9929 * xterm.c (x_frame_of_widget): Likewise.
9930
cdf0357b
GM
99312000-06-19 Gerd Moellmann <gerd@gnu.org>
9932
9933 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
9934 to Vfundamental_mode_abbrev_table.
9935
9936 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
9937 bogus objects are marked. This slows down GC by ~80 percent, but
9938 it might be worth trying when debugging GC-related problems.
9939 This feature requires conservative stack marking to be enabled.
9940
9941 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
9942 returns XLookupChars, reset `modifiers' to zero.
9943
998e9f8c
DL
99442000-06-19 Dave Love <fx@gnu.org>
9945
9946 * mktime.c: Unprotoized.
9947
18e21ce8 99482000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
9949
9950 * data.c (set_internal): If variable is frame-local,
9951 store the new value immediately into the frame parameter alist.
9952
140c4ac6
KR
99532000-06-19 Ken Raeburn <raeburn@gnu.org>
9954
14358466
KR
9955 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
9956 in the custom handler pointer.
9957
140c4ac6
KR
9958 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
9959 value, or checks for CHAR_META can fail when Lisp_Object is a
9960 union type.
9961 * keymap.c (get_keyelt): Likewise.
9962
10d7bf84
KH
99632000-06-19 Kenichi Handa <handa@etl.go.jp>
9964
9965 * ccl.h (struct ccl_program): New member eol_type.
9966 (struct ccl_spec): New member cr_carryover.
9967
9968 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
9969 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
9970
9971 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
9972 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
9973 (decode_eol_post_ccl): New function.
9974 (decode_coding): Don't detect EOL format here for CCL based coding
9975 systems.
9976 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
9977 decode_eol_post_ccl after running the CCL program.
9978 (code_convert_region): Don't detect EOL format here for CCL based
9979 coding systems.
9980 (decode_coding_string): Likewise.
9981
52e386c2
KR
99822000-06-18 Ken Raeburn <raeburn@gnu.org>
9983
9984 * charset.c (update_charset_table): Use XINT on "iso_final_char"
9985 when treating it as an integer.
9986
9987 * coding.h (encode_coding_string): Declare.
9988
9989 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
9990 it as an integer.
9991
9992 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
9993 "xkeymap" to avoid shadowing the "enum map_type" value that needs
9994 to be passed to get_local_map.
9995
9996 * sound.c (Fplay_sound): Don't call make_number on
9997 Frun_hook_with_args count argument.
9998
9999 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10000 for lisp objects in X event structure data field, when lisp
10001 objects are represented with unions.
10002 (x_scroll_bar_to_input_event): Ditto.
10003
b357b9d4
KR
100042000-06-16 Ken Raeburn <raeburn@gnu.org>
10005
10006 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10007 termination of string. Fix sense of test whether
10008 Vline_number_display_limit is an integer.
b357b9d4 10009
a871441d
GM
100102000-06-16 Gerd Moellmann <gerd@gnu.org>
10011
a9021acd
GM
10012 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10013 only if HAVE_X_WINDOWS.
10014
6344985d
GM
10015 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10016 of titles.
10017
427ec082 10018 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10019 out of bounds.
10020
228b083e
EZ
100212000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10022
10023 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10024 of its headers.
10025
c25b53a2
KH
100262000-06-15 Kenichi Handa <handa@etl.go.jp>
10027
10028 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10029 start of the while loop.
10030
a6981b11
GM
100312000-06-15 Gerd Moellmann <gerd@gnu.org>
10032
e9924e52
GM
10033 * atimer.c (alarm_signal_handler): Add forward declaration.
10034
a6981b11
GM
10035 * data.c (set_internal): Remove debug code.
10036
25fa6deb
GM
100372000-06-14 Gerd Moellmann <gerd@gnu.org>
10038
dce6b995
GM
10039 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10040
9f817ea4
GM
10041 * unexec.c (toplevel) [COFF]: Include coff.h.
10042
10043 * s/lynxos.h: New file.
10044
10045 * keymap.c (Fsingle_key_description): Enclose function key and
10046 event symbol names in angle brackets.
10047
8a4e3c0c
GM
10048 * xdisp.c (setup_echo_area_for_printing): Call
10049 message_log_maybe_newline if message_buf_print is not set.
10050
10051 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10052 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10053 function does something useful even when message_buf_print is
10054 already set.
10055
52283633
SM
10056 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10057 New variables.
25fa6deb
GM
10058 (ensure_echo_area_buffers): Initialize echo buffer's
10059 truncate lines setting to nil.
10060 (with_echo_area_buffer): Don't set the echo buffer's truncate
10061 lines setting here.
8a4e3c0c 10062 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10063 of message_truncate_lines.
10064 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10065 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10066 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10067
10068 * keyboard.c (read_char): Bind message-truncate-lines to t
10069 while displaying a help-echo.
10070
10071 * lisp.h (Qmessage_truncate_lines): External declaration.
10072
163dcff3
GM
100732000-06-13 Gerd Moellmann <gerd@gnu.org>
10074
1681ead6
GM
10075 * xdisp.c (Vline_number_display_limit): Renamed from
10076 line_number_display_limit.
10077 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10078 Extend documentation string. Initialize
10079 Vline_number_display_limit to nil meaning no limit.
10080 (decode_mode_spec): Use Vline_number_display_limit with its new
10081 meaning.
10082
163dcff3
GM
10083 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10084
18e21ce8 100852000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10086
10087 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10088
163dcff3
GM
10089 * xfns.c (x_set_frame_parameters): Comment fix.
10090
10091 * frame.c (store_frame_param): Call swap_in_global_binding if the
10092 variable's current binding was chosen based on this frame.
10093
10094 * data.c (swap_in_global_binding): New function.
10095
a704139d
EZ
100962000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10097
10098 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10099 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10100
9b6610db
EZ
101012000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10102
10103 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10104
c68833d2
JR
101052000-06-12 Jason Rumney <jasonr@gnu.org>
10106
10107 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10108
10109 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10110
10111 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10112
10113 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10114
ed1056b3
GM
101152000-06-12 Gerd Moellmann <gerd@gnu.org>
10116
10117 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10118 (syms_of_xfaces): Defsubr Sdump_colors.
10119 (x_free_colors): Don't treat b&w specially on default visual.
10120 (x_free_dpy_colors): New function.
10121 (free_face_colors): Don't check visual class; it's done
10122 in x_free_colors.
10123
10124 * xterm.c (x_frame_of_widget): New function.
10125 (x_alloc_nearest_color_for_widget): Use it.
10126 (x_copy_dpy_color): New function.
10127 (x_destroy_window): Free various colors.
10128
5050a2ef
KH
101292000-06-12 Kenichi Handa <handa@etl.go.jp>
10130
10131 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10132
10133 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10134
10135 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10136
10137 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10138
10139 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10140
fb1b041d
DL
101412000-06-11 Dave Love <fx@gnu.org>
10142
10143 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10144
ff96b5f4
EZ
101452000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10146
10147 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10148
db8eeecd
GM
101492000-06-11 Gerd Moellmann <gerd@gnu.org>
10150
ed1056b3 10151 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10152 to `XEvent *'.
10153
49b71c5f
KH
101542000-06-10 Kenichi Handa <handa@etl.go.jp>
10155
c479bd55
KH
10156 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10157 (regex_compile): Fix the code for handling the case of single byte
10158 char and multibyte char being mixed in a range within [...].
10159
ff6a65c2
KH
10160 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10161 and dst_multibyte members of coding.
10162
49b71c5f
KH
10163 * charset.c (update_charset_table): Update the table
10164 bytes_by_char_head.
10165 (init_charset_once): Initialize elements of bytes_by_char_head to
10166 1 except for leading codes for private charases.
10167
10168 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10169 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10170
9e80b57d
KR
101712000-06-09 Ken Raeburn <raeburn@gnu.org>
10172
10173 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10174 access the data it doesn't point to.
10175
f83fe4b4
GM
101762000-06-08 Gerd Moellmann <gerd@gnu.org>
10177
10178 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10179 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10180 event queue. This is necessary because Emacs otherwise won't
10181 perform a switch-frame to a new frame until some other event, for
10182 example a keystroke event, forces it to do so. This has various
10183 effects, one visible being that the cursor of a frame created with
10184 C-x 5 2 or switched to with a window manager key binding like
10185 A-TAB stays hollow because selected_window isn't on the newly
10186 focused frame until the switch-frame is performed.
10187
10188 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10189 generating a switch-frame event if necessary.
10190
10191 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10192
10193 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10194 it's an integer.
10195
0890801b
KH
101962000-06-08 Kenichi Handa <handa@etl.go.jp>
10197
52283633 10198 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10199
173cbca8
GM
102002000-06-07 Gerd Moellmann <gerd@gnu.org>
10201
3091c2a6
GM
10202 * window.c (displayed_window_lines): Take empty lines at
10203 the bottom of a window into account.
427ec082 10204
f38952fe
GM
10205 * window.c (displayed_window_lines): New function.
10206 (Fmove_to_window_line): Use displayed_window_lines to determine
10207 the number of lines to move, instead of using the window's height.
10208
10209 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10210 to stop reading, even if the form read sets point to a different
10211 value when evaluated.
10212
427ec082 10213 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10214 put the cursor.
10215
6ba6c818
KH
102162000-06-07 Kenichi Handa <handa@etl.go.jp>
10217
10218 * fileio.c (e_write): Free composition data if stored in
10219 coding->cmp_data.
10220
5f1aea9a
GM
102212000-06-06 Gerd Moellmann <gerd@gnu.org>
10222
666852af
GM
10223 * xdisp.c (display_line): Set row's and iterator's
10224 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10225 Set cursor even if row ends in the middle of a character.
10226 (dump_glyph_row): Print values of new flags.
10227 (redisplay_window) <cursor movement in unchanged window>: When
10228 point has been moved forward, and PT is at the end of the cursor
10229 row, don't place the cursor in the next row if the cursor row ends
10230 in the middle of a character or at ZV.
10231
10232 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10233 (struct glyph_row): Add starts_in_middle_of_char_p and
10234 ends_in_middle_of_char_p.
10235 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10236 ends_in_middle_of_char_p flag.
10237 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10238
d13f3e2e
GM
10239 * term.c (append_glyph): Revert change of 2000-06-06.
10240
10241 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10242 padding glyph not fitting on line as whole character not
10243 fitting on line.
10244
5f1aea9a
GM
10245 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10246 this isn't true for images with `:ascent 100'.
10247
10cda9b0
KH
102482000-06-06 Kenichi Handa <handa@etl.go.jp>
10249
ed00559d
KH
10250 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10251 as modified if it is originally unmodified.
10252
10cda9b0
KH
10253 * term.c (encode_terminal_code): Change the way to check if
10254 terminal coding does any conversion.
10255 (append_glyph): Set glyph->pixel_width correctly.
10256
10257 * xdisp.c (display_line): While checking line continuation, pay
10258 attention to a padding glyph.
10259
1969fae2
GM
102602000-06-05 Gerd Moellmann <gerd@gnu.org>
10261
10262 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10263
162ccef4
DL
102642000-06-05 Dave Love <fx@gnu.org>
10265
f19f32dd
DL
10266 * xdisp.c: Include fontset.h.
10267
10268 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10269
10270 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10271
10272 * dispnew.c: Conditionally include term.h.
10273
10274 * coding.h: Declare code_convert_string_norecord.
10275
10276 * frame.h (struct frame): Use volatile unconditionally.
10277
10278 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10279
10280 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10281
10282 * systime.h: Protect against multiple inclusion.
10283 (timezone) [USG5_4]: Define as time_t.
10284
10285 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10286 (Foptimize_char_table, make_temp_name): Declare.
10287
10288 * Makefile.in (xdisp.o): Depend on fontset.h.
10289
10290 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10291
10292 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10293 (Foptimize_char_table, make_temp_name): Declare.
10294
427ec082 10295 * s/irix4-0.h:
162ccef4
DL
10296 * s/irix5-0.h:
10297 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10298
2082fe81
DL
102992000-06-02 Dave Love <fx@gnu.org>
10300
10301 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10302
dcf671d2
GM
103032000-06-02 Gerd Moellmann <gerd@gnu.org>
10304
10305 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10306 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10307 be freed.
10308
10309 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10310 glyph, use the ASCII NUL character to determine the face.
10311
d42122a3
DL
103122000-06-02 Dave Love <fx@gnu.org>
10313
10314 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10315 (VFORK_RETURN_TYPE): Remove.
427ec082 10316
d42122a3
DL
10317 * config.in: Add NO_MATHERR.
10318
dd432f16
DL
103192000-06-01 Dave Love <fx@gnu.org>
10320
90aa4ea8
DL
10321 * cmds.c (internal_self_insert): Don't check
10322 Vbefore_change_function, Vafter_change_function.
10323
10324 * insdel.c (signal_before_change, signal_after_change): Likewise.
10325
10326 * buffer.c (Vbefore_change_function, Vafter_change_function):
10327 Variables and their initializations deleted.
10328
2330c9d4
DL
10329 * callint.c (Fcall_interactively): Doc fix.
10330
dd432f16
DL
10331 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10332
bf9e8804
DL
103332000-05-31 Dave Love <fx@gnu.org>
10334
10335 * textprop.c: Revert last change -- duplicated.
10336
3694b4ab
GM
103372000-05-31 Gerd Moellmann <gerd@gnu.org>
10338
10339 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10340 in #if 0.
10341
10342 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10343
f14156cd
JR
103442000-05-31 Jason Rumney <jasonr@gnu.org>
10345
8119aab8
JR
10346 * search.c (Fre_search_forward, Fre_search_backward)
10347 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10348
f14156cd
JR
10349 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10350
4aab9be3
JR
103512000-05-30 Jason Rumney <jasonr@gnu.org>
10352
10353 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10354 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10355
52283633 10356 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10357
10358 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10359 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10360 expand a nil default_filename.
10361
10362 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10363 pointer to glyph_to_pixel_coords, not a frame.
10364
10365 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10366 coding.h to dependencies.
10367
10368 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10369
10370 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10371 window pointer to be consistent with w32term.c and xterm.c.
10372
10373 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10374 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10375 (Qline_spacing, Qcenter): New variables.
10376 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10377 (x_set_line_spacing): New function.
52283633 10378 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10379 (x_specified_cursor_type): New function.
10380 (x_set_cursor_type): Use it.
10381 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10382 and icon strings.
10383 (validate_x_resource_name, x_get_resource_string): Measure lengths
10384 of external strings in bytes.
10385 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10386 GetTextExtentPoint32 with NULL title.
10387 (Fx_create_frame): Initialize Qline_spacing.
10388 (w32_load_system_font): Initialize font->double_byte_p.
10389 (x_to_w32_charset): Use Vw32_charset_info_alist.
10390 (Image, busy cursor, tooltip functions): Merged changes from
10391 xfns.c. Not yet functional on Windows.
10392
10393 * w32gui.h (W32FontStruct): Add double_byte_p member.
10394
10395 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10396 (emacs_button_translation): Use it.
10397 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10398 in `mask' to be set.
10399
10400 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10401 menu strings.
10402
10403 * w32term.c: Format and doc changes to bring closer to xterm.c.
10404 (w32_char_font_type): New enum.
10405 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10406 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10407 (w32_encode_char): New function.
10408 (x_encode_char): Removed.
10409 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10410 x_encode_char and w32_font_is_double_byte.
10411 (x_produce_image_glyph): Use image_ascent.
10412 (x_produce_glyphs): Use new version of w32_per_char_metric and
10413 handle NULL return value. Allow extra line spacing.
10414 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10415 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10416 w32_font_type member of glyph instead.
10417 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10418 (fast_find_position): Make sure not to consider rows not visible
10419 in the window.
10420 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10421 w32_menu_display_help with input blocked, as it can abort.
10422 (x_display_and_set_cursor): Choose cursor depending
10423 on buffer-local value of cursor_type.
10424 (x_draw_bar_cursor): Add parameter WIDTH.
10425
10426 * w32term.h (CP_DEFAULT): Define.
10427 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10428
10fc3187
GM
104292000-05-30 Gerd Moellmann <gerd@gnu.org>
10430
10431 * search.c (Fre_search_forward, Fre_search_backward)
10432 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10433
d0555360
KH
104342000-05-30 Kenichi Handa <handa@etl.go.jp>
10435
10436 * coding.c (detect_coding_iso2022): Fix code for checking
10437 CODING_CATEGORY_MASK_ISO_8_2.
10438
f1ad044f
SM
104392000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10440
10441 * regex.c (PREFETCH_NOLIMIT): New function.
10442 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10443
84ec3b4b
GM
104442000-05-29 Gerd Moellmann <gerd@gnu.org>
10445
66254a13
GM
10446 * syntax.c (find_defun_start): Move test for
10447 open_paren_in_column_0_is_defun_start outside of the loop.
10448
49e70dec
GM
10449 * xdisp.c (redisplay_window): Really switch buffers when
10450 displaying mode lines, and temporarily set selected_frame to the
10451 frame of the window that's redisplayed.
10452
84ec3b4b
GM
10453 * xfaces.c (free_realized_faces): Block/unblock input.
10454 (free_realized_multibyte_face): Ditto.
10455
869a3a14
DL
104562000-05-29 Dave Love <fx@gnu.org>
10457
10458 * textprop.c (Qkeymap): New variable.
10459 (syms_of_textprop): Intern it.
10460
10461 * keymap.c: Include intervals.h.
10462 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10463
10464 * Makefile.in (keymap.o): Depend on intervals.h.
10465
10466 * keyboard.c (menu_bar_items, tool_bar_items)
10467 (Fexecute_extended_command): Deal with `keymap' property.
10468 (read_key_sequence): Track map from `keymap' property as well as
10469 `local_map'.
10470
10471 * intervals.c (get_local_map): Extra arg to allow looking for
10472 `keymap' too.
10473
10474 * intervals.h (map_property): New enum.
10475 (get_local_map): Extra arg using it.
10476 (Qkeymap): Declare.
10477
84ec3b4b 10478 * lisp.h (get_local_map): Don't declare here.
869a3a14 10479
89d0c844
KH
104802000-05-29 Kenichi Handa <handa@etl.go.jp>
10481
10482 * Makefile.in (callproc.o): Depend on composite.h.
10483
10484 * callproc.c: Include composite.h.
10485 (Fcall_process): Handle composition correctly.
10486
10487 * coding.h (coding_allocate_composition_data): Extern it.
10488 (coding_restore_composition): Likewise.
10489
10490 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
10491 yet allocated, finish decoding with result
10492 CODING_FINISH_INSUFFICIENT_CMP.
10493 (coding_allocate_composition_data): Make it non-static.
10494 (coding_restore_composition): Likewise.
10495
797a084a
EZ
104962000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
10497
10498 * charset.c (syms_of_charset): Revert last change.
10499
cf872af5
EZ
105002000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10501
10502 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
10503 charsets as unibyte, with 1-column screen width. Sent by Kenichi
10504 Handa.
cf872af5 10505
5b1ae051
EZ
105062000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10507
10508 * charset.c (syms_of_charset): Set width of character sets
10509 eight-bit-control and eight-bit-graphic to 1 column.
10510
34ec9ebe
GM
105112000-05-26 Gerd Moellmann <gerd@gnu.org>
10512
10513 * config.in (HAVE_SPEED_T): New define.
10514
10515 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10516 `extern speed_t'.
10517
dd854dc2
DL
105182000-05-26 Dave Love <fx@gnu.org>
10519
10520 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10521
10522 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10523 (Fsubr_arity): New function.
10524 (syms_of_data): Install them.
10525
ba9f8f95
KH
105262000-05-26 Kenichi Handa <handa@etl.go.jp>
10527
0f3e0672
KH
10528 * charset.c (init_charset_once): Set the table bytes_by_char_head
10529 correctly.
10530
cebefb44
KH
10531 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10532 the default fontset to what Emacs uses by default.
0f3e0672
KH
10533 (check_registry_encoding): This function deleted.
10534 (Fset_fontset_font): Remove the adhoc condition for the default
10535 fontset. Allow cons in FONTNAME.
cebefb44 10536
0f3e0672
KH
10537 * fns.c (map_char_table): Ignore char-table entries for
10538 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 10539
7a18af49
KR
105402000-05-25 Ken Raeburn <raeburn@gnu.org>
10541
10542 * emacs.c (main): Initialize keyboard syms before initializing
10543 window code, so face names are available.
10544
d2af47df
SM
105452000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10546
10547 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10548 of an anchor at the beginning of a shy-group.
10549
fc6a6a4e
GM
105502000-05-25 Gerd Moellmann <gerd@gnu.org>
10551
10552 * xdisp.c (handle_invisible_prop): Don't try to skip over
10553 invisible text if end of text is already reached.
10554
005f0d35
DL
105552000-05-25 Dave Love <fx@gnu.org>
10556
02513cdd
DL
10557 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10558
005f0d35
DL
10559 * coding.c (encode_eol): Add null statement after label.
10560
89f6ca4e
EZ
105612000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10562
10563 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10564 2000-05-20.
10565
a4e1759e
KH
105662000-05-25 Kenichi Handa <handa@etl.go.jp>
10567
10568 * ccl.c (ccl_driver): Fix previous change.
10569
eacfd7fe
KH
105702000-05-25 Kenichi Handa <handa@etl.go.jp>
10571
46ab33a9
KH
10572 * coding.c (run_pre_post_conversion_on_str): Set point to the
10573 beginning of buffer before calling coding->post_read_conversion.
10574 (decode_coding_string): Give correct args to
10575 run_pre_post_conversion_on_str.
10576 (encode_coding_string): Likewise.
10577
eacfd7fe
KH
10578 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10579 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10580 eight-bit-graphic correctly.
10581
f8569325
DL
105822000-05-24 Kenichi HANDA <handa@etl.go.jp>
10583
10584 * fileio.c (Finsert_file_contents): Even if a file is not found,
10585 execute codes for setting up coding system. Call
10586 after-insert-file-functions unconditionally.
10587
04545643
GM
105882000-05-24 Gerd Moellmann <gerd@gnu.org>
10589
10590 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10591 BSD_PGRPS are not defined.
10592
747d90ea
KH
105932000-05-24 Kenichi Handa <handa@etl.go.jp>
10594
10595 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10596 DESCRIPTION.
10597 (syms_of_charset): Avoid building same strings.
10598
716e3b88
GM
105992000-05-23 Gerd Moellmann <gerd@gnu.org>
10600
10601 * lread.c (Fload): Add a comment about the meaning of
10602 Vuser_init_file being t.
10603
10604 * puresize.h (BASE_PURESIZE): Increase to 675000.
10605
10606 * s/gnu-linux.h (setpgrp): Don't define it here because this
10607 prevents compilation on GNU/Linux systems with glib 2.2.
10608
10609 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10610 as setpgid.
427ec082 10611
9aeb39fa
EZ
106122000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10613
10614 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10615 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10616 version.
10617 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10618
29ced61b
KH
106192000-05-23 Kenichi Handa <handa@etl.go.jp>
10620
52283633 10621 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 10622
3d80f24d
KH
10623 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10624
52283633 10625 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 10626
29ced61b
KH
10627 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10628
d7e00792
KH
106292000-05-22 Kenichi Handa <handa@etl.go.jp>
10630
c9d80d38
KH
10631 * keyboard.c (read_char): Allow character codes 128..255 to be
10632 handled by input-method-function.
10633
d7e00792
KH
10634 * insdel.c (adjust_markers_for_replace): Fix previous change.
10635 (adjust_after_replace): If PREV_TEXT is nil, call
10636 adjust_markers_for_insert, not adjust_markers_for_replace.
10637
087121cc 106382000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 10639
087121cc
GM
10640 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10641 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10642 [HAVE_GRANDPT]: Define.
10643 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10644
10645 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10646 like SYSV_PTYS.
10647
10648 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10649
10650 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
10651
c9671f81
KH
106522000-05-20 Kenichi Handa <handa@etl.go.jp>
10653
10654 The following changes are to handle 8-bit characters in a
10655 multibyte buffer/string without facing with byte combining
10656 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
10657 eight-bit-graphic (for 0xA0..0xFF) are introduced.
10658
10659 * Makefile.in (fns.o): Depend on charset.h.
10660
10661 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
10662 convert it to unibyte.
10663 (make_string): Use parse_str_as_multibyte, not chars_in_text.
10664
10665 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
10666 apparent char boundary.
10667 (Fset_buffer_multibyte): Convert 8-bit characters in the range
10668 0x80..0x9F to/from multibyte form.
10669
10670 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
10671 to unibyte.
10672
10673 * callproc.c (Fcall_process): Always encode an argument string if
10674 it is multibyte. Setup src_multibyte and dst_multibyte members of
10675 process_coding properly.
ce75fd23 10676
c9671f81
KH
10677 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
10678 SPLIT_NON_ASCII_CHAR.
10679
10680 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
10681 as is.
10682 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
10683
52283633 10684 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 10685 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 10686 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
10687 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
10688 and eight-bit-graphic.
10689 (char_to_string): Likewise. Signal an error for too large
10690 character code.
10691 (char_printable_p): Return 0 for 8-bit characters.
10692 (update_charset_table): Update iso_charset_table only when a final
10693 character is non-negative.
10694 (find_charset_in_text): Renamed from find_charset_in_str.
10695 Arguments and return value changed. Callers changed.
10696 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10697 be -1 if CHARSET is used only internally.
10698 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10699 eight-bit-graphic.
10700 (Fcharset_after): Simplified.
10701 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10702 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10703 (multibyte_chars_in_text): Simplified by assuming there's no
10704 invalid multibyte sequence.
52283633
SM
10705 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10706 (str_as_unibyte): New functions.
10707 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10708 (init_charset_once): Initialization for
10709 LEADING_CODE_8_BIT_CONTROL.
10710 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10711 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10712 eight-bit-control and eight-bit-graphic.
10713
52283633
SM
10714 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10715 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10716 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10717 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10718 (CHARSET_REVERSE_CHARSET): Likewise.
10719 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10720 eight-bit-graphic.
10721 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10722 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10723 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10724 encounter an invalid multibyte sequence.
10725 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10726 sequence is always valid.
10727 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10728 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10729 (CHAR_STRING): For 8-bit characters, call char_to_string.
10730 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10731 multibyte sequence is always valid.
10732 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10733 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10734 (str_as_unibyte): Extern them.
c9671f81 10735 (BCOPY_SHORT): Fix a bug.
52283633 10736 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10737 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10738 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10739 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10740
bd4bde7f 10741 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10742 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10743 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10744 (EMIT_BYTES): New macros.
10745 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10746 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10747 macros deleted.
10748 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10749 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10750 check the validity of multibyte sequence.
10751 (decode_coding_emacs_mule): New function.
10752 (encode_coding_emacs_mule): New macro.
10753 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10754 the source.
10755 (DECODE_ISO_CHARACTER): Just return a character code.
10756 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10757 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10758 EMIT_CHAR to produced decoded characters. Exit the loop only by
10759 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10760 block here.
10761 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10762 only position codes for an invalid character.
10763 (encode_designation_at_bol): Return new destination pointer. 5th
10764 arg DSTP is changed to DST.
10765 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10766 from the source by ONE_MORE_CHAR. Don't handle the case of last
10767 block here.
10768 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10769 macros deleted.
52283633
SM
10770 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10771 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10772 TWO_MORE_BYTES to fetch a byte from the source.
10773 (encode_eol): Pay attention to coding->src_multibyte.
10774 (detect_coding, detect_eol): Preserve members src_multibyte and
10775 dst_multibyte.
10776 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10777 (encoding_buffer_size): Set magnification to 3 for all coding
10778 systems that require encoding.
10779 (ccl_coding_driver): For decoding, be sure that the result is
10780 valid multibyte sequence.
10781 (decode_coding): Initialize coding->errors and coding->result.
10782 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10783 and raw-text, always call decode_eol. Handle the case of last
10784 block here. If not coding->dst_multibyte, convert the resulting
10785 sequence to unibyte.
10786 (encode_coding): Initialize coding->errors and coding->result.
10787 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
10788 and raw-text, always call encode_eol. Handle the case of last
10789 block here.
10790 (shrink_decoding_region, shrink_encoding_region): Detect cases
10791 that we can't skip data more rigidly.
10792 (code_convert_region): Setup src_multibyte and dst_multibyte
10793 members of coding. For decoding, if the buffer is multibyte,
10794 convert the source sequence to unibyte in advance. For encoding,
10795 if the buffer is multibyte, convert the resulting sequence to
10796 multibyte afterward.
10797 (run_pre_post_conversion_on_str): New function.
10798 (code_convert_string): Deleted and divided into the following two.
10799 (decode_coding_string, encode_coding_string): New functions.
10800 (code_convert_string1, code_convert_string_norecord): Call one of
10801 above.
10802 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
10803 MAKE_NON_ASCII_CHAR.
52283633
SM
10804 (Fset_terminal_coding_system_internal)
10805 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
10806 and dst_multibyte members.
10807 (init_coding_once): Initialize iso_code_class with new enum
10808 ISO_control_0 and ISO_control_1.
10809
10810 * coding.h (enum iso_code_class_type): Member ISO_control_code is
10811 devided into ISO_control_0 and ISO_control_1.
10812 (struct coding_system): New members src_multibyte, dst_multibyte,
10813 errors, and result. Delete member fake_multibyte.
10814 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
10815 nonzero.
10816 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
10817 nonzero.
10818
10819 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
10820 (Faset): Likewise.
10821
10822 * editfns.c (Fformat): Be sure to convert 8-bit characters to
10823 multibyte form.
10824 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
10825 combining occurs.
10826 (Ftranspose_region): Delete codes for handling byte combining.
10827
10828 * fileio.c (Finsert_file_contents): Setup src_multibyte and
10829 dst_multibyte members of coding. On handling REPLACE on unibyte
10830 buffer, convert the result of decode_coding to unibyte. On
10831 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 10832 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
10833 multibyteness of the source (buffer or string).
10834
10835 * fns.c (concat): Handle 8-bit characters correctly.
10836 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
10837 unibyte in the result.
10838 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
10839 valid multibyte form in the result.
10840 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
10841 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
10842 return -1, signal an error.
10843 (base64_encode_1): New arg MULTIBYTE. Get each character by
10844 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
10845 character is found, return -1.
10846 (Fbase64_decode_region): Delete codes for handling byte-combining.
10847 Treat each decoded byte as a unibyte character.
10848 (Fbase64_decode_string): Return unibyte string.
10849 (Fcompare_strings, concat, string_byte_to_char): Use
10850 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
10851 FETCH_STRING_CHAR_ADVANCE.
10852 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10853 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
10854
10855 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
10856 SPLIT_NON_ASCII_CHAR.
10857 (fontset_ref_via_base, fontset_set): Likewise
10858
10859 * insdel.c (adjust_markers_for_record_delete): Deleted.
10860 (adjust_markers_for_insert): Argument changed. Caller changed.
10861 (adjust_markers_for_replace): Likewise.
52283633
SM
10862 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
10863 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
10864 (copy_text): Delete unused local varialbe c_save. For converting
10865 to multibyte, be sure to make all 8-bit characters in valid
10866 multibyte form.
10867 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
10868 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10869 (adjust_after_replace, replace_range, del_range_2)
c9671f81 10870 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
10871 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10872 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
10873 handling byte combining.
10874 (adjust_before_replace): Deleted.
427ec082 10875
c9671f81
KH
10876 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
10877 SPLIT_NON_ASCII_CHAR.
10878 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 10879 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10880 (Fkey_description): Likewise.
10881
10882 * lread.c (read1): On reading multibyte string, be sure to make
10883 all 8-bit chararacters in valid multibyte form.
10884 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10885
10886 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
10887 unconditionally.
10888
10889 * process.c (Fstart_process): GCPRO current_dir before calling
10890 Ffind_operation_coding_system. Encode arguments here.
10891 (create_process): Don't encode arguments here. Setup
10892 src_multibyte and dst_multibyte members of struct coding.
10893 (read_process_output): Setup src_multibyte and dst_multibyte
10894 members of struct coding. If the output is to multibyte buffer,
10895 always decode the output of the process. Adjust the
52283633 10896 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
10897 (send_process): Setup coding->src_multibyte according to the
10898 multibyteness of the source.
10899
52283633 10900 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10901 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
10902 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
10903
52283633 10904 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
10905
10906 * w16select.c (Fw16_set_clipboard_data): Setup members
10907 src_multibyte and dst_multibyte of coding. Adjusted for the
10908 change for find_charset_in_str.
10909 (Fw16_get_clipboard_data): Likewise.
10910
10911 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
10912 dst_multibyte of coding.
10913 (x_to_w32_font): Likewise.
10914
10915 * w32select.c (Fw32_set_clipboard_data): Setup members
10916 src_multibyte and dst_multibyte of coding. Adjusted for the
10917 change for find_charset_in_str.
10918 (Fw32_get_clipboard_data): Likewise.
10919
10920 * xdisp.c (get_next_display_element): Handle 8-bit characters
10921 correctly.
52283633
SM
10922 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
10923 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
10924
10925 * xselect.c (selection_data_to_lisp_data): Setup members
10926 src_multibyte and dst_multibyte of coding. Adjusted for the
10927 change for find_charset_in_str.
10928 (lisp_data_to_selection_data): Likewise.
10929
5f64c9e0
GM
109302000-05-19 Gerd Moellmann <gerd@gnu.org>
10931
52283633 10932 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 10933
5f64c9e0
GM
10934 * dispextern.h (Vimage_types): Add extern declaration.
10935
10936 * xdisp.c (Vimage_types): Moved here from xfns.c.
10937 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
10938
10939 * xfns.c (Vimages_types): Moved to xdisp.c.
10940 (syms_of_xfns): Move `image-types' to xdisp.c.
10941
10942 * w32fns.c (Vimage_types): Removed.
10943 (syms_of_w32fns): Remove `image-types'.
10944
813086ea
KH
109452000-05-18 Kenichi Handa <handa@etl.go.jp>
10946
10947 * fns.c (map_char_table): Pay attention to character number of
10948 charset. Check the validity of charset at the first level. For
10949 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
10950 the default value.
10951
10952 * fontset.c: Include "buffer.h".
10953 (fs_load_font): If the face has fontset, record the face ID in
10954 that fontset.
10955 (Finternal_char_font): New function.
10956 (accumulate_font_info): New function.
10957 (Ffontset_info): Rewritten for the new fontset implementation.
10958 (syms_of_fontset): Register Vdefault_fontset in the first element
10959 of Vfontset_table. Include Vdefault_fontset in
10960 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
10961 function.
10962
bdaebbf0
DL
109632000-05-16 Dave Love <fx@gnu.org>
10964
10965 * m/iris5d.h: Deleted -- unused.
10966
cb613bb8
GM
109672000-05-16 Gerd Moellmann <gerd@gnu.org>
10968
b15f3b77
GM
10969 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
10970 `invalid' instead of `illegal'.
10971
10972 * indent.c (Fmove_to_column): When ending within a tab, insert
10973 spaces first so that markers at the end of the tab get adjusted.
10974
835c1b36
GM
10975 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
10976 buffer list that wasn't selected in that frame.
10977
cb613bb8
GM
10978 * filelock.c (get_boot_time): To obtain an 8 char file name, which
10979 is needed on mescaline, use a 2 char prefix, and call
10980 make_temp_name with second arg non-zero.
10981
10982 * fileio.c (make_temp_name): New function, extracted from
10983 Fmake_temp_name.
10984 (Fmake_temp_name): Use it.
10985
f685bea9
EZ
109862000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10987
52283633 10988 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 10989
a1b8d58b
GM
109902000-05-15 Gerd Moellmann <gerd@gnu.org>
10991
10992 * Makefile.in (lisp): Add env.elc.
10993
10994 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
10995
a265079f
GM
109962000-05-12 Gerd Moellmann <gerd@gnu.org>
10997
10998 * search.c (Freplace_match): Handle case of `\N' in the
10999 replacement when there's no group N.
11000
da4496b6
GM
110012000-05-11 Gerd Moellmann <gerd@gnu.org>
11002
0ace421a
GM
11003 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11004 of the message to message_dolog.
11005
1172eb8d
GM
11006 * keyboard.c (read_char): Don't clear current message for help
11007 events; let the code handling help events handle this. Change
11008 code detecting help events that should be ignored.
11009
da4496b6
GM
11010 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11011 we're interating over a string.
11012
0623e40f
DL
110132000-05-09 Dave Love <fx@gnu.org>
11014
11015 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11016 that offset before writing. Move gcpro region past call of
11017 Ffile_regular_p.
11018
bae2503b
DL
110192000-05-04 Dave Love <fx@gnu.org>
11020
11021 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11022
ec82fb2f
GM
110232000-05-04 Gerd Moellmann <gerd@gnu.org>
11024
11025 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11026 of inserted characters when BUF equals the current buffer, and PT
11027 is in front of or equal to FROM.
11028
cbf18892
GM
110292000-05-03 Gerd Moellmann <gerd@gnu.org>
11030
4ff40dd0
GM
11031 * xdisp.c (handle_single_display_prop): If display property value
11032 is invalid, or something not supported on the frame, restore
11033 iterator's position to what it was initially. Make sure to return
11034 0 for invalid and unsupported property values.
11035
cbf18892
GM
11036 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11037 that x_per_char_metric returns null.
11038
1b0672c3
GM
110392000-05-02 Gerd Moellmann <gerd@gnu.org>
11040
576da55d
GM
11041 * xterm.h (struct face): Add forward declaration.
11042 (struct image): Ditto.
11043 (image_ascent): Add prototype.
11044
11045 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11046 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11047 image_ascent instead of using IMAGE_ASCENT.
11048
11049 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11050 (IMAGE_ASCENT): Removed.
11051
11052 * xfns.c (Qcenter): New variable.
11053 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11054 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11055 (image_ascent): New function.
11056 (lookup_image): Recognize `:ascent center'.
11057 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11058 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11059 (xbm_load): Don't set image's ascent here.
11060 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11061 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11062 check ascent values here.
11063 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11064 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11065 (syms_of_xfns): Initialize Qcenter.
11066
1b0672c3
GM
11067 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11068 to the limits, increase the limits.
11069
0d7811ed
KH
110702000-05-01 Kenichi Handa <handa@etl.go.jp>
11071
11072 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11073 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11074
a943a5ca
GM
110752000-04-28 Gerd Moellmann <gerd@gnu.org>
11076
11077 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11078 taller than the window.
11079
5dba1e29
KH
110802000-04-28 Kenichi Handa <handa@etl.go.jp>
11081
11082 * xfaces.c (realize_x_face): Fix the argument of the second
11083 xassert. BASE_FACE may not be a face for ASCII.
11084
353964e3
GM
110852000-04-27 Gerd Moellmann <gerd@gnu.org>
11086
c76e04a8
GM
11087 * print.c (print_object): Treat print-length < 0 as nil.
11088
11089 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11090
11091 * s/freebsd.h (TERMCAP_OBJ): Removed.
11092 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11093
11094 * lread.c (read1): Don't treat period followed by certain
11095 characters as symbol start.
11096
11097 * xfns.c (slurp_file): New function.
11098 (xbm_image_p): Handle case of in-memory XBM files.
11099 (xbm_scan): Rewritten to work on memory buffers instead of files.
11100 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11101 Work on memory buffers instead of files. If DATA is null test
11102 if buffer looks like an in-memory XBM file.
11103 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11104 memory buffers instead of files.
11105 (xbm_file_p): New function.
11106 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11107
353964e3
GM
11108 * lread.c (end_of_file_error): New function.
11109 (read1): Call it instead of signaling `end-of-file' directly.
11110
427ec082 11111 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11112 with Fprinc instead of Fprin1.
11113
24d744ac
KR
111142000-04-26 Ken Raeburn <raeburn@gnu.org>
11115
11116 * window.c (freeze_window_start): Check that minibuffer scroll
11117 window isn't nil before extracting the window structure pointer
11118 from it.
11119
11120 * undo.c (record_delete): If we hit the end of the undo list, stop
11121 picking elements apart.
11122
7464346d
GM
111232000-04-26 Gerd Moellmann <gerd@gnu.org>
11124
11125 * xdisp.c (display_line): If lines are continued, restore
11126 iterator's ascent/descent information to the values before the
11127 first glyph not fitting on the line.
11128
612839b6
GM
111292000-04-25 Gerd Moellmann <gerd@gnu.org>
11130
11131 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11132 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11133
11134 * dispnew.c (increment_matrix_positions): Renamed from
11135 increment_glyph_matrix_buffer_positions.
11136 (increment_row_positions): Renamed from
11137 increment_glyph_row_buffer_positions.
11138
11139 * dispextern.h: Change names of renamed functions from dispnew.c
11140 in prototypes.
11141
cc181e95
GM
111422000-04-24 Gerd Moellmann <gerd@gnu.org>
11143
abfcc168
GM
11144 * fileio.c (Fdo_auto_save): Create directories for auto-save
11145 list file if necessary.
11146
cc181e95
GM
11147 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11148 from buffer or frame.
11149 (automatic_hscrolling_p): New variable.
11150 (hscroll_windows): Scroll windows horizontally only if automatic
11151 hscrolling is allowed.
11152 (syms_of_xdisp): New variable `automatic-hscrolling'.
11153
11154 * frame.h (struct frame): Add member extra_line_spacing.
11155
11156 * xfns.c (x_set_line_spacing): New function.
11157 (Fx_create_frame): Set line spacing from resources.
11158 (Qline_spacing): New variable.
11159 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11160
cc181e95
GM
11161 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11162
11163 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11164 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11165 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11166 extra_line_spacing from default value.
11167 (init_buffer_once): Initialize default value of extra_line_spacing.
11168
11169 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11170 and extra3.
11171
11172 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11173 prompt_width. Add extra line spacing.
11174
11175 * term.c (produce_glyphs): Remove reference to struct it's
11176 prompt_width.
11177
11178 * dispextern.h (struct it): Remove member prompt_width, add
11179 extra_line_spacing.
11180
58827478
GM
111812000-04-22 Gerd Moellmann <gerd@gnu.org>
11182
11183 * dispnew.c (update_frame_line): When writing a whole line, make
11184 sure cursor is in the right row afterwards, otherwise a use of
11185 capability `ch' in cmgoto might leave the cursor in the row below.
11186
25a87f42
GM
111872000-04-21 Gerd Moellmann <gerd@gnu.org>
11188
11189 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11190
11191 * keyboard.c (timer_check): Fix typo in comment.
11192
54edf5c2
KH
111932000-04-21 Kenichi Handa <handa@etl.go.jp>
11194
11195 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11196 name change: ch -> character.
11197
3a64eef5
GM
111982000-04-20 Gerd Moellmann <gerd@gnu.org>
11199
11200 * keyboard.c (echo_message_buffer): New variable.
11201 (echo_now): Set echo_message_buffer to the echo area buffer used
11202 to display the echo.
11203 (cancel_echoing): Reset echo_message_buffer to nil.
11204 (read_char): Code rewritten that handles canceling an echo or
11205 echoing a dash, respectively.
11206
11207 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11208 directory doesn't exist.
11209
6142fdcb
DL
112102000-04-19 Dave Love <fx@gnu.org>
11211
11212 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11213 (concat): Don't allow numeric args.
11214 (Fconcat): Doc change.
6142fdcb 11215
ac6b5352
SM
112162000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11217
11218 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11219 instead define end_match(1|2) more carefully.
11220 Use GET_CHAR_BEFORE_2 for `begline'.
11221
cb9215e4
GM
112222000-04-19 Gerd Moellmann <gerd@gnu.org>
11223
5e3dac3f
GM
11224 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11225 on 64-bit systems where NULL is defined as `0'.
11226
11227 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11228 the `variable argument list' to make it work on Alpha.
11229
cb9215e4
GM
11230 * m/alpha.h (_LP64) [!_LP64]: Define.
11231 (ORDINARY_LINK): Define for NetBSD.
11232
11233 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11234
f532dca0
DL
112352000-04-19 Dave Love <fx@gnu.org>
11236
c750667e
DL
11237 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11238 change.
11239
11240 * Makefile.in (LIBS): Don't use.
11241 (GETLOADAVG_OBJ): Define again.
11242 (otherobj): Add GETLOADAVG_OBJ.
11243
f532dca0
DL
11244 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11245
1c7e22fd
GM
112462000-04-18 Gerd Moellmann <gerd@gnu.org>
11247
f6d3257b
GM
11248 * lread.c (read_filtered_event): Cancel and start busy cursor.
11249
427ec082 11250 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11251 that the per-character metrics may be null.
11252
e10f64e7
GM
112532000-04-17 Gerd Moellmann <gerd@gnu.org>
11254
0daee095
GM
11255 * buffer.c (clone_per_buffer_values): New function.
11256 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11257 clone_per_buffer_values if CLONE is not nil.
11258
e10f64e7
GM
11259 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11260
38687d43
DL
112612000-04-16 Dave Love <fx@gnu.org>
11262
11263 * Makefile.in: Remove obsolete localcpp stuff.
11264 (GETLOADAVG_OBJ): Don't define.
11265 (obj): Move LIBOBJS...
11266 (otherobj): ... to here.
11267 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11268 whitespace-only lines after the continuation (Irix).
11269
c21c7262
GM
112702000-04-14 Gerd Moellmann <gerd@gnu.org>
11271
11272 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11273
11274 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11275
314767c0
DL
112762000-04-14 Dave Love <fx@gnu.org>
11277
11278 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11279 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11280 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11281 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11282 NLIST_STRUCT.
11283
11284 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11285 autoconfiscated HAVE_GETLOADAVG.
11286
11287 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11288 BROKEN_MKTIME.
11289
a2522dca
GM
112902000-04-14 Gerd Moellmann <gerd@gnu.org>
11291
11292 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11293 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11294
33744b5d
DL
112952000-04-14 Dave Love <fx@gnu.org>
11296
c21c7262 11297 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11298 (INTERVAL_SRC): Convert to make variable.
11299 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11300 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11301 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11302 add LIBOBJS.
11303 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11304 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11305 (shortlisp): Add facemenu, float-sup, frame.
11306 (SOME_MACHINE_LISP): Remove them from here.
11307 (LIBES): Change unused LDLIBS to autoconf LIBS.
11308
11309 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11310
9d3d5916
KH
113112000-04-14 Kenichi Handa <handa@etl.go.jp>
11312
11313 * composite.c (update_compositions): If FROM and TO are not in a
11314 valid range, do nothing.
11315
198e3c7a
GM
113162000-04-13 Gerd Moellmann <gerd@gnu.org>
11317
52283633 11318 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11319
52283633 11320 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11321
11322 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11323 as TERMCAP_OBJ.
11324
055a28c9
EZ
113252000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11326
11327 * fileio.c (a_write): Remove redundant semi-colons.
11328 (e_write): Return -1 if failed to write all the data.
11329 This fixes the changes made at 1999-12-15.
11330
f5c75033
DL
113312000-04-12 Dave Love <fx@gnu.org>
11332
11333 * fns.c (mapcar1): Test for null vals to support mapc.
11334 (Fmapc): New function.
11335
0c3cfc51
EZ
113362000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11337
11338 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11339 (IT_frame_up_to_date): Support the buffer local value of
11340 cursor-type, if defined.
11341
33465a31
DL
113422000-04-10 Dave Love <fx@gnu.org>
11343
11344 * editfns.c (preceding-char, following-char): Doc fix.
11345
6ed56568
KR
113462000-04-10 Ken Raeburn <raeburn@gnu.org>
11347
11348 * Makefile.in (temacs): Revert 2000-03-12 change.
11349
7cf80d4e
JR
113502000-04-10 Jason Rumney <jasonr@gnu.org>
11351
11352 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11353
34f3f342
GM
113542000-04-10 Gerd Moellmann <gerd@gnu.org>
11355
1a1b1895
GM
11356 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11357 area buffer, if it's not set up yet.
11358
34f3f342
GM
11359 * indent.c (compute_motion): Set immediate_quit.
11360
be0dbdab
GM
113612000-04-09 Gerd Moellmann <gerd@gnu.org>
11362
52283633 11363 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11364 (realize_tty_face): Suppress boldness if colors are the inverse of
11365 the default colors, and tty_suppress_bold_inverse_default_colors_p
11366 is set.
11367 (Ftty_suppress_bold_inverse_default_colors): New function.
11368 (syms_of_xfaces): Defsubr it.
11369
be0dbdab
GM
11370 * buffer.c (Frestore_buffer_modified_p): New function.
11371 (syms_of_buffer): Defsubr it.
11372
e8413c3b
KR
113732000-04-08 Ken Raeburn <raeburn@gnu.org>
11374
87f67317
KR
11375 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11376 charset id (int) argument, not a charset (Lisp_Object).
11377
e8413c3b
KR
11378 * coding.h (code_convert_string): Declare.
11379 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11380 object, as the fourth argument to code_convert_string.
11381
52283633 11382 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11383 (Fset_fontset_font): Use EQ to compare lisp objects.
11384
7c752c80
KR
113852000-04-05 Ken Raeburn <raeburn@gnu.org>
11386
c0333abc
KR
11387 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11388 a pointer that looks like a lisp object.
11389 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11390 zero, instead see whether it's an integer object, since they can't
11391 have intervals.
11392 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11393
52283633
SM
11394 * dispnew.c (allocate_matrices_for_frame_redisplay)
11395 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11396 to convert between (unsigned) int values and lisp integers.
11397 * keyboard.c (read_key_sequence): Likewise.
11398 * lread.c (substitute_object_recurse): Likewise.
11399 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11400 * minibuf.c (do_completion, Fminibuffer_complete_word)
11401 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11402 * term.c (produce_special_glyphs): Likewise.
11403
11404 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11405 * print.c (print_preprocess, print_object): Likewise.
11406
11407 * search.c (compile_pattern): Use NILP when checking for nil.
11408
74e49b38
KR
11409 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11410 __OPTIMIZE__]: Provide a GNU C macro version that handles
11411 lisp-object unions.
11412 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11413 field, to better cope with ENABLE_CHECKING and calls that modify a
11414 Lisp_Object using its old value.
11415
685e5ed2
GM
114162000-04-04 Gerd Moellmann <gerd@gnu.org>
11417
c407c570
GM
11418 * window.c (compare_window_configurations): Signal an error
11419 if parameters C1 or C2 aren't window configurations.
11420
685e5ed2
GM
11421 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11422 AFTER_POTENTIAL_GC calls around calls to functions that can
11423 signal an error and thus invoke the debugger.
11424
587a49ab
GM
114252000-04-03 Gerd Moellmann <gerd@gnu.org>
11426
62f20204
GM
11427 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11428 an error if decoding fails.
11429
587a49ab
GM
11430 * keyboard.c (lispy_mouse_names): Variable removed.
11431 (Vlispy_mouse_stem): New variable.
11432 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11433 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11434 for any mouse button number. Increase size of mouse_syms and
11435 button_down_location as needed. Call modify_event_symbol with
11436 different arguments.
11437 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11438 Call modify_event_symbol with different arguments.
11439 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11440 for any button number. Call modify_event_symbol with different
11441 arguments.
11442 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11443 Accept a string for NAME_ALIST_OR_STEM.
11444
11445 * lisp.h (larger_vector): Add prototype.
11446
11447 * fns.c (larger_vector): Make externally visible.
11448
11449 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11450
2d1675e4
SM
114512000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11452
11453 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11454 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11455 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11456 we are between str1 and str2.
11457 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11458 (PATFETCH): Use `TRANSLATE'.
11459 (PATFETCH_RAW): Fetch multibyte char if applicable.
11460 (PATUNFETCH): Remove.
11461 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11462 When writing a char, write it directly into the pattern buffer rather
11463 than going needlessly through a temp char-array.
11464 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11465 multibyte magic and remove the useless `#ifdef emacs'.
11466 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11467 buffer.
11468
11469 * regex.h (struct re_pattern_buffer): Make field `multibyte'
11470 conditional on `emacs'.
11471
11472 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
11473
cc2d8c6b
KR
114742000-04-01 Ken Raeburn <raeburn@gnu.org>
11475
11476 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
11477 non-union-type versions of XMARK and friends here, because XMARK
11478 and friends won't work on an integer field if NO_UNION_TYPE is not
11479 defined.
52283633 11480 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 11481
52283633 11482 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
11483 (syms_of_composite): Delete local var NARGS, pass an int as first
11484 argument to Fmake_hash_table.
11485
2387b382
KR
11486 * editfns.c (text_property_stickiness): Use NILP to test
11487 Lisp_Object boolean value.
11488 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
11489 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
11490 problems reading from and changing the same lisp value in an
11491 XSETSTRING call.
11492
27660e89
GM
114932000-04-01 Gerd Moellmann <gerd@gnu.org>
11494
11495 * term.c (TN_no_color_video): New variable.
11496 (term_init): Intitialize TN_no_color_video.
11497 (enum no_color_bit): New enumeration.
11498 (MAY_USE_WITH_COLORS_P): New macro.
11499 (turn_on_face): Use it to determine if attributes may be used
11500 combined with colors.
11501
3578db3c
KR
115022000-04-01 Ken Raeburn <raeburn@gnu.org>
11503
11504 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 11505 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
11506 (enlarge_window): Variable sizep now points to Lisp_Object. Use
11507 proper accessor macros.
11508 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
11509 (grow_mini_window): Fix typo getting int value of root->height.
11510
6fc556fd
KR
11511 * xdisp.c (compute_string_pos): Fix order of arguments to
11512 string_pos_nchars_ahead.
11513 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
11514 count arg to variable-arg routines like Frun_hook_with_args and
11515 Fformat.
587a49ab
GM
11516 (back_to_previous_visible_line_start)
11517 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
11518 fixed-arg routines like Fget_char_property and Fmake_string.
11519 (reconsider_clip_changes): Use XINT when comparing integer lisp
11520 objects, or passing them as int arguments.
587a49ab
GM
11521 (mark_window_display_accurate, insert_left_trunc_glyphs)
11522 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11523 storing or passing integer values as lisp objects.
11524 (set_cursor_from_row, highlight_trailing_whitespace): Use
11525 INTEGERP, not implicit test against zero, for glyph object.
11526 (try_window_id): Don't use make_number when we want an int value.
11527
11528 * xfaces.c (xlfd_symbolic_value): Make last argument a
11529 Lisp_Object, to be consistent with callers.
11530 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11531 (lface_hash): Apply XFASTINT to lisp values before folding in.
11532
11533 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11534 fill in window width and height. Pass an int, not a lisp object,
11535 as first arg to Finsert.
11536
6e7b2457
GM
115372000-04-01 Gerd Moellmann <gerd@gnu.org>
11538
610d841e
GM
11539 * xfaces.c (realize_basic_faces): Block input while realizing
11540 the faces.
11541
6e7b2457
GM
11542 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11543
11544 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11545
aa110c0c
GM
115462000-03-31 Gerd Moellmann <gerd@gnu.org>
11547
11548 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 11549 or ASCII, handle case that per-char metric is null.
aa110c0c 11550
8801a864
KR
115512000-03-30 Ken Raeburn <raeburn@gnu.org>
11552
c6129d7e
KR
11553 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11554
52283633
SM
11555 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11556 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
11557 pointer, using eassert.
11558 * frame.h (XFRAME): Likewise.
11559
52283633
SM
11560 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11561 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11562 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 11563 * data.c (set_internal): Likewise.
52283633
SM
11564 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11565 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
11566 * fileio.c (auto_save_1): Likewise.
11567 * insdel.c (check_markers): Likewise.
11568 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11569 * undo.c (record_insert): Likewise.
11570 * vmsproc.c (child_sig): Likewise.
11571 * window.c (unshow_buffer, window_loop): Likewise.
11572 * xterm.c (x_erase_phys_cursor): Likewise.
11573
8e7af858
GM
115742000-03-30 Gerd Moellmann <gerd@gnu.org>
11575
11576 * xfns.c (free_image_cache): Free the cache structure itself
11577 last, after all its members have been freed.
11578
11579 * lisp.h (xstrdup): Add prototype.
11580
11581 * alloc.c (xstrdup): Moved here from xfaces.c.
11582 (allocating_for_lisp): Variable removed.
52283633 11583 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11584
11585 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11586 of Fsymbol_value.
11587 (xstrdup): Moved to alloc.c.
11588
e0b8c689
KR
115892000-03-29 Ken Raeburn <raeburn@gnu.org>
11590
b96f9fb7
KR
11591 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11592
11593 * emacs.c (main): Fix sense of no-loadup test.
11594
e0b8c689
KR
11595 * config.in (ENABLE_CHECKING): Undef.
11596
11597 * lisp.h (struct interval): Replace "parent" field with a union of
11598 interval pointer and Lisp_Object; add new bitfield to use as
11599 discriminant. Change other flag fields to bitfields.
11600 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11601 is defined and the supplied test fails, print a message and abort.
11602 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11603
11604 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11605 pointers; abort if the value looks like a lisp object.
52283633
SM
11606 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11607 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11608 Modify for new interval parent definition.
11609
52283633
SM
11610 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11611 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
11612 addressable lisp object in the interval structure.
11613 (die): New function.
11614 (suppress_checking): New variable.
11615
11616 * intervals.c (interval_start_pos): Just return 0 if there's no
11617 parent object.
11618
f83c5440
GM
116192000-03-29 Gerd Moellmann <gerd@gnu.org>
11620
11621 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11622 and earlier Emacs versions.
11623
11624 * keyboard.c (Ftop_level): Cancel busy-cursor.
11625
11626 * eval.c (call_debugger): Cancel busy-cursor.
11627
fdce64ff
KH
116282000-03-29 Kenichi Handa <handa@etl.go.jp>
11629
11630 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 11631 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 11632
f6a3f532
SM
116332000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11634
11635 * regex.c (analyse_first): New function obtained by ripping out most
11636 of re_compile_fastmap and generalizing it a little bit so that it
11637 can also just return whether a given (sub)pattern can match the empty
11638 string or not.
11639 (regex_compile): Use `analyse_first' to decide whether the loop-check
11640 needs to be done or not for *, +, *? and +? (the loop check is costly
11641 for non-greedy repetition).
11642 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11643
e9b309ac
DL
116442000-03-28 Dave Love <fx@gnu.org>
11645
52283633 11646 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 11647
e9b309ac
DL
11648 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11649
ed0767d8
SM
116502000-03-27 Stefan Monnier <monnier@cs.yale.edu>
11651
11652 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
11653 an expression.
11654 (enum re_opcode_t): Update description of succeed_n.
11655 (PATFETCH): Always define.
11656 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
11657 operators, char classes, shy-groups and intervals).
11658 Optimize special cases of intervals so as to only use succeed_n and
11659 jump_n when really needed.
11660 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
11661 that we don't have to handle the special cases any more.
11662 Simplify on_failure_jump handling as well.
11663
e11e7e46
JR
116642000-03-28 Jason Rumney <jasonr@gnu.org>
11665
11666 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
11667
88faab89
GM
116682000-03-27 Gerd Moellmann <gerd@gnu.org>
11669
182ff242
GM
11670 * s/freebsd.h (GC_SETJMP_WORKS): Define.
11671
11672 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 11673
182ff242
GM
11674 * alloc.c (mark_maybe_object): New function.
11675 (mark_memory): Use it.
11676 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
11677 (setjmp_tested_p, longjmp_done): New variables.
11678 (test_setjmp): New function.
11679 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
11680 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
11681
c1005d06
GM
11682 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
11683 to DEC_TEXT_POS and INC_TEXT_POS.
11684
11685 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
11686 with parameter MULTIBYTE_P.
11687
52283633 11688 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 11689
7439e5b9 11690 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
11691 buffers because it looks for multibyte character byte sequences
11692 which don't exist in unibyte text.
7439e5b9 11693
d9c545da
GM
11694 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11695
11fd416e 11696 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11697 [DEBUG_X_COLORS]: New functions.
11698 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11699
11700 * xfns.c (x_set_cursor_color): Get color reference counts right.
11701
11702 * xterm.c (x_copy_color): New function.
11703 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11704
11705 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11706 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11707 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11708 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11709 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11710 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11711 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11712 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11713 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11714 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11715
11fd416e
GM
11716 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11717 names for handling per-buffer variables.
d9c545da
GM
11718
11719 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11720 instead of MAX_BUFFER_LOCAL_VARS.
11721 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11722
11723 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11724
88faab89
GM
11725 * xfns.c (x_specified_cursor_type): New function.
11726 (x_set_cursor_type): Use it.
11727
11728 * buffer.h (struct buffer): Add cursor_type.
11729
d80f42b7
SM
117302000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11731
11732 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11733 (print_partial_compiled_pattern, re_compile_fastmap):
11734 Handle new opcode.
d80f42b7
SM
11735 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11736 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11737 executing it as well as when popping it off the stack to find infinite
11738 loops in non-greedy repetition operators.
11739
89e80928
GM
117402000-03-26 Gerd Moellmann <gerd@gnu.org>
11741
3d4ff2dd
GM
11742 * doc.c (Qfunction_documentation): New variable.
11743 (syms_of_doc): Initialize Qfunction_documentation.
11744 (Fdocumentation): If FUNCTION is a symbol with non-nil
11745 `function-documentation' property, return a documentation derived
11746 from that.
11747
bd96bd79
GM
11748 * buffer.c (syms_of_buffer): Add default-cursor-type.
11749 (init_buffer_once): Don't let cursor_type have a local value
11750 in every buffer.
11751
19d1bc27
GM
11752 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11753 on buffer-local value of cursor_type.
11754 (x_draw_bar_cursor): Add parameter WIDTH.
11755
11756 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11757 (init_buffer_once): Set default cursor_type value to t.
11758 Mark cursor_type as local everywhere.
11759 (syms_of_buffer): New per-buffer variable cursor-type.
11760
89e80928
GM
11761 * buffer.h (struct buffer): Remove member local_var_flags,
11762 add local_flags.
11763 (MAX_BUFFER_LOCAL_VARS): New macro.
11764 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11765 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11766 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11767 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11768
52283633 11769 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11770
11771 * category.c (Fset_category_table): Use new macros for per-buffer
11772 variables.
11773
11774 * buffer.c (buffer_permanent_local_flags): Make a char array.
11775 (max_buffer_local_idx): New variable.
11776 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11777 for new handling of per-buffer variables.
11778 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11779 (init_buffer_once): Initialize per-buffer vars differently.
11780 Set max_buffer_local_idx.
11781
11782 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11783 variables.
11784
52283633 11785 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
11786
11787 * data.c (do_symval_forwarding, store_symval_forwarding)
11788 (find_symbol_value, set_internal, default_value, Fset_default)
11789 (Fkill_local_variable, Flocal_variable_p): Use new macros for
11790 per-buffer variables.
11791
11792 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
11793
9a0dd3dc
GM
117942000-03-24 Gerd Moellmann <gerd@gnu.org>
11795
b68c375f
GM
11796 * xterm.c (x_term_init): Unblock input around call1 of
11797 Qvendor_specific_keysyms.
11798
9a0dd3dc
GM
11799 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
11800 (find_defun_start): Consider an open parenthesis in column 0
11801 a defun start only if open_paren_in_column_0_is_defun_start is set.
11802 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
11803
7973e637
SM
118042000-03-24 Stefan Monnier <monnier@cs.yale.edu>
11805
11806 * eval.c (Fautoload): Add entry in load-history (if after dump).
11807 * lread.c (load-history): Update docstring.
11808
39210e90
GM
118092000-03-24 Gerd Moellmann <gerd@gnu.org>
11810
11811 * indent.c (Fvertical_motion): Always use the current buffer.
11812 Temporarily change the window's buffer, if necessary.
11813
72db3ab5
GM
118142000-03-23 Gerd Moellmann <gerd@gnu.org>
11815
11816 * xterm.c (fast_find_position): Make sure not to consider rows
11817 not visible in the window.
11818
990b2375
SM
118192000-03-22 Stefan Monnier <monnier@cs.yale.edu>
11820
11821 * regex.c (enum syntaxcode): Provide default for non-Emacs.
11822 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
11823
ff4df011
JR
118242000-03-22 Jason Rumney <jasonr@gnu.org>
11825
11826 * w32menu.c (single_submenu): Set help string to NULL if none.
11827 (w32_menu_show): Set help string correctly.
11828 (add-menu-item): Set help string in MIIM_DATA for menu item.
11829 Load SetMenuItemInfoA explicitly.
11830 (w32_menu_display_help): New function.
427ec082 11831
ff4df011
JR
11832 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
11833 (QCdata): Moved to xdisp.c.
11834
11835 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
11836 (Vw32_charset_to_codepage_alist): Removed.
11837 (Vw32_charset_info_alist): New variable.
52283633
SM
11838 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
11839 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
11840 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
11841 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
11842 with TODO comment.
11843 (w32_codepage_for_font): Use Vw32_charset_info_alist.
11844 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
11845 Define Vw32_charset_info_alist and w32_charset symbols.
11846
118472000-03-22 Jason Rumney <jasonr@gnu.org>
11848
11849 * makefile.nt (w32bdf.obj): Update dependencies.
11850
11851 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
11852
11853 * w32fns.c: Include fontset.h after dispextern.h.
11854 (Fx_create_frame): Do not create fontset.
11855 (w32_load_system_font): Doc fix.
11856 (Fx_close_connection): Free full_name if it is not shared.
11857
11858 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
11859 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
11860 Callers updated.
ff4df011
JR
11861 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
11862 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
11863 (w32_font_is_double_byte): New function, needs body.
11864 (x_append_glyph): Set glyph->glyph_not_available_p.
11865 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11866 it->charset. If it->multibyte_p is zero and it->c is a multibyte
11867 character, convert it to a unibyte character.
11868 (struct glyph_string): Delete member `charset'.
11869 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
11870 calculating it is found.
11871 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11872 the case that per char metric is not available correctly.
11873 (x_fill_glyph_string): Handle the case that the specific glyph is
11874 not available correctly.
11875 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11876 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11877 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11878 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11879 fontset. Don't call FS_LOAD_FONT.
11880
439d5cb4
KR
118812000-03-22 Ken Raeburn <raeburn@gnu.org>
11882
11883 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
11884 (INT_LISPLIKE): New macro.
11885 (NULL_INTERVAL_P): Use it.
52283633
SM
11886 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
11887 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
11888 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
11889
11890 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
11891 explicit references to "parent" field of struct interval and
11892 associated unclean type conversions.
52283633
SM
11893 * intervals.c (create_root_interval, root_interval, rotate_right)
11894 (rotate_left, balance_possible_root_interval, split_interval_right)
11895 (split_interval_left, interval_start_pos, find_interval)
11896 (next_interval, previous_interval, update_interval)
11897 (adjust_intervals_for_insertion, delete_node, delete_interval)
11898 (adjust_intervals_for_deletion, merge_interval_right)
11899 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
11900 (copy_intervals_to_string): Likewise.
439d5cb4
KR
11901 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
11902 Likewise.
11903 * syntax.c (update_syntax_table): Likewise.
11904
11905 * intervals.c (reproduce_tree_obj): New function, like
11906 reproduce_tree but takes a Lisp_Object for the parent. Declare
11907 with prototype.
11908 (graft_intervals_into_buffer): Use it when appropriate.
11909 (reproduce_tree): Declare with prototype.
11910 (balance_possible_root_interval): Check that the parent is a lisp
11911 object before trying to examine its type.
11912
ee1c5b21
GM
119132000-03-22 Gerd Moellmann <gerd@gnu.org>
11914
11915 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
11916 as strings only if both are known to be strings.
11917
11918 * s/openbsd.h (LIBS_TERMCAP): Undef.
11919
1fb352e0
SM
119202000-03-21 Stefan Monnier <monnier@cs.yale.edu>
11921
11922 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
11923 definitions for non-Emacs compilation.
11924 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
11925 outside of `#ifdef emacs'.
11926 (print_partial_compiled_pattern): Update.
11927 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
11928 (re_compile_fastmap): Merge handling of charset and charset_not (for
11929 emacs and non-emacs compilation as well).
11930 Similarly for (not)categoryspec and (not)syntaxspec.
11931 Don't use the fastmap when reaching `anychar' since the added
11932 complexity is not justified.
11933 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
11934 and (not)syntaxspec. Merge (not)categoryspec.
11935
fdaa1f77
KH
119362000-03-22 Kenichi Handa <handa@etl.go.jp>
11937
52283633
SM
11938 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
11939 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 11940 --without-x.
fdaa1f77 11941
d152fb46
DL
119422000-03-21 Dave Love <fx@gnu.org>
11943
11944 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
11945 doc string.
11946
d2cafc8c
GM
119472000-03-21 Gerd Moellmann <gerd@gnu.org>
11948
11949 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
11950 (lface_fully_specified_p): Don't check contents of
11951 LFACE_FONT_INDEX because that attribute is optional.
11952 (realize_x_face): Remove now unwarranted xassert.
11953
9111d4b5
KH
119542000-03-21 Kenichi HANDA <handa@etl.go.jp>
11955
11956 The following changes are to make font selection based on
11957 characters, not charset. In addition, they recover fontset
11958 facilities while utilizing the new font selection mechanism.
11959
6c4bfdc0
KH
11960 * Makefile.in (fontset.o): Depend on dispextern.h.
11961
11962 * alloc.c (mark_face_cache): Don't mark face->registry.
11963
9111d4b5
KH
11964 * dispextern.h (struct glyph): New member glyph_not_available_p.
11965 Use 22 bits for face_id.
11966 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
11967 (struct face): Delete member registry, new member ascii_face.
11968 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
11969 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
11970 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 11971 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
11972
11973 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
11974 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
11975 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
11976 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 11977 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
11978 (fs_free_face_fontset, fontset_font_pattern)
11979 (face_suitable_for_char_p, face_for_char)
11980 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
11981 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
11982 (FS_LOAD_FACE_FONT): New macro.
11983
11984 * fontset.c: All codes rewritten or adjusted for the change of
11985 fontset implementation. Now fontset is represented by char table.
52283633
SM
11986 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
11987 Variables removed.
9111d4b5 11988 (my_strcasecmp): Function removed.
52283633 11989 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 11990 (AREF, ASIZE): New macros.
52283633
SM
11991 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
11992 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
11993 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
11994 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
11995 (fontset_id_valid_p, font_family_registry, fontset_name)
11996 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
11997 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
11998 New functions.
11999 (fs_load_font): New arg FACE. Caller changed.
12000 (fs_query_fontset): Argument changed. Caller changed.
12001 (Fquery_fontset): call fs_query_fontset.
12002 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12003 Functions removed.
52283633
SM
12004 (clear_fontset_elements, check_registry_encoding)
12005 (check_fontset_name): New functions.
9111d4b5
KH
12006 (syms_of_fontset): Set char-table-extra-slots property of fontset
12007 to 3. Staticpro and initialize Vfontset_table and
12008 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12009
12010 * frame.h (struct frame): Member `fontset_data' removed.
12011 (FRAME_FONTSET_DATA): Macro removed.
12012
12013 * frame.c (make_frame): Don't allocate f->fontset_data.
12014 (Fdelete_frame): Don't free f->fontset_data.
12015
6c4bfdc0
KH
12016 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12017
9111d4b5
KH
12018 * xdisp.c (charset_at_position): Function removed.
12019 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12020 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12021 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12022 Likewise.
12023 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12024 FACE_FOR_CHARSET.
52283633
SM
12025 (get_next_display_element, append_space)
12026 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12027
12028 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12029 Variables removed.
12030 (clear_font_table, frame_update_line_height, load_face_font):
12031 Adjusted for the change of fontset implementation.
12032 (load_face_fontset_font): Function removed.
12033 (pixel_point_size): New function.
12034 (font_list): Argument type changed. Caller changed.
12035 (LFACE_FONT): New macro.
12036 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12037 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12038 Lisp_Object. Determine the font name by actually loading a font
12039 by the specified pattern. Set LFACE_FONT (lface) to the specified
12040 pattern. Even if a font is not found, don't try alternatives.
12041 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12042 (set_font_frame_param): If `font' is specified in lface, use it.
12043 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12044 (lface_same_font_attributes_p): Likewise.
12045 (make_realized_face): Arguent changed. Caller changed. Set
12046 face->ascii_face to face itself.
12047 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12048 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12049 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12050 (free_realized_multibyte_face): New function.
12051 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12052 changed. Caller changed.
12053 (try_font_list): Argument type changed.
12054 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12055 (choose_face_font): Argument changed. Handle fontset properly.
12056 (choose_face_fontset_font): Function removed.
12057 (realize_default_face, realize_named_face): Don't remove the
12058 former face here.
12059 (realize_face): Argument changed. Caller changed. Remove face
52283633 12060 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12061 (realize_x_face): Argument changed. Caller changed. For a
12062 multibyte character, share fontset with base_face. For a single
52283633 12063 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12064 (realize_tty_face): Argument changed. Caller changed.
12065 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12066 (face_at_buffer_position): Don't check multibyte_p for returning
12067 DEFAULT_FACE_ID.
12068 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12069 FACE_SUITABLE_FOR_CHARSET_P.
12070 (syms_of_xfaces): Remove code for Qx_charset_registry and
12071 Vface_default_registry.
12072
6c4bfdc0
KH
12073 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12074 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12075 (x_per_char_metric): Don't try FONT->default_char. Even if
12076 pcm->width is zero, glyph bits may exist.
12077 (x_encode_char): Always initialize char2b->byte1.
12078 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12079 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12080 (x_append_glyph): Set glyph->glyph_not_available_p.
12081 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12082 it->charset. Handle the case that per char metric is not
12083 available. If it->multibyte_p is zero and it->c is a multibyte
12084 character, convert it to a unibyte character.
12085 (struct glyph_string): Delete member `charset'.
12086 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12087 the case that per char metric is not available correctly.
12088 (x_fill_glyph_string): Handle the case that the specific glyph is
12089 not available correctly.
12090 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12091 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12092 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12093 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12094 fontset. Don't call FS_LOAD_FONT.
12095
12096 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12097 (x_create_tip_frame): Likewise.
12098 (Fx_close_connection): Free full_name of font_info.
12099
12100 * fns.c (optimize_sub_char_table): New function.
12101 (Foptimize_char_table): New function.
12102 (syms_of_fns): Defsubr Soptimize_char_table.
12103
b33dd3b0
GM
121042000-03-20 Gerd Moellmann <gerd@gnu.org>
12105
12106 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12107 only if buffer is displayed in some window.
12108
12109 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12110 (try_window_reusing_current_matrix): Don't call scroll run
12111 function if run's current and desired position are the same;
12112 this prevents cursor flickering.
12113
4e8a9132
SM
121142000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12115
12116 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12117
12118 * regex.c (RE_STRING_CHAR): New macro.
12119 (GET_CHAR_AFER_2): Remove.
12120 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12121 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12122 (print_partial_compiled_pattern, re_compile_fastmap)
12123 (re_match_2_internal): Remove on_failure_jump_exclusive.
12124 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12125 optimization only need to work for * (ie. can use of_keep_string_jump).
12126 Remove the special case for .*\n since it is now covered by the general
12127 optimization.
12128 (re_search_2): Don't bother with `room'.
12129 (skip_one_char): New function.
12130 (skip_noops): Simplify since `memory' is not needed any more.
12131 (mutually_exclusive_p): Restructure slightly to use `switch' and
12132 add handling for "all" remaining cases.
12133 (re_match_2_internal): Change on_failure_jump_smart to use
12134 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12135 rather than on_failure_jump_exclusive.
12136
2136fdd4
GM
121372000-03-19 Gerd Moellmann <gerd@gnu.org>
12138
12139 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12140 number of bits per RGB because it's everywhere used as the depth
12141 of the visual.
12142
12143 * term.c (calculate_costs): Remove code dealing with X frames.
12144
18e21ce8 121452000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12146
12147 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12148
d7b511c4
GM
121492000-03-18 Gerd Moellmann <gerd@gnu.org>
12150
12151 * lread.c (read_integer): Unread the last char not consumed.
12152
16b5d424
GM
121532000-03-17 Gerd Moellmann <gerd@gnu.org>
12154
12155 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12156 which are in the process of being deleted.
16b5d424 12157
1fa28578
GM
121582000-03-16 Gerd Moellmann <gerd@gnu.org>
12159
83488cce
GM
12160 * Makefile.in (mostlyclean): Add `*.core'.
12161 (clean): Add `bootstrap-emacs'.
12162
1fa28578
GM
12163 * lread.c (read_integer): New function.
12164 (read1): Support read syntax #o, #x, #b, #r.
12165
99633e97
SM
121662000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12167
1fa28578
GM
12168 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12169 make sure POINTER_TO_OFFSET gives the same value before and after
12170 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12171 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12172 (debug): Now only active if > 0 rather than if != 0.
12173 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12174 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12175 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12176 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12177 (store_op1, store_op2, insert_op1, insert_op2)
12178 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12179 (group_in_compile_stack): Move to after its arg's types are
12180 declared and add a prototype.
99633e97 12181 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12182 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12183 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12184 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12185 indentation of the greedy-op and shy-group code.
99633e97
SM
12186 (at_(beg|end)line_loc_p): Fix argument's types.
12187 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12188 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12189 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12190 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12191 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12192 QUIT unconditionally.
99633e97 12193
699238d9
GM
121942000-03-15 Gerd Moellmann <gerd@gnu.org>
12195
12196 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12197 a sole completion.
12198
12199 * process.c (send_process): Add a hint that the function
12200 can call Lisp code to its comment.
12201
12202 * lread.c (load_dangerous_libraries): New variable.
12203 (Vbytecomp_version_regexp): New variable.
12204 (safe_to_load_p): New function.
12205 (Fload): Handle files not compiled with Emacs specially.
12206 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12207
34e23e5a
GM
122082000-03-14 Gerd Moellmann <gerd@gnu.org>
12209
9c763cca
GM
12210 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12211
12212 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12213 support functions only if HAVE_X11R6_XIM is defined.
12214 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12215
12216 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12217
12218 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12219 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12220 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12221
12222 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12223 (HAVE_X11R6_XIM): Define.
12224
12225 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12226
34e23e5a
GM
12227 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12228 If set, call XSynchronize.
12229
66f0296e
SM
122302000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12231
34e23e5a
GM
12232 * regex.c: Declare a new type `re_char' used throughout the code
12233 for the string char type. It's `const unsigned char' to match the
12234 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12235 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12236 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12237 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12238 code duplication.
66f0296e
SM
12239
12240 * charset.h (GET_CHAR_AFTER_2): Remove.
12241 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12242
854a025c
KR
122432000-03-12 Ken Raeburn <raeburn@gnu.org>
12244
12245 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12246 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12247 of them try to use backquotes.
12248
b9d2c7e2
DL
122492000-03-12 Dave Love <fx@gnu.org>
12250
12251 * unexelf.c: Restore changes of 1999-10-19.
12252 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12253 fix its type and alignment; copy it from current process.
12254
5e5dff44
GM
122552000-03-12 Gerd Moellmann <gerd@gnu.org>
12256
9b2f3c38
GM
12257 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12258 has been found. Fix bug not computing timer's predecessor.
12259
427ec082 12260 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12261 file name.
12262
e1cff360
GM
12263 * window.c (Fsave_window_excursion): Doc fix.
12264
52283633 12265 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12266
e411ce4b
EZ
122672000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12268
12269 * msdos.c (vga_installed): New function, code moved from
12270 dos_set_window_size.
12271 (Qbar, Qcursor_type, outside_cursor): New variables.
12272 (syms_of_msdos): Intern and staticpro them.
12273 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12274 shape used outside Emacs when called for the first time.
12275 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12276 cursor shape used outside Emacs.
12277 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12278 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12279 type has changed.
12280 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12281 parameters specify the cursor. Make qreverse a global
12282 variable (renamed to Qreverse).
12283
80460654
GM
122842000-03-09 Gerd Moellmann <gerd@gnu.org>
12285
12286 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12287
95cd4c40
SM
122882000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12289
12290 This is a big redesign of failure-stack and register handling, prompted
12291 by bugs revealed when trying to add shy-groups. Overall, what happened
12292 is that loops are now structured a little differently, groups can be
12293 shy and the code is a little simpler.
12294
12295 * regex.h: Update the copyright.
12296 (RE_SHY_GROUPS): New value.
12297 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12298 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12299
80460654
GM
12300 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12301 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12302 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12303 for (start|stop)_memory since they now only take one argument (the
12304 second has becomes unnecessary).
52283633 12305 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12306 (print_compiled_pattern): Use %ld to printf long ints and flush to
12307 make debugging a little easier.
95cd4c40
SM
12308 (union fail_stack_elt): Make the integer unsigned.
12309 (struct fail_stack_type): Add a `frame' element.
12310 (INIT_FAIL_STACK): Init `frame' as well.
12311 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12312 (DEBUG_PUSH, DEBUG_POP): Remove.
12313 (NUM_REG_ITEMS): Remove.
12314 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12315 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12316 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12317 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12318 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12319 New macros.
80460654
GM
12320 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12321 address pushed is not the destination of the jump but the source
12322 of it instead.
95cd4c40
SM
12323 (NUM_FAILURE_ITEMS): Remove.
12324 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12325 registers before the actual failure point). Don't hardcode any
12326 meaning for str==NULL anymore.
95cd4c40 12327 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12328 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12329 Remove.
95cd4c40
SM
12330 (REG_UNSET_VALUE): Use NULL (why not?).
12331 (compile_range): Remove declaration since it doesn't exist.
12332 (struct compile_stack_elt_t): Remove inner_group_offset.
12333 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12334 (regex_grow_registers): Remove dead code.
12335 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12336 (regex_compile): Add shy-groups Change loops to use
12337 on_failure_jump_smart&jump instead of
12338 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12339 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12340 variable to me). Use `jump' instead of `jump_past_alt' and don't
12341 bother with push_dummy_failure in alternatives since it is now
12342 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12343 emacs' for (re)allocating the stack.
12344 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12345 from loop when bufp->can_be_null rather than jumping to `done'.
12346 Avoid jumping backwards so as to ensure termination. Use
12347 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12348 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12349 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12350 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12351 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12352 (lowest_active_reg, highest_active_reg)
12353 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12354 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12355 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12356 variables. Push register (in `start_memory') on the stack rather
12357 than storing it in old_reg(start|end). Remove the cycle detection
12358 from `stop_memory', replaced by the use of on_failure_jump_loop
12359 for greedy loops. Add code for the new on_failure_jump_<foo>.
12360 Remove ad-hoc code in `on_failure_jump' to push more registers in
12361 the case of a loop. Take out code from `maybe_pop_jump' into
12362 separate functions and adapt it to the semantics of
12363 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12364 and push_dummy_failure. Remove dummy_failure handling and
12365 handling of `failures to jump to on_failure_jump' (this last one
12366 was already dead code, it seems).
12367 (group_match_null_string_p, alt_match_null_string_p)
12368 (common_op_match_null_string_p): Remove.
95cd4c40 12369
7397acc4
DL
123702000-03-08 Dave Love <fx@gnu.org>
12371
12372 * config.in: Don't depend on __STDC__ for volatile.
12373 Add POINTER_TYPE, PTR, PROTOTYPES.
12374
12375 * hftctl.c, strftime.c: Use PROTOTYPES.
12376 * eval.c (find_handler_clause): Likewise.
12377
12378 * mem-limits.h: Use POINTER_TYPE.
12379
12380 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12381 (memory_warnings): Declare using POINTER_TYPE.
12382
5e91ff9e
GM
123832000-03-08 Gerd Moellmann <gerd@gnu.org>
12384
feab4fba
GM
12385 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12386
52283633 12387 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12388
5e91ff9e
GM
12389 * xfns.c: Remove obsolete code in #if 0.
12390 (Fx_focus_frame): New function.
12391
a735b7e1
KH
123922000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12393
12394 * coding.c (coding_category_name): Add coding-category-utf-8,
12395 coding-category-utf-16-be, coding-category-utf-16-le.
12396 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12397 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12398 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12399 (detect_coding_utf_8): New function.
12400 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12401 UTF_16_LOW_SURROGATE_P): New macros.
12402 (detect_coding_utf_16): New function
12403 (detect_coding_mask): When priorities are specified, skip any
12404 categories that have `nil' coding-system. Fix bug of returning
12405 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12406 returns a mask not set in PRIORITIES.
12407 (detect_eol_type_in_2_octet_form): New function.
12408 (detect_eol): selects detect_eol_type_XXX to call according to
12409 cooding->category_idx.
12410 (detect_coding_system): Remove `nil' coding-system in the result.
12411 (Fupdate_coding_systems_internal): Update all coding-categories.
12412
52283633
SM
12413 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12414 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12415 New macros.
12416 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12417 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12418 (CODING_CATEGORY_IDX_UTF_16_LE)
12419 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12420 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12421 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12422 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12423
9994cc69
GM
124242000-03-07 Gerd Moellmann <gerd@gnu.org>
12425
e9b4e5ff
GM
12426 * doc.c (Fdocumentation_property): If value is not a string,
12427 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12428
f7daf1e1
GM
12429 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12430 close the display with XtCloseDisplay. This caused a bus error
12431 on OpenWindows.
12432
9994cc69
GM
12433 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12434 complete but not unique.
12435
4336c705
GM
124362000-03-06 Gerd Moellmann <gerd@gnu.org>
12437
18bb0684
GM
12438 * process.c (send_process): Remove local variable `procname' that
12439 might become invalid when a GC happens. Instead, access the
12440 process name slot directly.
12441
4336c705
GM
12442 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12443 orig_height if set.
12444
12445 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12446 orig_height if set.
12447
515d0d0e
EZ
124482000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12449
12450 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12451 glyph matrices have been freed.
12452
100b3cbb
GM
124532000-03-05 Gerd Moellmann <gerd@gnu.org>
12454
50df5e5a 12455 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 12456 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
12457
12458 * xfns.c (QCdata): Moved to xdisp.c.
12459
12460 * xdisp.c (QCdata): Moved here from xfns.c.
12461 (syms_of_xdisp): Initialize QCdata.
12462
12463 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12464
12465 * window.c (coordinates_in_window): Use
12466 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12467 FRAME_INTERNAL_BORDER_WIDTH.
12468
100b3cbb 12469 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 12470 it is obviously invalid.
100b3cbb
GM
12471
12472 * xterm.c (x_term_init): Create a colormap if not using the
12473 default visual.
12474
12475 * xterm.h (select_visual): Change prototype.
12476
12477 * xfns.c (select_visual): Rewritten. Recognize user-specified
12478 visual classes.
12479 (visual_classes): New variable.
12480
64d739c4
GM
124812000-03-04 Gerd Moellmann <gerd@gnu.org>
12482
12483 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
12484 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
12485 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 12486 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
12487 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
12488 XtNcolormap resources.
12489 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
12490 (Fx_create_frame): Initialize color members of x_output structure.
12491 (xpm_load): Pass colormap to XPM lib.
12492
12493 * xfaces.c (x_free_colors): Access colormap of frame using
12494 FRAME_X_COLORMAP. Be paranoid about freeing black and white
12495 when default colormap is used.
12496
12497 * xterm.c (x_term_init): Set Colormap member of x_display_info
12498 structure. Copy colormap if resource `privateColormap' is
12499 specified (PseudoColor only).
12500 (x_setup_relief_color): Access colormap of frame using
12501 FRAME_X_COLORMAP.
12502
12503 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
12504 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
12505
c3cee013
JR
125062000-03-04 Jason Rumney <jasonr@gnu.org>
12507
12508 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
12509 other non-platform-specific equivalents.
64d739c4 12510 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
12511 specific functions and macros as their w32 equivalents where
12512 non-platform-specifics are not available.
12513 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
12514 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
12515 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12516 (frame_update_line_height): Use macros to access f->output_data.
12517 (defined_color): Remove FIXME comments; fixed.
12518 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12519 into #ifdef blocks. Add WINDOWSNT blocks.
12520 (Fx_list_fonts): Use macros for accessing font data.
12521 (set_lface_from_font_name): Different default fonts for X and
12522 WINDOWSNT.
12523 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12524 scalable for backward compatibility.
64d739c4 12525 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12526 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12527
64d739c4 12528 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12529 syms_of_w32faces.
12530
12531 * makefile.nt (w32faces.obj): Remove.
12532 (xfaces.obj): Add.
12533
807cc41c
JR
125342000-03-03 Jason Rumney <jasonr@gnu.org>
12535
12536 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12537 correct parameters.
12538
0007072a
KR
125392000-03-03 Ken Raeburn <raeburn@gnu.org>
12540
12541 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12542 standard ELF definitions here if the system header does not.
12543
71a6ba55
GM
125442000-03-03 Gerd Moellmann <gerd@gnu.org>
12545
12546 * xterm.c (PER_CHAR_METRIC): Removed.
12547 (x_per_char_metric_1, x_default_char): New functions.
12548 (x_per_char_metric): If font's default char is invalid, return
12549 metrics of a suitably chosen usable default char.
12550 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
12551 char, replace occurrences of unprintable chars with a suitably
12552 chosen usable default char.
71a6ba55 12553
900fa1f1
GM
125542000-03-02 Gerd Moellmann <gerd@gnu.org>
12555
42f55fe0
GM
12556 * xterm.c (note_mouse_highlight): Return quickly if frame's
12557 glyph matrices have been freed.
12558
12559 * dispnew.c (free_glyphs): Block input while freeing matrices.
12560
900fa1f1
GM
12561 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12562
52283633
SM
12563 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12564 Use x_free_colors.
900fa1f1
GM
12565
12566 * dispextern.h (x_free_colors): Add prototype.
12567
12568 * xfaces.c (x_free_colors): New function.
12569 (unload_color, free_face_colors): Use it.
12570
2f950292
EZ
125712000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12572
12573 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12574
12575 * window.c [MSDOS]: Include msdos.h.
12576
54d04320
DL
125772000-03-02 Dave Love <fx@gnu.org>
12578
12579 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12580
12581 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12582 set C_OPTIMIZE_SWITCH for gcc.
12583
0ba93ac4
KH
125842000-03-02 Kenichi Handa <handa@etl.go.jp>
12585
12586 * coding.c (coding_save_composition): Be sure to allocate
12587 composition data area in coding even if there's no composition in
12588 the current run.
12589
a2bc11d4
JR
125902000-03-01 Jason Rumney <jasonr@gnu.org>
12591
12592 * w32term.c: Equivalent changes to those made to xterm.c on
12593 2000-02-25 and 2000-02-24.
12594
12595 * w32fns.c: Equivalent changes to those made to xfns.c on
12596 2000-02-25 and 2000-02-21.
12597
12598 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12599 correct line-end convention is followed.
12600
12601 * w32menu.c [HAVE_BOXES]: Remove #undef.
12602 (single_keymap_panes): Remove code for simulating checkmarks.
12603 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12604 Remove code for drawing simulated checkmarks.
12605 (w32_menu_show): make unibyte help string correctly.
12606 (add_menu_item): draw standard Windows checkmarks. Draw radio
12607 buttons as radio buttons if possible.
12608
72d19d75
GM
126092000-03-01 Gerd Moellmann <gerd@gnu.org>
12610
2df636f4
GM
12611 * sysdep.c (start_of_text): Don't define this function for NetBSD
12612 with ELF.
12613
427ec082 12614 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
12615 Don't define.
12616 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12617 (LINKER): Don't undef if __NetBSD__ is defined.
12618
12619 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12620
12621 * fileio.c [__NetBSD__]: Define `unix'.
12622
72d19d75
GM
12623 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12624
ed4d0512
GM
126252000-02-29 Gerd Moellmann <gerd@gnu.org>
12626
50b1039f
GM
12627 * atimer.c (start_atimer): Don't abort when timers are stopped.
12628 (append_atimer_lists): New function.
12629 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12630 arbitrary lists of stopped and running atimers.
12631
ed4d0512
GM
12632 * atimer.c (cancel_atimer): Handle canceling an atimer when
12633 some timers are stopped.
12634
12635 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12636 after canceling it.
12637
12638 * fns.c (maybe_resize_hash_table): Handle case of new size
12639 coming out as being the same as old size.
12640
387023ee
JR
126412000-02-27 Jason Rumney <jasonr@gnu.org>
12642
12643 * makefile.nt: Add atimer.h to dependencies.
12644 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12645 * w32console.c: Only disable window system features for dispextern.h
12646 (initialize_w32_display): Build a display info for the console.
12647 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12648 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12649 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
12650 as 2 button mice.
12651 * w32gui.h (struct W32FontStruct): Revert last change after change
12652 to xdisp.c.
12653 * w32menu.c (single_submenu): Set up help string.
12654 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
12655 (w32_dialog_show): Set up help string.
12656 * w32term.c (w32_display_info_for_display): Remove unused function.
12657 (w32_draw_bitmap): Use pre-built bitmaps.
12658 (w32_initialize_display_info): New function to initialize parts of
12659 display info that are common to both GUI and console frames.
12660 (w32_term_init): Use w32_initialize_display_info. Do not set
12661 Vw32_num_mouse_buttons here, as it is not called for console
12662 frames. Build bitmaps for indicating truncated lines etc.
12663 (x_delete_display): Destroy pre-built bitmaps.
12664 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
12665 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
12666
4516715a
DL
126672000-02-27 Dave Love <fx@gnu.org>
12668
12669 * lisp.h: Add a bunch of prototypes.
12670
171ca836
KH
126712000-02-26 Kenichi Handa <handa@etl.go.jp>
12672
12673 * keyboard.c (read_char): Set `usec' correctly.
12674
4013921d
KH
126752000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12676
12677 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
12678 `lambda', set reg[RRR] to the map index.
12679 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
12680 reg[RRR] to 0. Otherwise, set it to -1.
12681
9244a058
GM
126822000-02-25 Gerd Moellmann <gerd@gnu.org>
12683
2df636f4 12684 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 12685
18e21ce8 126862000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 12687
f43d79c1
GM
12688 * fileio.c (Ffile_symlink_p): If result starts with a `/'
12689 and contains a `:', prepend `/:'.
12690
12691 * window.c (select_window_1): If selected_window is nil,
12692 don't "swap out" the buffer's point.
12693 (Fset_window_configuration): Set selected_window to nil
12694 before calling Fselect_window.
12695 (unshow_buffer): Don't set point in buffer from window's point
12696 if another more recently selected window also shows the buffer.
12697
bed0c171
GM
126982000-02-25 Gerd Moellmann <gerd@gnu.org>
12699
449c3c52
GM
12700 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12701
f5b58615
GM
12702 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12703 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12704 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12705 New variables.
f5b58615
GM
12706 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12707 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12708 (hide_busy_cursor): New functions.
12709 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12710
12711 * minibuf.c (read_minibuf): Cancel busy-cursor.
12712
12713 * keyboard.c (command_loop_1): Call start_busy_cursor before
12714 Fcommand_execute and cancel_busy_cursor after it.
12715 (timer_check): Remove busy-cursor code.
12716 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12717 cursor timer.
12718
12719 * process.c (wait_reading_process_input): Remove busy-cursor code.
12720
12721 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12722 Fx_hide_busy_cursor.
12723
12724 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12725 Remove prototyoes.
12726 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12727
12728 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12729
12730 * xterm.c (XTread_socket): Remove busy-cursor code.
12731
4eb8436f
GM
12732 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12733 (build_frame_matrix_from_leaf_window): Put code handling
12734 glyph row's not being a slice of a frame row in #if 0.
12735 (sync_window_with_frame_matrix_rows): New function.
12736 (frame_row_to_window): New function.
12737 (mirror_line_dance): Handle copies between windows.
12738
3cb65b0e
GM
12739 * lread.c (Fload): Use `xfree' instead of `free'.
12740 (init_obarray): Use `xmalloc' instead of `malloc'.
12741
bed0c171
GM
12742 * window.c (Fset_window_buffer): Set WINDOW to the window
12743 after decoding.
2add4349
GM
12744 (coordinates_in_window): Take frame's internal border width
12745 into account.
bed0c171 12746
42088c12
GM
127472000-02-24 Gerd Moellmann <gerd@gnu.org>
12748
12749 * xterm.c (x_display_and_set_cursor): Display cursor of
12750 non-selected windows depending on the setting of
12751 cursor_in_non_selected_windows.
12752
12753 * xdisp.c (cursor_in_non_selected_windows): New variable.
12754 (syms_of_xdisp): DEFVAR_BOOL it.
12755
d1e103b2
GM
127562000-02-23 Gerd Moellmann <gerd@gnu.org>
12757
723e779c
GM
12758 * data.c (Fstring_to_number): If number is greater than what
12759 fits into an integer, return a float.
12760
d1e103b2
GM
12761 * eval.c (specbind): Remove references to
12762 keyword_symbols_constant_flag.
12763
12764 * data.c (keyword_symbols_constant_flag): Removed.
12765 (Fmakunbound, set_internal, syms_of_data): Remove references to
12766 keyword_symbols_constant_flag.
12767
12768 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12769
214f877f
KH
127702000-02-23 Kenichi Handa <handa@etl.go.jp>
12771
12772 * syntax.c (multibyte_syntax_as_symbol): New variable.
12773 (syms_of_syntax): Declare it as a Lisp variable.
12774 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12775 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12776 nonzero, treat all multibyte characters as symbol.
52283633 12777 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12778
130adcb7
EZ
127792000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12780
3cb65b0e 12781 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12782 a deleted frame.
130adcb7 12783
17cbbf95
GM
127842000-02-21 Gerd Moellmann <gerd@gnu.org>
12785
12786 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
12787
12788 * xfns.c (x_window_to_frame, x_any_window_to_frame)
12789 (x_non_menubar_window_to_frame): Check the busy-cursor window.
12790
beb0bc36
DL
127912000-02-21 Dave Love <fx@gnu.org>
12792
12793 * frame.c (Vmouse_position_function): New variable.
12794 (Fmouse_position): Use it.
12795 (syms_of_frame): Install it.
12796
12797 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
12798
1d92afcd
GM
127992000-02-20 Gerd Moellmann <gerd@gnu.org>
12800
12801 * fileio.c (Finsert_file_contents): Unbind the binding of
12802 standard-output done by temp_output_buffer_setup.
329eed9f
GM
12803
12804 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
12805 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
12806 (specbind, unbind_to): Handle most common case of non-constant
12807 symbol with trivial value specially.
12808
12809 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
12810
18e21ce8 128112000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
12812
12813 * data.c (Fmake_variable_buffer_local): Doc fix.
12814 Init found_for_buffer to 0.
12815 (Fmake_variable_frame_local): If the variable has already
12816 been buffer-local, set the check_frame field.
12817
1d4311c3
EZ
128182000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
12819
12820 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
12821 produced for CODING_MODE_LAST_BLOCK requires.
12822
2dc95ddd
DL
128232000-02-18 Dave Love <fx@gnu.org>
12824
12825 * keyboard.c (echo_keystrokes): Remove declaration.
12826 (Vecho_keystrokes) New variable.
12827 (read_char, record_menu_key, read_key_sequence): Use it to allow
12828 use of float value.
12829 (syms_of_keyboard): Change Vecho_keystrokes declaration.
12830
12831 * lread.c: Undef feature selection macros before defining.
12832
f0930f35
GM
128332000-02-18 Gerd Moellmann <gerd@gnu.org>
12834
12835 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
12836 for symbols other than the symbol in question.
12837
e3d4de90
DL
128382000-02-17 Dave Love <fx@gnu.org>
12839
12840 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
12841
0b378936
GM
128422000-02-17 Gerd Moellmann <gerd@gnu.org>
12843
d621caf7
GM
12844 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
12845
0b378936
GM
12846 * alloc.c (enum mem_type): Compile unconditionally.
12847
3b451f74
EZ
128482000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
12849
12850 * xfaces.c (tty_defined_color): Don't return faulire indication
12851 for unspecified-fg and unspecified-bg pseudo-colors.
12852
10689a01
GM
128532000-02-17 Gerd Moellmann <gerd@gnu.org>
12854
1216f5e4
GM
12855 * alloc.c (mark_object): Don't mark symbol names in pure space.
12856 (gc_sweep): Don't unmark symbol names in pure space.
12857
12858 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
12859 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
12860 [GC_MARK_STACK]: New defines.
427ec082 12861 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
12862 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
12863
12864 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
12865
12866 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
12867 allocate_buffer instead of xmalloc.
12868
12869 * alloc.c (toplevel): Include setjmp.h.
12870 (PURE_POINTER_P): New define.
12871 (enum mem_type) [GC_MARK_STACK]: New enumeration.
12872 (Vdead) [GC_MARK_STACK]: New variable.
12873 (lisp_malloc): Add parameter TYPE, call mem_insert if
12874 GC_MARK_STACK is defined.
12875 (allocate_buffer): New function.
427ec082 12876 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
12877 (free_float) [GC_MARK_STACK]: Set type to Vdead.
12878 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
12879 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
12880 (MEM_NIL) [GC_MARK_STACK]: New define.
12881 (struct mem_node) [GC_MARK_STACK]: New structure.
12882 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
12883 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
12884 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
12885 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
12886 (mark_stack) [GC_MARK_STACK]: New functions.
12887 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
12888 (clear_marks): Removed.
12889 (gc_sweep): Set free conses' car, free floats' type, free
12890 symbols' function to Vdead. Use lisp_free to free buffers.
12891 (init_alloc_once): Initialize Vdead.
12892 (survives_gc_p): Return non-zero for pure objects.
12893
12894 * alloc.c: Add comments throughout the file.
12895
2503c8b1
GM
12896 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
12897 that unblocks alarms.
12898
8389e1e2
GM
12899 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
12900 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
12901 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
12902
10689a01 12903 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 12904
bfc17d18
KH
129052000-02-17 Kenichi Handa <handa@etl.go.jp>
12906
4a09dee0
KH
12907 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
12908 avoid infinite error signaling. Allocate sufficient memory for
12909 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 12910
2b927d02
SM
129112000-02-17 Stefan Monnier <monnier@cs.yale.edu>
12912
12913 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
12914 depends on the previous behavior.
12915
b49cb764
GM
129162000-02-16 Gerd Moellmann <gerd@gnu.org>
12917
12918 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
12919
99e95407
GM
129202000-02-15 Gerd Moellmann <gerd@gnu.org>
12921
12922 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
12923
12924 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 12925 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
12926 write(2).
12927
6ffd3cf7
RS
129282000-02-15 Richard M. Stallman <rms@gnu.org>
12929
12930 * data.c (set_internal): Don't make variable buffer-local
12931 if within a let-binding for the same buffer.
12932 (let_shadows_buffer_binding_p): New function.
12933
12934 * eval.c (specbind): For buffer-local value,
12935 record the current buffer also.
12936 (unbind_to): Cope with that change.
12937
cad53475
GM
129382000-02-15 Gerd Moellmann <gerd@gnu.org>
12939
12940 * window.c (Fsave_window_excursion): Doc fix.
12941
1aa963c8
SM
129422000-02-15 Stefan Monnier <monnier@cs.yale.edu>
12943
12944 * syntax.c (back_comment): Make sure we only consider comment-starters
12945 of the relevant style and return -1 in case of a failure to find the
12946 beginning of the comment.
12947 (Fforward_comment): If back_comment fails, go back to the position just
12948 after the comment-end.
12949 (scan_lists): Add comment describing a very minor bug.
12950
b9b84fd3
SM
129512000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12952
12953 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
12954 `completion-regexp-list' in the docstring.
12955
3a28db80
DL
129562000-02-14 Dave Love <fx@gnu.org>
12957
12958 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
12959
fb4a568d
SM
129602000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12961
12962 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
12963 to Emacs' syntax. Also fix the comment about set/not-set meanings
12964 since Emacs syntax is not the value 0 any more.
12965 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
12966 since it's now part of RE_SYNTAX_EMACS.
12967
1063ebb5
DL
129682000-02-12 Dave Love <fx@gnu.org>
12969
52283633 12970 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 12971
fb07a302
GM
129722000-02-12 Gerd Moellmann <gerd@gnu.org>
12973
12974 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
12975
aaf2320c
DL
129762000-02-12 Dave Love <fx@gnu.org>
12977
12978 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
12979
12980 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
12981 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
12982 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
12983
12984 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
12985
12986 * s/nextstep.h: Don't define HAVE_ALLOCA.
12987
12988 * config.in: Add vfork bits.
12989
eedf8bde
GM
129902000-02-12 Gerd Moellmann <gerd@gnu.org>
12991
12992 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
12993 unwind function to undo the effect of stopping atimers.
12994
52283633 12995 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
12996
12997 * atimer.c (stopped_atimers): New variable.
12998 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
12999 New functions.
13000
13001 * atimer.h (stop_other_atimers, run_all_atimers)
13002 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13003
eedf8bde
GM
13004 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13005
8476c2f8
KR
130062000-02-11 Ken Raeburn <raeburn@gnu.org>
13007
13008 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13009 library may depend on jpeg.
13010 (atimer.o): Depends on atimer.c.
13011
0e85e4a3
KH
130122000-02-11 Kenichi Handa <handa@etl.go.jp>
13013
13014 * insdel.c (del_range_1): Call update_compositions.
13015 (del_range_both): Call update_compositions just once..
13016
97fa0cc8
DL
130172000-02-10 Dave Love <fx@gnu.org>
13018
13019 * xfns.c (create_frame_xic): Fix initialization of automatic
13020 aggregates for pcc.
13021
25566a3c
KH
130222000-02-09 Kenichi Handa <handa@etl.go.jp>
13023
13024 * ccl.c (CCL_MAKE_CHAR): New macro.
13025 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13026 registers by CCL_MAKE_CHAR before calling translate_char.
13027 <CCL_TranslateCharacterConstTbl> Likewise.
13028
69da54ba
DL
130292000-02-08 Dave Love <fx@gnu.org>
13030
13031 * lread.c (__EXTENSIONS__): Define.
13032
f7136ee8
GM
130332000-02-08 Gerd Moellmann <gerd@gnu.org>
13034
13035 * puresize.h (BASE_PURESIZE): Increase to 650000.
13036
7768790b
EZ
130372000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13038
13039 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13040 the help message.
13041
38fd211b
EZ
130422000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13043
13044 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13045 md, mh, mb, mr, and me to the fake termcap entry.
13046
66e4690f
KR
130472000-02-06 Ken Raeburn <raeburn@gnu.org>
13048
13049 * sound.c (sound_cleanup): Don't call device close routine if the
13050 function pointer is null.
13051
a75dfea0
AI
130522000-02-06 Andrew Innes <andrewi@gnu.org>
13053
13054 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13055 around image definitions and prototypes.
13056 (gamma_correct) [WINDOWSNT]: New prototype.
13057
13058 * w32term.c (x_make_frame_visible): Replace call to
13059 input_poll_signal with poll_for_input.
13060
13061 * window.c [WINDOWSNT]: Include w32term.h.
13062
13063 * xdisp.c [WINDOWSNT]: Include w32term.h.
13064
13065 * makefile.nt: Add dependencies on w32gui.h.
13066 (OBJ1): Include atimer.obj.
13067 ($(BLD)\atimer.obj): New dependency rule.
13068
13069 * w32.c (sigmask): New function (does nothing).
13070 (sigunblock): Ditto.
13071
13072 * frame.c [WINDOWSNT]: Include w32term.h.
13073
13074 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13075
13076 * lread.c (syms_of_lread): Fix literal newlines.
13077
13078 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13079 the string constant limit (2048 bytes) in MSVC.
13080 (main): Ditto.
13081
59ddecde
GM
130822000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13083
52283633 13084 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13085 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13086 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13087 dispatch the event.
13088
07590973
DL
130892000-02-04 Dave Love <fx@gnu.org>
13090
13091 * fileio.c: Remove some unused vars.
13092 (_GNU_SOURCE): Define (for euidaccess).
13093
13094 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13095
13096 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13097 gcpro1, gcpro2.
13098 (read_minibuf): Deal with allow_props correctly.
13099
649351f9
EZ
131002000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13101
13102 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13103
66e4690f 131042000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13105
13106 * search.c (compile_pattern): If a cache entry has a nil regexp,
13107 fill in that entry instead of clobbering a previously cached
13108 string regexp.
13109
66e4690f 131102000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13111
13112 * puresize.h (BASE_PURESIZE): Increase to 610000.
13113
d240a249
GM
131142000-02-02 Gerd Moellmann <gerd@gnu.org>
13115
13116 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13117 can GC.
13118
ca91fb26
KH
131192000-02-02 Kenichi Handa <handa@etl.go.jp>
13120
25660570
KH
13121 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13122 instead of incrementing ic directly.
13123 <CCL_WriteExprConst> Likewise.
13124 <ccl_set_expr>: Set ic to jump_address.
13125
ca91fb26
KH
13126 * fileio.c (e_write): Fix the handling of
13127 CODING_FINISH_INSUFFICIENT_SRC.
13128
2ede9689
DL
131292000-02-01 Dave Love <fx@gnu.org>
13130
13131 * editfns.c (Fpropertize): Doc fix.
13132
13133 * process.c (Fstart_process): Doc fix.
13134
13135 * eval.c: Fix various doc strings not to duplicate information
13136 from help-manyarg-func-alist.
13137
52283633 13138 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13139
13140 * doc.c (Vhelp_manyarg_func_alist): New variable.
13141 (Fdocumentation): Use it.
13142 (syms_of_doc): Define it.
13143
b6680a0e
GM
131442000-01-31 Gerd Moellmann <gerd@gnu.org>
13145
2cb750ba
GM
13146 * xterm.c (xim_open_dpy): Remove unused local variable.
13147
52283633 13148 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13149
13150 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13151 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13152
b6680a0e
GM
13153 * fns.c (sweep_weak_table): New function.
13154 (sweep_weak_hash_tables): Use it. Keep on marking until there
13155 is no more change.
13156
994c5afe
GM
131572000-01-30 Gerd Moellmann <gerd@gnu.org>
13158
13159 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13160 that XTread_socket does not crash by trying to call XNoOp on a
13161 closed display.
427ec082 13162
f00276e3
JR
131632000-01-30 Jason Rumney <jasonr@gnu.org>
13164
13165 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13166 Change selected_frame to SELECTED_FRAME ().
13167 (w32_console_mouse_position): Remove #ifndef MULE from around
13168 `insist' parameter.
13169
13170 * makefile.nt: Remove dosfns.obj.
13171
13172 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13173
13174 * w32fns.c (w32_defined_color): Check for valid frame before
13175 applying gamma correction. Eliminate dependency on frame elsewhere.
13176 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13177 (w32_to_x_font): Use resx and resy not height_in and width_in.
13178 (x_to_w32_font): Doc fix.
13179 (xlfd_strip_height): New function to strip and return font height.
13180 (w32_font_match): Compare height separately from rest of xlfd
13181 spec, using xlfd_strip_height.
13182
13183 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13184 width_in. Use w32_defined_color in place of defined_color.
13185
13186 * w32faces.c: Merge more of DOS and X specifics in preparation for
13187 merge with xfaces.c.
13188 (defined_color): Remove FIXME comment.
13189 (tty_color_name): Provide w32-specific function.
13190 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13191
13192 * w32console.c (turn_on_face, turn_off_face): Removed.
13193 (w32_face_attributes): New function.
13194 (Global_variables): Reduce scope where possible.
13195 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13196 fill attribute.
13197 (hl_mode): Don't modify text attributes.
13198 (write_glyphs): Don't do anything if len <= 0. Use
13199 w32_face_attributes to get attributes for drawing. Write
13200 terminating codes using char_attr_normal.
13201 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13202 (update_begin, update_end): Likewise.
13203 (vga_stdcolor_name): New function.
13204 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13205 (Fset_screen_color): Remove char_attr_reverse.
13206
b08e8bb2
GM
132072000-01-29 Gerd Moellmann <gerd@gnu.org>
13208
13209 * xfns.c (xic_set_preeditarea): Take window parameter and
13210 window-relative pixel-positions.
13211
13212 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13213 is its frame's selected window.
13214 (xim_instantiate_callback): Likewise.
13215
13216 * xfns.c (x_create_im): Removed.
13217 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13218 (supported_xim_styles): Renamed from supported_styles.
13219 (best_xim_style): Renamed from best_style.
13220 (create_frame_xic): Renamed from xic_create_frame.
13221 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13222
b08e8bb2
GM
132232000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13224
13225 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13226 our frames, call XFilterEvent with 2nd parameter `None'.
13227 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13228 returning XBufferOverflow.
52283633 13229 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13230 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13231 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13232 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13233 (xim_initialize, xim_close)
13234 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13235 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13236 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13237 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13238
13239 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13240 and `xim_styles'.
13241 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13242 `xic_style' and `xic_xfs'.
13243 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13244 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13245 (FRAME_XIM): Removed.
13246
13247 * xfns.c (supported_styles): New variable.
13248 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13249 (xic_create_xfontset, best_style, xic_create_frame)
13250 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13251 (xic_set_xfontset): New functions.
13252
142e109c
DL
132532000-01-28 Dave Love <fx@gnu.org>
13254
13255 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13256
13257 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13258
b02786f9
GM
132592000-01-28 Gerd Moellmann <gerd@gnu.org>
13260
d060bc9f
GM
13261 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13262 for *scratch* if it already existed.
13263
b02786f9
GM
13264 * emacs.c (USAGE): New macro.
13265 (main): Use it to display usage information.
13266
2c52d7e4
EZ
132672000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13268
13269 Support for the menu-help feature:
13270
52283633 13271 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13272
13273 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13274 part of the line to the termscript file.
13275 (IT_clear_to_end): Clear the entire line, not just its beginning.
13276 (menu_help_message, prev_menu_help_message): New variables.
13277 (IT_menu_make_room): Make room for the help_text member.
13278 (IT_menu_display): New argument disp_help; all callers changed.
13279 If disp_help is non-zero, store the help text of the active menu
13280 item in menu_help_message.
13281 (XMenuAddPane): Initialize the help_text member to NULL.
13282 (XMenuAddSelection): New argument help_text. Store it in the
13283 XMenu structure.
13284 (XMenuActivate): New argument help_callback. If the value of
13285 menu_help_message has changed since the last time, display the
13286 menu help message text while waiting for the mouse to move. Clear
13287 the echo area before exiting.
13288 (XMenuDestroy): Free the help_text member.
13289
ffe0bcd1
GM
132902000-01-27 Gerd Moellmann <gerd@gnu.org>
13291
13292 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13293 XMenuAddSelection. Pass help callback to XMenuActivate.
13294 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13295
50dbd23f
EZ
132962000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13297
13298 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13299 and EMACS_SET_USECS.
13300
f5941bf8
GM
133012000-01-26 Dave Love <fx@gnu.org>
13302
6c67ddee
DL
13303 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13304
f5941bf8
GM
13305 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13306 an error may be signalled.
13307
9e49c990
GM
133082000-01-26 Gerd Moellmann <gerd@gnu.org>
13309
fc3cb460
GM
13310 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13311 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13312
9e49c990
GM
13313 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13314
d0c037d8
GM
133152000-01-25 Gerd Moellmann <gerd@gnu.org>
13316
13317 * charset.c (Fstring): If there is a multibyte char among
13318 the args, always return a multibyte string.
13319
e12489f9
GM
133202000-01-25 Gerd Moellmann <gerd@gnu.org>
13321
13322 * sysdep.c (sys_select): Turn atimers off and on instead of
13323 recording and restoring old alarm handler
13324
13325 * process.c (toplevel): Include atimer.h.
13326 (create_process_1): Rewritten.
13327 (create_process): Use atimers instead of alarm.
13328 (wait_reading_process_input) [hpux]: Turn atimers off instead
13329 of turning off SIGALRM.
13330 (wait_reading_process_input): Turn off atimers instead off
13331 calling stop_polling.
13332
13333 * emacs.c (main): Call init_atimer.
13334
13335 * keyboard.c (toplevel): Include systime.h and atimer.h.
13336 (polling_for_input): Removed because unused.
13337 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13338 (poll_timer): New variable.
13339 (poll_for_input, poll_for_input_1): New functions.
13340 (start_polling, stop_polling): Rewritten.
13341
13342 * keyboard.h (polling_for_input): Removed.
427ec082 13343
e12489f9
GM
13344 * atimer.h, atimer.c: New files.
13345
13346 * Makefile.in (obj): Add atimer.o.
13347 (atimer.o): New target.
13348
13349 * blockinput.h (pending_atimers): Add extern declaration.
13350 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13351
13352 * lisp.h (popup_activated_flag): Add extern declaration.
13353
13354 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13355 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13356 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13357
13358 * xterm.c (toplevel): Include atimer.h.
13359 (toolkit_scroll_bar_interaction): New variable.
13360 (Fxt_process_timeouts): Removed.
13361 (x_process_timeouts): New function.
13362 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13363 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13364 (x_make_frame_visible): Call poll_for_input_1 instead of
13365 input_poll_signal. Don't call alarm.
13366 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13367
1e5279b9
DL
133682000-01-24 Dave Love <fx@gnu.org>
13369
6c67ddee 13370 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13371 Don't use -cckr -- apparently not now necessary.
13372
edf6aeb8
EZ
133732000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13374
13375 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13376 screen boundary.
13377
9badad41
JR
133782000-01-23 Jason Rumney <jasonr@gnu.org>
13379
13380 * w32fns.c (w32_defined_color): Apply gamma correction before
13381 trying to map to the palette.
13382 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13383 to w32_clear_rect.
13384
13385 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13386 here. Callers changed to always pass real device context.
13387 (w32_draw_bitmap): Likewise.
13388 (w32_get_glyph_overhangs): Likewise.
52283633 13389 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13390 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13391 pfnSetScrollInfo and SetScrollRange.
13392 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13393 back into MULE characters after decoding them.
13394 (x_get_glyph_face_and_encoding): Likewise.
13395 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13396 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13397 (x_produce_glyphs): Calculate per char metrics for a character
13398 that we know exists in default font when font_not_found_p is true.
13399
63bd786b
JR
134002000-01-22 Jason Rumney <jasonr@gnu.org>
13401
13402 * makefile.nt (intervals.obj, composite.obj): New modules.
13403 (composite.h): Added as dependency where appropriate.
13404
13405 * w32gui.h (XGCValue): New struct for emulating X GCs.
13406
13407 * w32term.h (XCharStruct): New struct for emulating X.
13408
13409 * w32console.c (turn_on_face, turn_off_face): New functions.
13410 (change_line_highlight): New prototype for new redisplay.
13411 (write_glyphs): Support multibyte text. Support faces.
13412
52283633 13413 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13414
13415 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13416 throughout. struct frame * in place of FRAME_PTR.
13417 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13418 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13419 (w32_get_arg): Renamed from x_get_arg.
13420 (Fx_file_dialog): New function.
13421 (w32_list_fonts): Check cache before asking system.
13422 (Vw32_enable_synthesized_fonts): New variable.
13423 (Vw32_enable_italics): Obsolete, removed.
13424
13425 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13426 Use SELECTED_FRAME macro.
13427
13428 * w32menu.c: Add skeleton support for help strings on menus.
13429 (add_menu_item): Native checkbox and radio support added, but not
13430 yet enabled due to bugs.
13431 (push_menu_item): Add parameters type, selection and help.
13432 Callers updated.
13433 Formatting changes to reduce unnecessary diffs with xmenu.c.
13434
13435 * w32select.c (Fw32_set_clipboard_data): Update call to
13436 find_charset_in_str.
13437
13438 * w32term.c: Complete rewrite for new redisplay based on new
13439 xterm.c with necessary sections merged back in from old w32term.c.
13440
6ffd3cf7 134412000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13442
13443 * data.c (set_internal): Further fix in same criterion.
13444
6ffd3cf7 134452000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13446
13447 * data.c (set_internal): Fix the criteria for whether
13448 to swap out the old cached binding.
13449
60af03f1
DL
134502000-01-19 Dave Love <fx@gnu.org>
13451
13452 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13453
f9be074f
KH
134542000-01-18 Kenichi Handa <handa@etl.go.jp>
13455
13456 * regex.c (re_compile_fastmap): While checking a range table for
13457 `charset', skip flag bits for a character class correctly.
13458
52b8dbf9
GM
134592000-01-17 Gerd Moellmann <gerd@gnu.org>
13460
d36100c9
GM
13461 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13462
52283633 13463 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
13464
13465 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 13466 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
13467
13468 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
13469 MENU_ITEMS_ITEM_.*.
13470 (MENU_ITEMS_ITEM_HELP): New enumerator.
13471 (push_menu_item): Add parameter HELP. Record help in menu_items.
13472 (single_menu_item, single_submenu, list_of_items): Call
13473 push_menu_item with new parameter.
13474 (single_submenu): Set help string in widget value.
13475 (menu_highlight_callback): New function.
13476 (set_frame_menubar): Call lw_create_widget with new
13477 parameter list.
13478 (xmenu_show, xdialog_show): Ditto.
13479
3139018f
GM
134802000-01-13 Gerd Moellmann <gerd@gnu.org>
13481
13482 * sound.c (Fplay_sound): Improve doc string.
13483
83c8f461
RS
134842000-01-11 Richard M. Stallman <rms@gnu.org>
13485
13486 * lisp.h (set_internal): Enter the new arg.
13487
13488 * eval.c (specbind): Record buffer-local variables specially,
13489 indicating which buffer's binding was saved.
13490 (unbind_to): Restore buffer-local variables specially
13491 in the proper buffer.
13492
13493 * data.c (set_internal): New arg BUF.
427ec082 13494
83c8f461
RS
13495 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
13496 * data.c (Fset): Pass new arg to set_internal.
13497 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 13498
1fab1775
GM
134992000-01-11 Gerd Moellmann <gerd@gnu.org>
13500
52283633 13501 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 13502
83c8f461 135032000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
13504
13505 * minibuf.c (Ftry_completion): Doc fix.
13506
7a85e4df
GM
135072000-01-11 Gerd Moellmann <gerd@gnu.org>
13508
13509 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
13510 vector, too.
13511
a970dae4
AS
135122000-01-11 Andreas Schwab <schwab@suse.de>
13513
13514 * coding.c (code_convert_region): Initialize total_skip.
13515
c65d14ee
DL
135162000-01-08 Dave Love <fx@gnu.org>
13517
13518 * eval.c (Fuser_variable_p): Check customizability too.
13519
834938d2
GM
135202000-01-07 Gerd Moellmann <gerd@gnu.org>
13521
13522 * minibuf.c (Fcompleting_read): Doc fix.
13523
e0303cd6
GM
135242000-01-05 Gerd Moellmann <gerd@gnu.org>
13525
8a26744b
GM
13526 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13527 -L /usr/local/lib.
13528
e0303cd6
GM
13529 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13530 Check that input style is supported before trying to create an
13531 IC for it.
13532 (x_window): Call x_create_im.
427ec082 13533
2e471eb5
GM
135342000-01-04 Gerd Moellmann <gerd@gnu.org>
13535
560a7bd2
GM
13536 * xfns.c (current_gif_memory_src): New variable.
13537 (gif_load): Record the address of the current memory source
13538 in current_gif_memory_src.
13539 (gif_read_from_memory): Use current_gif_memory_src.
13540
f9ee84a3
GM
13541 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13542 macros statement form.
13543
d1299cde
GM
13544 * sound.c (struct sound): Renamed from struct sound_file.
13545 (struct sound): Add members `data' and `header_size'.
13546 (enum sound_attr): Add SOUND_DATA.
13547 (current_sound, current_sound_device): Variables renamed from
13548 sound_file and sound_device.
13549 (parse_sound): Parse :data.
13550 (parse_sound): Handle sound data in strings.
13551 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 13552 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
13553 needed header size.
13554 (wav_play, au_play): Play sounds from string data.
13555
2e471eb5
GM
13556 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13557
13558 * lisp.h: Add prototype for allocate_string_data.
13559
52283633 13560 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
13561
13562 * alloc.c (mark_buffer): Remove code in #if 0.
13563 (gc_sweep): Ditto.
13564 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13565 (strings_consed): New variable.
13566 (allocate_string): Set it.
13567 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13568 (Fmemory_use_counts): Return strings_consed. Use Flist.
13569
13570 * alloc.c: General cleanup in comments etc. Remove conditional
13571 compilation for `standalone'.
13572
13573 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13574
13575 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13576 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13577 (DONT_COPY_FLAG): Removed.
13578 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13579 (struct sdata, struct sblock): New
13580 (struct string_block): Rewritten.
13581 (STRINGS_IN_STRING_BLOCK): New macro.
13582 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13583 (large_sblocks, string_blocks, string_free_list): New variables.
13584 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13585 (init_strings): Rewritten.
13586 (allocate_string, allocate_string_data, compact_small_strings)
13587 (free_large_strings, sweep_strings): New functions.
13588 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13589 (struct string_block_head, current_string_block)
13590 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13591 (STRING_PAD): Removed.
13592 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13593 (Fgarbage_collect): Don't set mark bit in large strings.
13594 (mark_object): Mark strings differently. Mark symbol names
13595 differently.
13596 (survives_gc_p): Test marked strings differently.
427ec082 13597 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13598 symbol names.
13599 (compact_strings): Removed.
13600
42608ba8
EZ
136012000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13602
13603 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13604 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13605
e0a09e1a
KH
136062000-01-04 Kenichi Handa <handa@etl.go.jp>
13607
dd9f0750 13608 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 13609 in a non-empty buffer.
dd9f0750 13610
3c0f3b15 13611 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 13612
44cd3ae5
GM
136132000-01-03 Gerd Moellmann <gerd@gnu.org>
13614
13615 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13616 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13617
13618 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13619
c182a70f
EZ
136202000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13621
13622 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13623 need to test for MSDOS frames.
13624
24480d5b
EZ
136252000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13626
13627 * dosfns.c (unspecified_colors): Remove.
13628 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13629 unspecified_bg.
13630 (msdos_stdcolor_name): Return strings for unspecified fore- and
13631 back-ground colors.
13632
13633 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 13634 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
13635 (tty_color_name): Return Lisp strings for unspecified fore- and
13636 back-ground colors.
13637 (Finternal_set_lisp_face_attribute): Remove the special treatment
13638 for Qunspecified_{f,b}g.
52283633 13639 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 13640
047f434a
GM
136412000-01-03 Gerd Moellmann <gerd@gnu.org>
13642
13643 * xdisp.c (reseat_at_next_visible_line_start): Position before
13644 newline only if ending up on a newline.
13645 (next_element_from_ellipsis): Return success. Handle case of
52283633 13646 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
13647 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13648 returns 0.
13649
d684c676
EZ
136502000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13651
13652 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
13653 (Fcolor_supported_p): Renamed from face-color-supported-p.
13654
5fe1d139
EZ
136552000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13656
13657 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
13658 list of colors renamed to tty-defined-color-alist.
13659 (tty_color_name): Pass the frame to tty-color-by-index.
13660 (realize_tty_face): tty-color-alist is now a function which
13661 accepts the frame as argument.
13662
52283633 13663 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 13664
816be8b8
EZ
136652000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13666
13667 * term.c (insert_glyphs): Pass glyph, not &glyph, to
13668 encode_terminal_code.
13669
b635321e
EZ
136702000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13671
13672 * dispnew.c (mode_line_string): Support termcap frames as well.
13673
9b784e96
GM
136742000-01-01 Gerd Moellmann <gerd@gnu.org>
13675
27189709
GM
13676 * syntax.c (Fforward_word): Undo previous change.
13677
13678 * editfns.c (Fconstrain_to_field): Don't constrain if
13679 inhibit-field-text-motion is non-nil.
13680 (Fline_beginning_position): Undo previous change.
13681 (Fline_end_position): Ditto.
13682
13683 * syntax.c (Fforward_word): Notice field boundaries only if
13684 inhibit-field-text-motion is nil.
13685
13686 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
13687
13688 * editfns.c (Vinhibit_field_text_motion): New variable.
13689 (inhibit-field-text-motion): New DEFVAR_LISP.
13690 (Fline_beginning_position, Fline_end_position): Notice field
13691 boundaries only if inhibit-field-text-motion is nil.
13692
45158a91
GM
13693 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
13694 All calls adjusted.
13695 (x_build_heuristic_mask): Likewise.
13696 (xbm_load_image_from_file): Change error output.
13697 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13698 (gif_load, gs_load, x_kill_gs_process): Ditto.
13699
9b784e96
GM
13700 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13701 color indices when accessing raster pixels.
63cec32f
GM
13702 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13703 one of :file or :data.
13704 (enum pbm_keyword_index): Add PBM_DATA.
13705 (pbm_format): Add :data.
13706 (pbm_image_p): Allow either :file or :data.
13707 (pbm_read_file): New function.
13708 (pbm_scan_number): Rewritten to read from string.
13709 (pbm_load): Support :data.
9b784e96 13710
2cb085db 13711See ChangeLog.8 for earlier changes.
6922b018
KH
13712
13713;; Local Variables:
49b3bd82 13714;; coding: iso-2022-7bit
6922b018 13715;; End:
2a34a036
GM
13716
13717 Copyright (C) 2001 Free Software Foundation, Inc.
13718 Copying and distribution of this file, with or without modification,
13719 are permitted provided the copyright notice and this notice are preserved.