Revert last change (which removed old commented-out
[bpt/emacs.git] / src / ChangeLog
CommitLineData
879eadc3
GM
12001-10-25 Gerd Moellmann <gerd@gnu.org>
2
dfe92a6a
GM
3 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
4 cursor differently.
5
879eadc3
GM
6 * xdisp.c (move_it_vertically_backward): Compute line height
7 differently. Add heuristic to try to be more compatible to 20.x.
8
e1010ebe
SM
92001-10-25 Stefan Monnier <monnier@cs.yale.edu>
10
d73a471b
SM
11 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
12
e1010ebe
SM
13 * editfns.c (text_property_stickiness): Fix Lisp_Object used as boolean.
14
f66bd220
MB
152001-10-25 Miles Bader <miles@gnu.org>
16
17 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
18 BG is a pointer to a structure, not a structure.
19 (gif_format, png_format): Add missing commas.
20
d436d538
RS
212001-10-24 Richard M. Stallman <rms@gnu.org>
22
23 * xfaces.c (Fface_attributes_as_vector): New function.
24 (syms_of_xfaces): defsubr it.
25
075c507b
PJ
262001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
27
28 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
29 variable `area'.
30
d492b584
PJ
312001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
32
33 * search.c (scan_newline): Remove unused variable
34 `selective_display'.
35
e2a57b34
MB
362001-10-25 Miles Bader <miles@gnu.org>
37
38 * dispextern.h (struct image): Add `background',
39 `background_valid', and `background_transparent' fields.
40 (image_background, image_background_transparent): New declarations.
41 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
42 * xfns.c (image_background, image_background_transparent)
43 (four_corners_best): New functions.
44 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
45 (gs_format): Add `:background' entry.
46 (lookup_image): Set IMG's background color if specified.
47 (pbm_load, xbm_load_image, png_load): Set IMG's background field
48 when appropriate.
49 (x_clear_image_1): Reset `background_valid' and
50 `background_transparent_valid' fields.
51 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
52 calculating it here. Set IMG's background_transparent field.
53 (enum xpm_keyword_index): Add XPM_BACKGROUND.
54 (enum png_keyword_index): Add PNG_BACKGROUND.
55 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
56 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
57 (enum gif_keyword_index): Add GIF_BACKGROUND.
58 (enum gs_keyword_index): Add GS_BACKGROUND.
59 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
60 Pre-calculate image background color where necessary.
61 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
62 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
63 color to use for image glyph reliefs.
64
b547b6e8
GM
652001-10-24 Gerd Moellmann <gerd@gnu.org>
66
d9e3b8c6
GM
67 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
68 in full-width rows.
69
b547b6e8
GM
70 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
71 Fix clearing of area not covered by scroll bar.
72
2beb36f9
PJ
732001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
74
75 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
76 and `real_start'.
77 (x_draw_image_foreground): Remove unused variables `mask' and
78 `xgcv'.
79 (glyph_rect): Remove unused variable `area'.
80
76cb5e06
GM
812001-10-24 Gerd Moellmann <gerd@gnu.org>
82
bdbdebff
GM
83 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
84
62e33982
GM
85 * xdisp.c (try_window_reusing_current_matrix): Use
86 row_containing_pos.
87 (row_containing_pos): Take additional argument DY. Treat
88 rows ending in middle of char differently.
89 (display_line): Handle tabs on window systems differently.
90
91 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
92 with additional argument.
93
94 * dispextern.h (row_containing_pos): Adjust prototype.
95
76cb5e06
GM
96 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
97 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
98 (try_window_id, try_window_reusing_current_matrix)
99 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
100 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
101
996fee11
PJ
1022001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
103
c9e60620
PJ
104 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
105 gnuemacs).
106 (HAVE_BOXES): Fix typo in comment.
107 (push_menu_pane): Fix typo in comment.
108
3b552d56
PJ
109 * xdisp.c: (display_prop_string_p): Remove unused local declaration
110 of `Qwhen'.
111 (single_display_prop_string_p): Remove unused local declarations
112 of `Qwhen' and `Qmargin'.
113 (string_buffer_position): Remove unused variable `around'.
114 (store_frame_title): Remove unused variable `width'.
115
15c565ac
PJ
116 * window.c: Don't define max.
117 (coordinates_in_window): Remove unused variable `uy'.
118
a8818eb9
PJ
119 * widget.c: Don't define max.
120
996fee11
PJ
121 * process.c: Don't define max.
122 (create_process): Remove unused variable `buffer'.
123
496e1a5b
GM
1242001-10-23 Gerd Moellmann <gerd@gnu.org>
125
126 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation
127 error.
128
5905ae8b
EZ
1292001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
130
131 * xfaces.c (Finternal_set_lisp_face_attribute)
132 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
133 frame is on a windowed display.
134
24db49fb
GM
1352001-10-23 Gerd Moellmann <gerd@gnu.org>
136
c51488cd
GM
137 * dispnew.c (sync_window_with_frame_matrix_rows): Fix
138 handling of windows which aren't full-width, fix handling
139 of marginal areas.
140
24db49fb
GM
141 * lread.c (syms_of_lread)<recursive-load-depth-limit>: Raise to
142 50.
143
f0487f05
EZ
1442001-10-23 Andreas Schwab <schwab@suse.de>
145
146 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
147 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
148
f0a48a01
GM
1492001-10-23 Gerd Moellmann <gerd@gnu.org>
150
151 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
152 REAL_END. Notice if cursor gets overwritten.
153 (notice_overwritten_cursor): Take X positions as parameters.
154 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
155 around call to x_draw_glyphs.
156
a50a10a0
PJ
1572001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
158
fc11dff0
PJ
159 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
160 instead of C) and usage.
a50a10a0 161
fc11dff0
PJ
162 * editfns.c (char-to-string): Fix argument names (use CHAR instead
163 of C) and usage.
a50a10a0
PJ
164
165 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
166 `left', `max_width' and `max_height'.
167
8738febd
GM
1682001-10-23 Gerd Moellmann <gerd@gnu.org>
169
170 * xdisp.c (display_line): For a tab continued to the next line,
171 set row's ends_in_middle_of_char_p.
172
653c329b
GM
1732001-10-22 Gerd Moellmann <gerd@gnu.org>
174
175 * xdisp.c (display_line): Fix computation of continuation lines
176 width for TABs.
177
f958c5ac
PJ
1782001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
179
7ba51063
PJ
180 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
181 `Qlaplace'.
182
f958c5ac
PJ
183 * fileio.c: Remove unused code.
184
eb360291
MB
1852001-10-22 Miles Bader <miles@gnu.org>
186
187 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
188 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
189 Remove `DOC_STRINGS_IN_COMMENTS' cases.
190
98515cf0
JR
1912001-10-21 Jason Rumney <jasonr@gnu.org>
192
193 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
194
93026d88
EZ
1952001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
196
197 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
198 (Finsert_string): Avoid the multi-line string literals warning.
199
c9a95b79
MB
2002001-10-22 Miles Bader <miles@gnu.org>
201
202 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
203 (Fdocumentation): Don't use it.
204 (syms_of_doc): Don't initialize it.
205
206 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
207 * print.c (Fwith_output_to_temp_buffer): Likewise.
208 * window.c (Fsave_window_excursion): Likewise.
209 * editfns.c (Fsave_excursion, Fsave_current_buffer)
210 (Fsave_restriction): Likewise.
211 * eval.c (Frun_hooks, Frun_hook_with_args)
212 (Frun_hook_with_args_until_failure)
213 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
214 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
215 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
216 (Funwind_protect, Fcondition_case): Likewise.
217 * coding.c (Ffind_operation_coding_system): Likewise.
218 * keyboard.c (Ftrack_mouse): Likewise.
219
a3b10252
MB
2202001-10-21 Miles Bader <miles@gnu.org>
221
222 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
223 (Fmake_hash_table): Add usage: string to doc string.
224 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
225 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
226 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
227 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
228 (Fml_prefix_argument_loop): Likewise.
229
c6f73eec
PJ
2302001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
231
888ebd13
PJ
232 * fileio.c (Finsert_file_contents): Remove unused variable
233 `gap_size'.
234
c6f73eec
PJ
235 * sysdep.c (init_sys_modes): Change doc-string comments to `new
236 style' [w/`doc:' keyword].
237
238 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
239 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
240 comments to `new style' [w/`doc:' keyword].
241
3cf3436e
JR
2422001-10-21 Jason Rumney <jasonr@gnu.org>
243
244 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
245
c169b8f1
JR
246 * w32term.c (remember_mouse_glyph): New function.
247 (w32_mouse_position): Use it.
248 (note_mouse_movement): If the mouse moved off the glyph, remember
249 its new position.
250
4fdd691b
JR
251 * w32term.h (struct w32_output): Correct spelling of x_compatible.
252 (w32_display_info): Add mouse_face_overlay.
253
c169b8f1
JR
254 * w32term.c (notice_overwritten_cursor): Renamed from
255 note_overwritten_text_cursor. Rewritten to take glyph widths into
256 account.
257 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
258 (fast_find_string_pos): New function.
259 (fast_find_position): Return the correct vpos. Add parameter
260 STOP. In the final row, stop before glyphs having STOP as object.
261 Don't consider glyphs that are not from a buffer.
262 (fast_find_position) [0]: Add a presumably more correct version
263 for after 21.1.
264 (expose_window_tree, expose_frame): Don't compute intersections here.
265 (expose_window): Do it here instead.
266 (expose_window_tree, expose_window, expose_line): Return 1 when
267 overwriting mouse-face.
268 (expose_window): If W is the window currently being updated, mark
269 the frame garbaged.
270 (expose_frame): If mouse-face was overwritten, redo it.
271 (x_use_underline_position_properties): New variable.
272 (syms_of_xterm): DEFVAR_BOOL it.
273 (x_draw_glyph_string): Add comment to use it in future.
274 (x_draw_glyph_string): Restore clipping after drawing box.
275 Fix a computation of the underline position.
276 (w32_get_glyph_string_clip_rect): Minor cleanup.
277 (x_fill_stretch_glyph_string): Remove an assertion.
278 (x_produce_glyphs): Don't convert multibyte characters
279 to unibyte characters in unibyte buffers.
280 (cursor_in_mouse_face_p): New function.
281 (x_draw_stretch_glyph_string): Use it to choose a different GC
282 when drawing a cursor within highlighted text. Don't draw
283 background again if it has already been drawn.
284 (x_draw_glyph_string_box): Don't draw a full-width
285 box just because the glyph row's full_width_p flag is set.
286 (x_draw_glyphs): Fix computation of rightmost x for
287 full-width rows.
288 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
289 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
290 change bottom shadow accordingly. Some cleanup.
291 (x_update_window_end): Handle overwritten mouse face
292 also for tool bar windows.
293 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
294 DRAW is DRAW_IMAGE_RAISED.
295 (clear_mouse_face): Return 1 if text with mouse face was
296 actually redrawn. Make the function static. Reset
297 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
298 optimize away highlighting if we pass over that same overlay again.
299 (note_mouse_highlight): Call mouse_face_overlay_overlaps
300 to detect a case where we have to highlight a different region
301 despite not having left the currently highlighted region.
302 Set mouse_face_overlay in the x_display_info. Avoid changing the
303 mouse pointer shape when show_mouse_face has already done it, or
304 there is no need. Handle mouse-face and help-echo in strings.
305 (glyph_rect): New function.
306 (w32_mouse_position): Use it to raise the threshold for mouse
307 movement event generation.
308 (w32_initialize_display_info): Initialize the x_display_info's
309 mouse_face_overlay.
310 (w32_set_vertical_scroll_bar): Don't clear a zero height
311 or width area.
312 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
313 a widget to zero height.
314
3cf3436e 315 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 316 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
317 equivalents in menu_items.
318 (w32_menu_show): Don't overwrite an item's name with its key
319 description in case the description is a multibyte string.
320 (single_submenu): Some cleanup.
321
322 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
323 (postprocess_image): New function.
324 (lookup_image): Call it for all image types except PostScript.
325 (x_kill_gs_process): Call postprocess_image.
326 (tiff_error_handler, tiff_warning_handler): New functions.
327 (tiff_load): Install them as handlers.
328 (x_kill_gs_process): Recognize if someone has cleared the image
329 cache under us.
330 (valid_image_p): Protect better against invalid image
331 specifications. Previous code could signal an error.
332 (Fx_hide_tip, Fshow_tip): Doc fix.
333 (Fv_max_tooltip_size): New variable.
334 (syns_of_xfns): DEFVAR_LISP it.
335 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
336 window buffer to *tip* right after creating the frame. Set frame's
337 window_width. Use a maximum tooltip size specified by
338 Vx_max_tooltip_size, if that has valid contents.
339 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
340 Make sure the tooltip is completely visible.
341 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
342 (Fx_create_frame): Adjust the frame's height for presence
343 of the tool bar before calling x_figure_window_size.
344 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
345 when the window gets smaller.
346 (x_set_foreground_color): Set frame's cursor_pixel.
347 (x_set_foreground_color, x_set_background_color): Cleaned up.
348 (x_set_font): Handle case of x_new_fontset returning the same name
349 as before, although there was a change in fontsets.
350
386ca361
MB
3512001-10-21 Miles Bader <miles@gnu.org>
352
353 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
354 (Flogxor): Add usage: string to doc string.
355 * charset.c (Fstring): Likewise.
356 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
357 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
358
14ff1ee0
PJ
3592001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
360
03be2694
PJ
361 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
362
363 * alloc.c: Reindent DEFUNs with doc: keywords.
364
365 * abbrev.c (Finsert_abbrev_table_description): Reindent.
366
14ff1ee0
PJ
367 * frame.c: Change doc-string comments to `new style' [w/`doc:'
368 keyword].
369
71431a0e
GM
3702001-10-20 Gerd Moellmann <gerd@gnu.org>
371
6aa97356 372 * (Version 21.1 released.)
71431a0e 373
39f624fa
PJ
3742001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
375
c0a53abb
PJ
376 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes
377 removed.
378
379 * xdisp.c (invisible_text_between_p): Put prototype inside #if
380 0 because unused.
381
382 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
fdb82f93 383 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c: Change
c0a53abb 384 doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 385
abcce93a
MB
3862001-10-20 Miles Bader <miles@gnu.org>
387
388 The following changes remove the glyph_row `inverse_p' field,
389 which is never set anymore, due to other changes:
390
391 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
392 (reassert_line_highlight, change_line_highlight): Declarations removed.
393 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
394 (line_hash_code, row_equal_p, fake_current_matrices)
395 (build_frame_matrix_from_leaf_window, update_frame_line)
396 (update_frame_line, update_frame_line, update_frame_line):
397 Don't use `inverse_p' field.
398 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
399 change_line_highlight_hook.
400 (XTreassert_line_highlight, x_change_line_highlight):
401 Functions removed.
402 (x_fix_overlapping_area, x_write_glyphs, expose_area)
403 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
404 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
405 `inverse_p' field.
406 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
407 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
408 (w32_reassert_line_highlight, x_change_line_highlight):
409 Functions removed.
410 * w32console.c (reassert_line_highlight, change_line_highlight):
411 Functions removed.
412 (initialize_w32_display): Don't set reassert_line_highlight_hook
413 or change_line_highlight_hook.
414 (hl_mode): Function removed.
415 (reset_terminal_modes, set_terminal_modes, update_begin)
416 (update_end, w32_face_attributes, initialize_w32_display):
417 (clear_frame, ins_del_lines): Don't call it.
418 * termhooks.h (reassert_line_highlight_hook)
419 (change_line_highlight_hook): Declarations removed.
420 * term.c (reassert_line_highlight_hook)
421 (change_line_highlight_hook): Variables removed.
422 (reassert_line_highlight, change_line_highlight): Functions removed.
423 * msdos.c (IT_reassert_line_highlight)
424 (IT_change_line_highlight): Functions removed.
425 (internal_terminal_init): Don't set reassert_line_highlight_hook
426 or change_line_highlight_hook.
427 (highlight): Variable removed.
428 (IT_set_face, IT_update_begin, IT_update_end)
429 (IT_set_terminal_modes): Don't set or use it.
430
431 The following changes remove inverse-video support for terminals
432 that use a `magic cookie' standout mode. Due to changes in the
433 way mode-lines are displayed, such support no longer works
434 anyway, and it's probable that almost no one uses such terminals
435 anymore:
436
437 * term.c (standout_requested): Variable removed.
438 (update_end, highlight_if_desired): Don't use it.
439 (chars_wasted, copybuf): Variables removed.
440 (write_standout_marker): Function removed.
441 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
442 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
443 Don't use `chars_wasted' or `copybuf'.
444 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
445 Set `costs_set' to true.
446 (cursor_to, clear_end_of_line): Test `costs_set' instead of
447 `chars_wasted'.
448 (clear_end_of_line): Function removed.
449 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
450 (clear_to_end): Call `clear_end_of_line' instead of
451 `clear_end_of_line_raw'.
54800acb
MB
452 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
453 (term_init): Don't set them.
454 Turn off any standout/underline modes that require magic cookies.
455 (ins_del_lines, highlight_if_desired, background_highlight)
456 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
457 Remove special processing for magic-cookie standout modes.
458 (turn_off_face, turn_on_face): Remove special processing for
459 underline magic-cookie glitch.
abcce93a 460
0b5f679f
RS
4612001-10-19 Richard M. Stallman <rms@gnu.org>
462
463 * eval.c (syms_of_eval): Doc fixes.
464
5a4a5bd4
GM
4652001-10-19 Gerd Moellmann <gerd@gnu.org>
466
467 * xdisp.c (redisplay_internal): Don't clear echo area if the
468 mini-window is selected.
469
79f1f96c
MB
4702001-10-19 Miles Bader <miles@gnu.org>
471
b57c2708
MB
472 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
473 doesn't take precedence if the affected property's value is nil.
474
475 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
476
79f1f96c
MB
477 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
478 with fields and suggest using `forward-line' to avoid them.
479 * editfns.c (Fline_beginning_position, Fline_end_position):
480 Clarify documentation.
481
ef879104
SM
4822001-10-18 Stefan Monnier <monnier@cs.yale.edu>
483
484 * keymap.c (current_minor_maps): `override' only shadows its
485 correspondent in minor-mode-map-alist, not the whole tail.
486
97f4db8c
AI
4872001-10-18 Andrew Innes <andrewi@gnu.org>
488
489 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
490 optimization. The fontp->encoding array was not being initialized
491 correctly when compiled with optimizations by MSVC.
492
e6b70fd8
GM
4932001-10-18 Gerd Moellmann <gerd@gnu.org>
494
30903479 495 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 496
0e804d38
AI
4972001-10-17 Andrew Innes <andrewi@gnu.org>
498
499 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
500
501 * w32fns.c (w32_load_system_font): Cache codepage for font, in
502 font_info.charset field.
503
504 * w32term.c (w32_encode_char): Get cached codepage from font_info,
505 rather than working it out by calling w32_codepage_for_font for
506 every glyph.
507
66e5868a
AI
5082001-10-17 Andrew Innes <andrewi@gnu.org>
509
510 * w32term.c (w32_read_socket): Determine clipping rectangle for
511 the entire frame, including areas covered by scrollbars and the
512 menubar. This avoids internal arguments about whether a frame is
513 fully obscured or not.
514
15b00083
GM
5152001-10-17 Gerd Moellmann <gerd@gnu.org>
516
23e8bd86
GM
517 * xdisp.c (try_window_id): Undo last change. Give up if
518 window ends in strings.
30903479 519
9c6ba6d1 520 * xdisp.c (try_window_id): Don't display lines after the window
30903479 521 end if the rest of the window after the window end was already blank.
23e8bd86 522
30903479 523 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
524 for the release of 21.1.
525
30903479 526 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 527
945220bd
MB
5282001-10-17 Miles Bader <miles@gnu.org>
529
530 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
531 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
532 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
533 Change doc-string comments to `new style' [w/`doc:' keyword].
534 (DOC_STRINGS_IN_COMMENTS): Macro removed.
535 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
536 out make-docfile.
537
14242528
MB
5382001-10-16 Miles Bader <miles@gnu.org>
539
540 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
541
3ddf952f
GM
5422001-10-16 Gerd Moellmann <gerd@gnu.org>
543
544 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
545 *scratch*.
546
f3fbd155
KR
5472001-10-16 Ken Raeburn <raeburn@gnu.org>
548
549 Avoid the assumption that car and cdr slots of cons cells are
550 addressable lvalues; this allows for easier experimentation with
551 other lisp implementations that may not permit such accesses for
552 various reasons. Not quite complete -- buffer.c still needs some
553 work, and w32/mac files need rechecking -- so compile-time
554 enforcement is left disabled for now.
555
556 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 557 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
558 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
559 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
560 (XSETCAR, XSETCDR): New macros.
561 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
562 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
563 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
564 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
565 XSETCDR.
566 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
567 * buffer.c (record_buffer, Fbury_buffer)
568 (swap_out_buffer_local_variables, recenter_overlay_lists)
569 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
570 fields of a cons cell respectively.
571 * callint.c (quotify_args, Fcall_interactively): Likewise.
572 * ccl.c (Fregister_code_conversion_map): Likewise.
573 * coding.c (detect_coding_system): Likewise.
574 * composite.c (get_composition_id, make_composition_value_copy):
575 Likewise.
30903479
SM
576 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
577 (swap_in_symval_forwarding, set_internal, Fset_default)
578 (Fmake_variable_buffer_local, Fmake_local_variable)
579 (Fmake_variable_frame_local): Likewise.
f3fbd155 580 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479
SM
581 * keymap.c (Fset_keymap_parent, store_in_keymap)
582 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap):
f3fbd155
KR
583 Likewise.
584 * minibuf.c (get_minibuffer): Likewise.
585 * search.c (Fmatch_data): Likewise.
586 * textprop.c (extend_property_ranges): Likewise.
587 * undo.c (record_insert, Fundo_boundary, truncate_undo_list):
588 Likewise.
589 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
590 Likewise.
591 * w32term.c (x_delete_display): Likewise.
592 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
593 Likewise.
594 * xterm.c (x_list_fonts, x_load_font, x_delete_display):
595 Likewise.
596 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 597 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
598 (Fread_file_name): Use XSETCAR.
599 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
600 CHECK_NUMBER_CDR.
601 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
602 * frame.c (Fmake_terminal_frame): Use XSETCDR.
603 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
604 CHECK_NUMBER_CDR.
605 * keyboard.c (read_char): Alter list traversal to avoid taking the
606 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
607 (parse_menu_item): Use XSETCAR and XSETCDR.
608 (reach_char_x_menu_prompt): Use XSETCAR.
609 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
610 (Fcommand_execute): Use XSETCDR.
611 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
612 (openp): Change list traversal to avoid using XCAR as lvalue.
613 (read_list): Use XSETCDR.
614 * process.c (wait_reading_process_input): Change wait_for_cell
615 handling to avoid taking addresses of cons cell slots.
30903479
SM
616 * xselect.c (x_own_selection, x_handle_selection_clear)
617 (x_clear_frame_selections): Use XSETCDR.
618 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
619 (x_handle_property_notify, x_get_foreign_selection)
620 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 621
502150e5
PJ
6222001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
623
018ba359
PJ
624 * buffer.c: Put doc strings in comments.
625
30903479 626 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 627
b56ba8de
SS
6282001-10-15 Sam Steingold <sds@gnu.org>
629
630 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
631
6a0b793a
PJ
6322001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
633
30903479
SM
634 * process.c (process-inherit-coding-system-flag)
635 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
636 in comment.
637
a1f17501 638 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 639 arguments. Put doc strings in comments.
a65da641
PJ
640
641 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 642
aa601ad0
GM
6432001-10-15 Gerd Moellmann <gerd@gnu.org>
644
30903479 645 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 646
aa601ad0
GM
647 * window.c (select_window_1): Unfreeze window start. Remove a
648 doubled test for WINDOW being live.
649
288148a1
PJ
6502001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
651
dd8d1e71
PJ
652 * fns.c (Fmapconcat): Fix typo in a doc string.
653
288148a1
PJ
654 * dispnew.c (Fsleep_for): Fix typo in a doc string.
655
9f5eb4a3
GM
6562001-10-15 Gerd Moellmann <gerd@gnu.org>
657
658 * xterm.c (x_draw_glyph_string): Restore clipping after
659 drawing box.
660
dbae44c8
PJ
6612001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
662
30903479 663 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 664
0c88c937
SM
6652001-10-14 Stefan Monnier <monnier@cs.yale.edu>
666
56378db4
GM
667 * indent.c (skip_invisible): Use new retval of
668 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 669
845e4cf4
SM
670 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
671 If a parent is reached and noinherit is set, exit immediately.
672 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
673
0c88c937
SM
674 * s/ms-w32.h (EXEC_SUFFIXES):
675 * s/msdos.h (EXEC_SUFFIXES):
676 * process.h (EXEC_SUFFIXES): Remove.
677
678 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
679 (decode_suffixes): Remove.
680
681 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
682 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
683 (invisible_ellipsis_p): Remove.
0c88c937
SM
684
685 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
686 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
687 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
688 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
689 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 690
d19be8a9
PJ
6912001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
692
04d7d066
PJ
693 * lisp.h (Ftop_level): Add prototype.
694
d624284c
PJ
695 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
696 (XTread_socket): Improve style of comments to follow other
697 comments.
698
a87414f9
PJ
699 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
700 is already prototyped in included lisp.h).
701
d19be8a9
PJ
702 * frame.c (Fset_mouse_position): Improve style of comment to
703 follow other comments.
704 (Fset_mouse_pixel_position): Improve style of comment to follow
705 other comments.
706 (Fmake_frame_visible): Doc fix and typo in comment.
707 (Fmake_frame_invisible): Doc fix and typo in comment.
708 (Ficonify_frame): Fix typo in comment.
709
c061c855
GM
7102001-10-14 Gerd Moellmann <gerd@gnu.org>
711
37f6b5b6 712 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 713 * term.c, alloc.c: Put doc strings in comments.
c061c855 714
e641b454
GM
7152001-10-13 Gerd Moellmann <gerd@gnu.org>
716
717 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
718 Provide definitions for doc strings in comments.
719
720 * fns.c: Put doc strings in comments.
721
51724e26
EZ
7222001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
723
724 * dired.c (file_name_completion): Ignore a candidate directory if
725 it matches an element in completion-ignored-extensions that ends
726 in a slash.
727 (syms_of_dired) <completion-ignored-extensions>: Mention the above
728 feature in the doc string.
729 (Ffile_name_completion): Ditto.
730
be5fc59b
SM
7312001-10-12 Stefan Monnier <monnier@cs.yale.edu>
732
5a1373f3
SM
733 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
734
735 * xfns.c (syms_of_xfns): Update calls to Fprovide.
736
737 * lisp.h (Fprovide): Update prototype.
738 (Ffeaturep, invisible_p): Remove.
739
bbc4a3d3 740 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
741 (DOLIST, LOOP_PROPVAL): New macros.
742 (invisible_p, invisible_ellipsis_p): Use them.
743 (invisible_noellipsis_p): New function.
744 (syms_of_xdisp): Use empty_string.
745
746 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
747
748 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
749 (syms_of_lread) <Vafter_load_alist>: Update docstring.
750
751 * print.c (Fwith_output_to_temp_buffer): Align with
752 internal_with_output_to_temp_buffer.
753 (print_preprocess): Use traverse_intervals_noorder.
754 (print_object): Update call to traverse_intervals.
755
756 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
757 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
758
759 * intervals.c (traverse_intervals_noorder): New function.
760 (search_for_interval, count_intervals): Use it.
761 (traverse_intervals): Use less stack space and drop `depth' arg.
762
763 * fns.c (Ffeaturep): Add new `subfeature' arg.
764 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
765 (Qsubfeatures): New var.
766 (syms_of_fns): Initialize it.
767
026f408d
SM
768 * keymap.c (Fkey_description): Use empty_string.
769 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
770 (syms_of_keymap): Setup inheritance between maps.
771 Don't export Sdescribe_bindings_internal any more.
772
be5fc59b
SM
773 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
774
3365175e
GM
7752001-10-12 Gerd Moellmann <gerd@gnu.org>
776
777 * xterm.c (notice_overwritten_cursor): Renamed from
778 note_overwritten_text_cursor. Rewritten to take glyph widths into
779 account.
780
2ab7765c
EZ
7812001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
782
783 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
784 multi-line strings without a trailing "\n\".
785
311346bb
PJ
7862001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
787
788 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
789 defined.
790
2168e04d
SM
7912001-10-11 Stefan Monnier <monnier@cs.yale.edu>
792
026f408d
SM
793 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
794
c0ec53ad
SM
795 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
796 * w32proc.c (sys_spawnve):
797 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
798 * w32.c (check_windows_init_file):
799 * sound.c (Fplay_sound):
026f408d 800 * emacs.c (init_cmdargs):
c0ec53ad
SM
801 * process.c (Fstart_process): Update calls to openp.
802
803 * callproc.c (Vexec_suffixes): New var.
804 (Fcall_process): Update call to openp.
805 (decode_suffixes): New function.
806 (syms_of_callproc): Init exec-suffixes.
807
808 * lread.c (Vload_suffixes, default_suffixes): New vars.
809 (openp): Take a lisp list of suffixes.
810 Check for file-name-handlers even if the file was absolute already.
811 (syms_of_lread): Declare load-suffixes.
812 (Fload): Fix up call to openp.
813 Don't bother checking for file-name-handler at the very beginning.
814
f6333468
SM
815 * keymap.h (Fcopy_keymap): Don't export.
816
817 * lisp.h (empty_string): Declare.
c0ec53ad
SM
818 (Vload_suffixes, Vexec_suffixes): Declare.
819 (openp): Update prototype.
f6333468
SM
820
821 * emacs.c (empty_string): New var.
822 (syms_of_emacs): Initialize it.
823
824 * search.c (wordify): Use it.
825
826 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
827 selected window if it's not displayed there. Handle the case
828 when the window is dedicated.
829 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
830
831 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
832
2168e04d
SM
833 * syntax.h (struct gl_state_s): Change the meaning of b_property.
834 Remove left_ok and right_ok.
835 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
836 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
837 new meaning of b_property.
838
839 * syntax.c (update_syntax_table): Simplify.
840 (Fforward_comment): Don't skip quoted chars when going backward.
841
13d95cc0
GM
8422001-10-11 Gerd Moellmann <gerd@gnu.org>
843
beb0990f
GM
844 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
845 in case I is of some unsigned type, in which case
846 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
847 comparison becomes bogus.
848
cb938d46
GM
849 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
850 (Fuser_full_name): Fix bug treating a float as a fixnum.
851
852 * data.c (Fstring_to_number): Use make_fixnum_or_float.
853
854 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 855
13d95cc0
GM
856 * lisp.h (circular_list_error): Add prototype.
857
858 * data.c (Qcircular_list): New variable.
859 (circular_list_error): New function.
860 (syms_of_data): Initialize it Qcircular_list.
861
e35f6ff7
SM
8622001-10-10 Stefan Monnier <monnier@cs.yale.edu>
863
864 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
865 casefiddle.c, buffer.c: Include keymap.h.
866
619632ac
GM
8672001-10-10 Gerd Moellmann <gerd@gnu.org>
868
869 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
870 options. From Dave Love <d.love@dl.ac.uk>.
871
5e5388f6
GM
8722001-10-09 Gerd Moellmann <gerd@gnu.org>
873
874 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
875 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
876
14a3dff7
GM
877 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
878 unsigned char.
879 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 880
76ba8daf
AI
8812001-10-08 Andrew Innes <andrewi@gnu.org>
882
883 * lisp.h [max]: Undef min and max before redefining them.
884
885 * w32gui.h: Do not undef min and max.
886
887 * w32heap.h: Do not undef min and max.
888
889 * s/ms-w32.h: Do not undef min and max.
890
166253cb
SM
8912001-10-08 Stefan Monnier <monnier@cs.yale.edu>
892
893 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
894
0c4d9527
SS
8952001-10-08 Sam Steingold <sds@gnu.org>
896
897 * keymap.c (current-active-maps): Quote newlines (compilation error).
898
14bfa771
EZ
8992001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
900
901 * Makefile.in (lisp, shortlisp): Replace bindings.el with
902 bindings.elc, since otherwise doc strings in bindings.el get wrong
903 offsets in etc/DOC.
904
bdb7aa47
SM
9052001-10-08 Stefan Monnier <monnier@cs.yale.edu>
906
9985827f
SM
907 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
908
909 * keyboard.h (map_prompt): Remove.
910
911 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 912 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 913
bdb7aa47
SM
914 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
915
916 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
917
918 * keyboard.c (map_prompt): Remove.
919 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
920 Use Fkeymap_prompt.
921
922 * keymap.h: New file. Extracted from lisp.h.
923
9985827f
SM
924 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
925 (accessible_keymaps_1): New function.
926 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
927 (Fwhere_is_internal): Use Fcurrent_active_maps.
928 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
929 Insert in current buffer rather than standard-output.
930 Don't call `help-mode'. Export to elisp.
931 (describe_buffer_bindings): New wrapper.
932 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
933 and Sdescribe_buffer_bindings.
934
402c9a51
GM
9352001-10-08 Gerd Moellmann <gerd@gnu.org>
936
9985827f 937 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
938 Remove code setting signal handler.
939
9985827f 940 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
941 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
942
3fe81fdf
PJ
9432001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
944
945 * keyboard.c: Don't define min/max.
946
55fa7820
GM
9472001-10-08 Gerd Moellmann <gerd@gnu.org>
948
9985827f 949 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 950 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 951 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 952 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 953 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
954 Don't define min/max.
955
956 * lisp.h (min, max): New macros.
957
55fa7820
GM
958 * puresize.h (BASE_PURESIZE): Increase to 725000.
959
1aad31e4
PJ
9602001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
961
9180dc8c
PJ
962 * xfaces.c (free_frame_menubar): Add prototype.
963
01f67d2c
PJ
964 * lisp.h (init_window): Add prototype.
965
966 * editfns.c: Include ctype.h.
967
968 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 969 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
970 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
971 variable `sb'.
972
5f351ff1
PJ
973 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
974 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
975 `popup_activated_flag' and `title'.
976
479dfe87
PJ
977 * doc.c (Fdocumentation_property): Fix typo in a doc string.
978
dff49fc8
PJ
979 * emacs.c (main): Remove extra `;'.
980
248ac615
PJ
981 * atimer.h (struct atimer): Fix typos in a comment.
982
983 * atimer.c: Fix typo.
984
af232c7d
PJ
985 * Makefile.in: Fix typo.
986
987 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 988
d876f455
MB
9892001-10-07 Miles Bader <miles@gnu.org>
990
991 * Makefile.in (lisp, shortlisp): Add `button.elc'.
992
0037e2f2
KR
9932001-10-07 Ken Raeburn <raeburn@gnu.org>
994
b056f36d
KR
995 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
996 Lisp_Object.
997
0037e2f2
KR
998 * lisp.h (Ffield_end): Declare.
999
1a4372ef
GM
10002001-10-07 Gerd Moellmann <gerd@gnu.org>
1001
a4a74e8c
GM
1002 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1003
1004 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1005
1006 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1007
1008 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1009
1a4372ef
GM
1010 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1011 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1012
1013 * alloc.c (inhibit_garbage_collection): Simplify.
1014 (Fmemory_use_counts): Ditto.
1015
9985827f 1016 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1017 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1018 most-negative-fixnum.
1019
9985827f 1020 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1021 (FIXNUM_OVERFLOW_P): New macros.
1022
4650e362
MB
10232001-10-06 Miles Bader <miles@gnu.org>
1024
1025 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1026 scroll_bar_bottom_shadow_pixel fields.
1027 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1028 for the shadows, and tell the toolkit about them if we succeed.
1029 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1030 Free scroll-bar shadow colors.
1031 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1032 Free scroll-bar shadow colors when the background color changes.
1033 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1034 Initialize scroll-bar shadow-color fields.
1035
ace64e0a
GM
10362001-10-05 Gerd Moellmann <gerd@gnu.org>
1037
1038 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1039
ec66bdc7
MB
10402001-10-05 Miles Bader <miles@gnu.org>
1041
9985827f
SM
1042 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1043 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1044 New functions (were in simple.el).
9985827f 1045 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1046 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1047 (syms_of_minibuf): Initialize them.
1048
a0fb4492
GM
10492001-10-05 Gerd Moellmann <gerd@gnu.org>
1050
1051 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1052 (tiff_load): Install them as error and warning handler.
1053
0bcf87c1
AI
10542001-10-04 Andrew Innes <andrewi@gnu.org>
1055
1056 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1057 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1058 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1059 (x_to_w32_charset): Handle private format for unknown charsets.
1060 Handle wildcards in charset spec, by ignoring them.
1061 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1062 "*-" prefix from charset.
1063 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1064 handle the truncated font spec form constructed by font_list_1, so
1065 that we correctly identify the charset fields. Don't remove "*-"
1066 prefix from charset.
1067 (w32_list_synthesized_fonts): Fix argument to alloca.
1068
c89e4bc5
GM
10692001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1070
1071 * window.h (MINI_WINDOW_P): Use NILP.
1072
1073 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1074
1075 * termhooks.h (struct input_event): Use proper type for `kind'.
1076
10772001-10-04 Gerd Moellmann <gerd@gnu.org>
1078
1079 This handles unknown keysyms better than before. For example,
1080 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1081 Emacs formerly completely ignored F5. With the change, it derives
1082 a key symbol from the name of the X keysym, `ccaron' in this case.
1083 Reported by Martin Buchholz.
1084
1085 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1086 unknown keysyms.
1087
1088 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1089 that EVENT->code isn't a function key, use the keysym's name.
1090
10912001-10-04 Gerd Moellmann <gerd@gnu.org>
1092
1093 FOREACH is a macro that should make it easier to loop over Lisp
1094 lists with checks for cycles and proper lists.
1095
1096 * lisp.h (LIST_END_P, FOREACH): New macros.
1097
10982001-10-04 Gerd Moellmann <gerd@gnu.org>
1099
1100 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1101 called for a lost connection. Prevent dumping core in this case.
1102 Instead print the X error, and exit. On user request.
1103
1104 * xterm.c (error_msg): New variable.
1105 (x_fatal_error_signal): New function.
1106 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1107 as fatal_error_signal_hook around the call to XtCloseDisplay.
1108
1109 * emacs.c (fatal_error_signal_hook): New variable.
1110 (fatal_error_signal): Call that function.
1111
11122001-10-04 Gerd Moellmann <gerd@gnu.org>
1113
1114 With this, Emacs prints how much pure storage it will
1115 approximately need in case pure storage overflows while dumping.
1116
1117 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1118 New variables.
1119 (init_alloc_once): Initialize new variables.
1120 (PURE_POINTER_P): Use new variables.
1121 (pure_alloc): If pure storage overflows, allocate from the heap.
1122 (check_pure_size): New function.
1123 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1124
1125 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1126 (check_pure_size): Add prototype.
1127
1128 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1129
11302001-10-04 Gerd Moellmann <gerd@gnu.org>
1131
1132 This adds a post-gc-hook that's run with GC inhibited.
1133 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1134
1135 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1136 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1137 (Fgarbage_collect): Run post-gc-hook.
1138
11392001-10-04 Gerd Moellmann <gerd@gnu.org>
1140
1141 This adds `defvaralias' and `indirect-variable'. Changes not
1142 directly related to this feature are there to gain the same
1143 performance again as before variable aliases.
1144
1145 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1146 code to get and set symbol values, to take defvaralias into account.
1147
1148 (Note: the new `constant' bit-flag in symbols would make it
1149 possible to define arbitrary read-only variables, e.g. with
1150 `defconst'.)
1151
1152 Documentation is in lispref/variables.texi. Added to NEWS.
1153
1154 * lisp.h (enum symbol_interned): New enumeration.
1155 (struct Lisp_Symbol): Remove member `obarray', add
1156 `indirect_variable', `constant', and `interned'.
1157 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1158 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1159 (indirect_variable): Add prototype.
1160
1161 * print.c (print_preprocess, print_object): Test internedness of
1162 symbols differently.
1163
1164 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1165 bit-fields.
1166 (init_obarray): Likewise for t and nil.
1167
1168 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1169 (Fdefvaralias): New function.
1170 (specbind): Simplify the test if symbol is a constant.
1171 (syms_of_eval): Defsubr Fdefvaralias.
1172
1173 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1174 (Qcyclic_variable_indirection): New variable.
1175 (Fkeywordp): Check for internedness differently.
1176 (Fmakunbound): Simplify the test if symbol is a constant.
1177 (indirect_variable, Findirect_variable): New functions.
1178 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1179 aliased symbol.
1180 (let_shadows_buffer_binding_p): Check for variable aliases.
1181 (set_internal): Simplify the test if SYMBOL is a constant.
1182 If SYMBOL has a buffer-local value and is an alias, use the aliased
1183 symbol instead.
1184 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1185 Sindirect_variable.
1186
1187 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1188 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1189 set directly.
1190
1191 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1192
1193 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1194 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1195 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1196
ab952a4f
GM
11972001-10-04 Gerd Moellmann <gerd@gnu.org>
1198
1199 * Branch for 21.1.
b56ba8de 1200
ba88ff28
MB
12012001-10-03 Miles Bader <miles@gnu.org>
1202
1203 * callproc.c (syms_of_callproc): Explicitly state in the
1204 documentation for `process-environment' that earlier entries take
1205 precedence over later ones.
1206
ae1a9581
MB
12072001-10-02 Miles Bader <miles@gnu.org>
1208
1209 * textprop.c (Fnext_char_property_change)
1210 (Fprevious_char_property_change): Remove reference to non-existant
1211 argument OBJECT from doc-string.
1212
257e3f57
GM
12132001-10-01 Gerd Moellmann <gerd@gnu.org>
1214
1215 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1216 (try_window_id): Skip back over lines ending in a newline from a
1217 string.
1218
1219 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1220 New bit flag
1221
c1f29759
RS
12222001-10-01 Richard M. Stallman <rms@gnu.org>
1223
1224 * search.c (Freplace_match): Doc fix.
1225
c30dce3d
AI
12262001-09-28 Andrew Innes <andrewi@gnu.org>
1227
1228 * w32menu.c (set_frame_menubar): Take into account that
1229 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1230 <raeburn@gnu.org>.
1231
03be5931
EZ
12322001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1233
1234 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1235
75bec752
PJ
12362001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1237
1238 * s/gnu-linux.h: Fix a typo in comment.
1239
83100e0a
AS
12402001-09-28 Andreas Schwab <schwab@suse.de>
1241
1242 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1243 nocombreloc, in case -z combreloc is the default.
1244
a74b48cf
GM
12452001-09-28 Gerd Moellmann <gerd@gnu.org>
1246
1247 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1248 really going on here.
1249
09c4719e
SM
12502001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1251
1252 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1253
f7d5d963
EZ
12542001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1255
1256 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1257 utf-8, menu-bar, and latin-N.
1258 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1259 unconditionally now.
1260 (lisp): Add latin-N, since they are preloaded.
1261
9240e746
GM
12622001-09-27 Gerd Moellmann <gerd@gnu.org>
1263
14531065
GM
1264 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1265 to the left. Some cleanup.
1266
9240e746
GM
1267 * xdisp.c (display_mode_element): One more case where a string's
1268 multibyteness should be used for display.
1269
edd1e654
GM
12702001-09-26 Gerd Moellmann <gerd@gnu.org>
1271
b02439c8
GM
1272 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1273 reading at EOF.
1274
032906b1 1275 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1276 of the only temporarily set echoing flag for deciding when
032906b1
GM
1277 the cancel echoing.
1278
1279 * keyboard.c (echo_kboard): Make externally visible.
1280
1281 * lisp.h (echo_kboard): Declare extern.
1282
cb617e7c 1283 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1284 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1285 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1286 this round of redisplay if make_cursor_line_fully_visible fails.
1287 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1288 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1289
1290 * dispextern.h (required_matrix_width, required_matrix_height):
1291 Add prototypes.
1292
09c4719e
SM
1293 * dispnew.c (required_matrix_width, required_matrix_height):
1294 New functions.
cb617e7c 1295 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1296 (allocate_matrices_for_frame_redisplay: Use them.
1297 Remove parameters CH_DIM.
cb617e7c 1298
edd1e654
GM
1299 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1300 and selected_window to the frame of the window whose mode-lines
1301 are displayed, and to the window itself.
1302 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1303 here.
edd1e654 1304
924b604c
GM
13052001-09-25 Gerd Moellmann <gerd@gnu.org>
1306
daba7643
GM
1307 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1308 the image cache under us.
1309
b7a22712 1310 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1311 with a string value, use that string's multibyteness for displaying.
b7a22712 1312
ad648212
GM
1313 * keyboard.c (read_char): Don't clear a message for a switch-frame
1314 event. From Stefan Monnier <monnier@cs.yale.edu>.
1315
9f8531e5
GM
1316 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1317 version for after 21.1.
1318
1319 * xdisp.c (row_containing_pos): Make externally visible.
1320
1321 * dispextern.h (row_containing_pos): Add prototype.
1322
924b604c
GM
1323 * process.c (send_process): Disable composition if from_byte < 0.
1324 From Kenichi Handa <handa@etl.go.jp>.
1325
6f3f0db4
GM
13262001-09-24 Gerd Moellmann <gerd@gnu.org>
1327
c69c0ebc
GM
1328 * xterm.c (refreshicon): Function removed.
1329
d1182bc4
GM
1330 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1331
1332 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1333
1334 * xterm.c (toplevel): Remove includes in #if 0.
1335
6f3f0db4
GM
1336 * process.c (sigchld_handler) [LINUX]: Don't return from
1337 the signal handler at the end of the loop.
1338
59957f85
GM
13392001-09-21 Gerd Moellmann <gerd@gnu.org>
1340
09c4719e
SM
1341 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1342 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1343
a0528984
EZ
13442001-09-21 Markus Rost <rost@math.ohio-state.edu>
1345
1346 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1347
db92b288
GM
13482001-09-20 Gerd Moellmann <gerd@gnu.org>
1349
3fed8ad5
GM
1350 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1351 since this function can be called during GC.
1352
db92b288
GM
1353 * callproc.c (Fcall_process): Handle errors from pipe(2).
1354 (child_setup): Delete code in #ifdef vipc.
1355
7121b85a
GM
13562001-09-19 Gerd Moellmann <gerd@gnu.org>
1357
72f62cb5
GM
1358 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1359 (display_mode_element): Display the string from decode_mode_spec
1360 depending on its multibyteness.
1361
a2697022
GM
1362 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1363
7121b85a
GM
1364 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1365
bfc97351
GM
13662001-09-18 Gerd Moellmann <gerd@gnu.org>
1367
c9063433
GM
1368 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1369 recursive_edit_unwind.
1370 (recursive_edit_unwind): Set kboard state according to
1371 SINGLE-KBOARD.
1372
3fbdba3e
GM
1373 * buffer.c (modify_overlay): Don't do nothing if START == END;
1374 This can still be a modification, for example when an overlay has
1375 a before-string or after-string.
1376 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1377 an overlay with before-string or after-string.
1378
1270031d
GM
1379 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1380 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1381
bfc97351
GM
1382 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1383 first_unchanged_at_end_row is in front of
1384 last_unchanged_at_beg_row. This code should be removed after the
1385 release of 21.1.
1386
d8a973aa
GM
13872001-09-17 Gerd Moellmann <gerd@gnu.org>
1388
e18c8b8d
GM
1389 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1390 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1391
d8a973aa
GM
1392 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1393 versions >= 2.95.
1394
ed7d6ba4
EZ
13952001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1396
1397 * dired.c (Ffile_attributes): Doc fix.
1398
551629f9
GM
13992001-09-14 Gerd Moellmann <gerd@gnu.org>
1400
1401 * fileio.c (Ffile_symlink_p): Fix last change.
1402
1403 * filelock.c (current_lock_owner): Fix last change.
1404
4c8c7926
GM
14052001-09-13 Gerd Moellmann <gerd@gnu.org>
1406
620c4704
GM
1407 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1408 take that to mean that the buffer is too small.
1409
81c3310d
GM
1410 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1411 that to mean that the buffer is too small.
1412
06fd3792
GM
1413 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1414 current buffer's multibyteness when discarding the iterator's
1415 stack.
1416
4c8c7926
GM
1417 * xfns.c (Fx_window_property): Handle case that property gets
1418 deleted between the two calls to XGetWindowProperty.
1419
9a72e4c1
GM
14202001-09-11 Gerd Moellmann <gerd@gnu.org>
1421
bd819d14 1422 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 1423
a41edd99
GM
1424 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
1425 in addition to read-only.
1426
1427 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
1428 to t in addition to read-only.
1429
1430 * lisp.h (Qinhibit_modification_hooks): Declare.
1431
1432 * insdel.c (Qinhibit_modification_hooks): New variable.
1433 (syms_of_insdel): Initialize and staticpro it.
1434
d4881c6a
GM
1435 * textprop.c (verify_interval_modification): Don't run
1436 modification-hooks if inhibit_modification_hooks.
1437
1438 * dispnew.c (set_window_cursor_after_update): Fix code
1439 finding glyph row containing cursor when cursor_in_echo_area
1440 is >= 0.
1441
9a72e4c1
GM
1442 * xdisp.c (init_from_display_pos): Put some code in #if 0.
1443 (add_to_log): Use bcopy instead of strcpy.
1444 (init_from_display_pos): Use an explicit loop over bytes in
1445 overlay strings instead of calling index.
1446
f4a374a1
GM
14472001-09-10 Gerd Moellmann <gerd@gnu.org>
1448
300e57bd
GM
1449 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
1450
1451 * dispnew.c (direct_output_for_insert): Don't change IT's
1452 stop_charpos to something in front of its current position.
1453
f4a374a1
GM
1454 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
1455 `format'.
1456
7e4cbc91
RS
14572001-09-10 Richard M. Stallman <rms@gnu.org>
1458
1459 * frame.c (Fmouse_position): Doc fix.
1460
6afad91e
GM
14612001-09-07 Gerd Moellmann <gerd@gnu.org>
1462
1463 * xdisp.c (init_from_display_pos): Don't compare the result
1464 of calling index with NULL.
1465
f76e0368
GM
14662001-09-06 Gerd Moellmann <gerd@gnu.org>
1467
1468 * xfns.c (x_set_background_color): Don't change the colors
1469 of the X window of scroll bar widgets.
1470
9ead1b60
AI
14712001-09-05 Andrew Innes <andrewi@gnu.org>
1472
1473 * w32fns.c (w32_createwindow): Undo last change.
1474
c3b497b3
GM
14752001-09-05 Gerd Moellmann <gerd@gnu.org>
1476
08e1d6df
GM
1477 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1478
c3b497b3
GM
1479 * xdisp.c (string_buffer_position): Use *single_char_property*
1480 functions instead of the *single_property* functions.
b56ba8de 1481
8f860180
AI
14822001-09-04 Andrew Innes <andrewi@gnu.org>
1483
9a72e4c1
GM
1484 * w32term.c (w32_read_socket): Add more information to debugging
1485 output.
8f860180
AI
1486
1487 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1488 from Emacs frames, so that calls to GetClipBox in w32term.c
1489 correctly report when part of a frame is visible (including
1490 scrollbars, etc). This prevents repeated redrawing of frames when
1491 only a scrollbar is visible.
1492 (w32_wnd_proc): Add more frame information to debugging output.
1493
2ee1aa00
SM
14942001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1495
1496 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1497
e3b22517
GM
14982001-09-03 Gerd Moellmann <gerd@gnu.org>
1499
7e376260
GM
1500 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1501 help-echo for a string which doesn't have help-echo itself, use
1502 get-char-property to obtain the help-echo from the string's buffer
1503 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1504 have mouse-face, look ``under'' the string for mouse-face from an
1505 overlay.
1506 (fast_find_position): Add parameter STOP. In the final row, stop
1507 before glyphs having STOP as object. Don't consider glyphs that
1508 are not from a buffer.
1509
e3b22517
GM
1510 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1511
9a249bba
EZ
15122001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1513
1514 * fns.c (Fmd5): Doc fix.
1515
c9979669
GM
15162001-08-31 Gerd Moellmann <gerd@gnu.org>
1517
1518 * composite.c (update_compositions): Do nothing if
1519 inhibit-modification-hooks is set.
1520
9584e63a
GM
15212001-08-30 Gerd Moellmann <gerd@gnu.org>
1522
986ec8f2 1523 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1524 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1525 glyph matrices etc. in a core dump.
1526
92a25631
GM
1527 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1528 (syms_of_xdisp): Initialize them.
1529 (handle_single_display_prop): Don't change point, bind `object',
1530 `position', and `buffer-position' instead to the object having the
2ee1aa00 1531 `display' property, position in the object and position in the buffer.
92a25631 1532
9584e63a
GM
1533 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1534 of the buffer if REPLACE is non-nil.
1535
d38633a3
GM
15362001-08-29 Gerd Moellmann <gerd@gnu.org>
1537
1538 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1539
f4fccc1e
EZ
15402001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1541
1542 * w32term.c (x_set_glyph_string_background_width)
1543 (show_mouse_face): Track the last changes in xterm.c.
1544
eaaa65b0
GM
15452001-08-28 Gerd Moellmann <gerd@gnu.org>
1546
7b0870b2
GM
1547 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1548 string's background width so that multi-line mouse-face is drawn
1549 to the right edge of the window.
1550 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1551 glyphs.
1552
6b6e2422 1553 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1554 before inserting/writing glyphs.
6b6e2422 1555
eaaa65b0
GM
1556 * xdisp.c (display_mode_element): Use string_byte_to_char to
1557 determine character positions in strings, use chars_in_text
1558 instead of strwidth.
1559 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1560 a matrix as parameter; this is easier to use from GDB.
1561
9ad62cf8
MB
15622001-08-28 Miles Bader <miles@gnu.org>
1563
2ee1aa00
SM
1564 * textprop.c (Fprevious_single_char_property_change)
1565 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 1566
32171635
GM
15672001-08-27 Gerd Moellmann <gerd@gnu.org>
1568
47d57b22
GM
1569 * fileio.c (Finsert_file_contents): Allocate, restore, and
1570 free composition data in the case of REPLACE not being nil.
1571
1572 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1573 there exist overlay strings with newlines at POS.
1574 (text_outside_line_unchanged_p): Return 0 if changes start at
1575 START and overlays exist at START. Likewise for END.
1576 (try_window_id): Give up if init_to_row_end returns 0.
1577
32171635
GM
1578 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1579 unconditionally.
1580
e1249666
GM
15812001-08-24 Gerd Moellmann <gerd@gnu.org>
1582
33954c45
GM
1583 * keymap.c (access_keymap): Return the cdr of the binding of
1584 a generic character instead of its definition (KEY . BINDING).
1585
e1249666
GM
1586 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1587 to 0 also in the REPLACE case.
1588
fb4c6c96
AC
15892001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1590
1591 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1592 open to determine whether file is readable (as for DOS_NT).
1593
59ecf80b
GM
15942001-08-23 Gerd Moellmann <gerd@gnu.org>
1595
1596 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1597 coding.type is coding_type_no_conversion or coding_type_raw_text,
1598 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1599 non-nil instead of just setting enable_multibyte_characters in the
1600 buffer to nil.
1601
40e33037
GM
16022001-08-22 Gerd Moellmann <gerd@gnu.org>
1603
374388c3
GM
1604 * dispextern.h (struct face_cache): Add member
1605 menu_face_changed_p.
1606
1607 * xfaces.c (menu_face_changed_default): New variable.
1608 (menu_face_changed_count): Variable removed.
1609 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
1610 the menu_face_changed_default flag, otherwise set the FRAME's
1611 menu_face_changed_p flag if the `menu' face has been changed.
1612 Prevent calling set_font_frame_param if FRAME is t.
1613 (make_face_cache): Initialize cache's menu_face_changed_p
1614 from menu_face_changed_default.
1615 (realize_basic_faces): Look into the frame's face cache to
1616 determine if the menu appearance needs updating.
1617
40e33037
GM
1618 * keymap.c (access_keymap): Fix last change to not consider
1619 IDX when it has modifiers.
1620
859ea4b8
GM
16212001-08-21 Gerd Moellmann <gerd@gnu.org>
1622
1623 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
1624 . BINDING) exists, where GENERIC-CHAR is the generic character of
1625 the charset of IDX, return BINDING unless there exists a binding
1626 for IDX itself.
1627
e8660d73
GM
16282001-08-16 Gerd Moellmann <gerd@gnu.org>
1629
cca1b1d7
GM
1630 * xrdb.c (SYSV): Don't define on Solaris 2.
1631 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
1632
e8660d73 1633 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 1634 of the screen line, not text line, containing IT's current position.
e8660d73 1635
93aba6fc
GM
16362001-08-15 Gerd Moellmann <gerd@gnu.org>
1637
288d4e06
GM
1638 * window.c (window_scroll_pixel_based): Don't recenter if
1639 PT is partially visible in the window.
1640
3452efc2
SM
1641 * xterm.c (expose_window_tree, expose_window, expose_line):
1642 Return 1 when overwriting mouse-face.
82f053ab
GM
1643 (expose_frame): If mouse-face was overwritten, redo it.
1644
93aba6fc
GM
1645 * xfaces.c (x_update_menu_appearance): Don't call
1646 set_frame_menubar, let the next redisplay do it.
1647
858a55c1
AI
16482001-08-14 Andrew Innes <andrewi@gnu.org>
1649
1650 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1651 drawing glyph string.
1652
3a990b67
EZ
16532001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1654
1655 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1656 running HI-UX/MPP.
1657
04386463
GM
16582001-08-14 Gerd Moellmann <gerd@gnu.org>
1659
1660 * xfaces.c (x_update_menu_appearance): Save and restore value of
1661 interrupt_input_blocked.
1662
3e6385a4
GM
16632001-08-13 Gerd Moellmann <gerd@gnu.org>
1664
b0e619b4
GM
1665 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1666 a line start, move back to the line start.
3452efc2 1667
0de73d5a
GM
1668 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1669 exactly when a mini-buffer is active.
1670
3e6385a4
GM
1671 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1672 in units of 1/8 character on non window-system frames.
1673 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1674
d1b5f629
EZ
16752001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1676
1677 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1678 a doc string.
1679
eaa2319f
GM
16802001-08-09 Gerd Moellmann <gerd@gnu.org>
1681
8e3189f0
GM
1682 * keyboard.c (Vpre_help_message): New variable.
1683 (syms_of_keyboard): Initialize and staticpro it.
1684 (show_help_echo): Record current message before displaying a
1685 help-echo, and restore that message when clearing the help.
1686
eaa2319f
GM
1687 * xfns.c (x_create_im): Remove prototype.
1688
1689 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1690
1691 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1692
eaa2319f
GM
16932001-08-08 Gerd Moellmann <gerd@gnu.org>
1694
1695 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1696 windows whose height has changed, disable partially visible lines.
eaa2319f 1697
17fdcfc8
GM
16982001-08-07 Gerd Moellmann <gerd@gnu.org>
1699
22d01aed 1700 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1701 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1702
17fdcfc8
GM
1703 * xdisp.c (start_display): Don't try to determine the continuation
1704 lines width if lines are truncated. It's superfluous and leads to
1705 incorrect results if POS is not visible in the window after
1706 reseating the iterator at the previous line start.
1707
8e3fe78e
GM
17082001-08-06 Gerd Moellmann <gerd@gnu.org>
1709
1710 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1711
98a8938c
GM
17122001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1713
1714 * alloc.c (init_stack): Remove declaration.
1715
18f9986a
GM
17162001-08-03 Gerd Moellmann <gerd@gnu.org>
1717
5e1f85e0
GM
1718 * keyboard.c (read_key_sequence): Check that key is an integer
1719 before comparing it with quit_char.
1720 (add_command_key): Use larger_vector.
1721 (read_char_x_menu_prompt): Instead of converting symbol and
1722 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1723 which cannot be confused with valid events.
5e1f85e0
GM
1724 (read_char): When reading from Vunread_command_events, check for
1725 events of the form (EVENT . disabled) instead of
1726 (EVENT . nil).
1727
18f9986a
GM
1728 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1729 a float, determine the max height from the frame's height.
1730
fbc7f2a6
GM
17312001-08-02 Gerd Moellmann <gerd@gnu.org>
1732
1733 * xdisp.c (redisplay_internal): Take message_cleared_p into
1734 account only if minibuf_level == 0.
1735
81b1a79d
GM
17362001-08-01 Gerd Moellmann <gerd@gnu.org>
1737
e5c60873
GM
1738 * xdisp.c (redisplay_internal): Add a check for the last
1739 displayed message.
3452efc2 1740
6e019995
GM
1741 * xdisp.c (message_cleared_p): New variable.
1742 (clear_message): Set message_cleared_p when clearing the current
1743 message.
1744 (redisplay_internal): Look at message_cleared_p to capture
1745 the case that the echo area should be cleared.
1746
308a74d8
GM
1747 * keyboard.c (command_loop_1): Fix spelling of
1748 resize_echo_area_exactly.
1749
3452efc2 1750 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
1751
1752 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
1753
81b1a79d
GM
1754 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
1755 current matrix when the window gets smaller.
1756
ada329e6
EZ
17572001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
1758
1759 * print.c (strout): Cast the character passed to insert_char to
1760 unsigned char, to avoid sign extension when it is promoted to int.
1761
ed86208c
GM
17622001-07-31 Gerd Moellmann <gerd@gnu.org>
1763
1764 * fileio.c (Finsert_file_contents): Don't treat a return value
1765 of 0 from emacs_read as an IO error.
1766
6594ac22
GM
17672001-07-30 Gerd Moellmann <gerd@gnu.org>
1768
cef68af5
GM
1769 * keyboard.c (abs): New macro.
1770 (double_click_fuzz): New variable.
1771 (make_lispy_event): Use it to determine what makes a double-click.
1772 (syms_of_keyboard): DEFVAR_INT it.
1773
6594ac22
GM
1774 * xmenu.c (set_frame_menubar): Take into account that
1775 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1776 <raeburn@gnu.org>.
1777
75c5350a
GM
17782001-07-27 Gerd Moellmann <gerd@gnu.org>
1779
1780 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
1781
1782 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
1783 of row's visible height.
1784
1785 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
1786 deal with the first overlay string having an image `display' property.
1787 (try_window_reusing_current_matrix, compute_line_metrics):
1788 Fix computation of row's visible height for the case that part of the
75c5350a
GM
1789 row is invisible above and part of the row is at the same time
1790 invisible below the window.
1791
ac49effe
GM
17922001-07-26 Gerd Moellmann <gerd@gnu.org>
1793
1794 * xfns.c (x-show-tip): Doc fix.
3452efc2 1795
ac49effe
GM
1796 * xfns.c (Vx_max_tooltip_size): New variable.
1797 (syms_of_xfns): DEFVAR_LISP it.
1798 (Fx_show_tip): Set frame's window_width to the width of the
1799 window. Use a maximum tooltip size specified by
1800 Vx_max_tooltip_size, if that has valid contents.
1801 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 1802
8c3b00cb
AI
18032001-07-26 Andrew Innes <andrewi@gnu.org>
1804
1805 * w32term.c (x_display_list): New variable.
1806 (w32_term_init): Set it.
1807
1808 * w32term.h (x_display_list): New extern.
1809
16098288
GM
18102001-07-26 Gerd Moellmann <gerd@gnu.org>
1811
1812 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
1813 is non-nil, instead of when redisplaying_p is non-zero.
1814 See comment there.
16098288
GM
1815 (mark_window_display_accurate_1): Add an assertion.
1816
64c5be50
GM
18172001-07-25 Gerd Moellmann <gerd@gnu.org>
1818
e743f599
GM
1819 * dispextern.h (struct it): Increase size of ctl_chars to 16.
1820
563b384d
GM
1821 * xfns.c (Fx_file_dialog): Block/unblock input while processing
1822 events so that we get a chance of processing expose events.
1823
64c5be50
GM
1824 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
1825
296808a5
GM
18262001-07-24 Gerd Moellmann <gerd@gnu.org>
1827
1828 * xfns.c (valid_image_p): Protect better against invalid image
1829 specifications. Previous code could signal an error.
1830
5247262a
GM
18312001-07-23 Gerd Moellmann <gerd@gnu.org>
1832
3452efc2 1833 * indent.c (current_column): Fix column computation in the
f1004faf
GM
1834 presence of display table entries.
1835 (current_column_1, Fmove_to_column, compute_motion): Likewise.
1836
dd42b31a
GM
1837 * dispnew.c (adjust_glyph_matrix): In the optimization for
1838 windows whose height has changed, use the new window height
1839 to compute which rows to invalidate.
1840
9e5a7f2a
GM
1841 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
1842 (MAX_10_EXP): New macro.
1843 (Fformat): Use it.
1844
5247262a
GM
1845 * coding.c (code_convert_region): Handle the multibyte case if
1846 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
1847
177ab8ce
GM
18482001-07-20 Gerd Moellmann <gerd@gnu.org>
1849
6e07c0a5
GM
1850 * dispextern.h (struct face): Change type of `stipple' to
1851 int; it's an ID.
1852
177ab8ce
GM
1853 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
1854
b5b80599
GM
18552001-07-19 Gerd Moellmann <gerd@gnu.org>
1856
4e2a256b
GM
1857 * dispnew.c (update_window): Don't set the cursor at the end
1858 of the update if display update has been paused.
1859
3452efc2 1860 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 1861
c1fd9232
KR
18622001-07-18 Ken Raeburn <raeburn@gnu.org>
1863
1864 * fns.c (Fset_char_table_default): Check that a charset is defined
1865 before checking its dimension.
1866
928a85c1
KR
18672001-07-17 Ken Raeburn <raeburn@gnu.org>
1868
1869 * coding.c (setup_coding_system): Don't do any designation based
1870 on reg_bits if charset is not yet defined.
1871
fb4c6c96 1872 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
1873 pointer, using eassert.
1874
de11c1ea
GM
18752001-07-17 Gerd Moellmann <gerd@gnu.org>
1876
3452efc2
SM
1877 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
1878 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 1879
467f1209
GM
18802001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
1881
1882 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
1883
c3d6be34
GM
18842001-07-16 Gerd Moellmann <gerd@gnu.org>
1885
c1d61a7d
GM
1886 * fileio.c (unwind_read): Function removed.
1887 (read_non_regular, read_non_regular_quit): New functions.
1888 (Finsert_file_contents): When reading from non-regular files,
1889 arrange to catch a `quit' and terminate the loop. Rearrange
1890 code so that a `quit' when reading from a regular file doesn't
1891 insert text in the buffer.
1892
c3d6be34
GM
1893 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
1894 Clear faces afterwards.
1895 (clear_font_table): Take a x_display_info parameter. Don't free
1896 fonts being the default font of any frame on the given display.
1897
e06aa1f9
GM
18982001-07-13 Gerd Moellmann <gerd@gnu.org>
1899
1900 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
1901 instead of CHAR_STRING which can signal an error.
1902
1903 * charset.c (char_to_string_1): Extracted from char_to_string.
1904 Return -1 instead of signaling an error.
1905 (char_to_string): Use it.
1906
1907 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
1908
176c92e6
SM
19092001-07-12 Stefan Monnier <monnier@cs.yale.edu>
1910
1911 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
1912 is t, don't try to append anything to it.
1913
1c56232f
EZ
19142001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
1915
1916 * dired.c (file_name_completion): Pass dp->d_name to
1917 Fstring_match, not elt, which is always nil here.
1918
1d2b2268
GM
19192001-07-12 Gerd Moellmann <gerd@gnu.org>
1920
1921 * xselect.c (x_decline_selection_request): Handle errors
1922 caused by receivers that have vanished.
1923
1924 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
1925 ignoring events on foreign windows in #if 0. Always dispatch
1926 the event after checking it with x_handle_property_notify.
1927
1928 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
1929 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
1930 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
1931 (toplevel): Add prototypes for file-local functions.
1932 (x_atom_to_symbol): Remove DPYINFO parameter.
1933
fe5a0162
SM
19342001-07-11 Stefan Monnier <monnier@cs.yale.edu>
1935
1936 * w32menu.c (menubar_selection_callback, w32_menu_show):
1937 Initialize `entry' to nil.
1938 (w32_dialog_show): Remove unused `save_wv' variable.
1939 (name_is_separator): Recognize "--:foo" and "--foo-bar".
1940
a777242c
GM
19412001-07-11 Gerd Moellmann <gerd@gnu.org>
1942
8ee5b6a3
GM
1943 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
1944
d0e2444e
GM
1945 * fileio.c (unwind_read): Print a message when discarding inserted
1946 text or switching the buffer to unibyte. Change parameter.
1947 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 1948
a777242c
GM
1949 * fileio.c (unwind_read): New function.
1950 (Finsert_file_contents): Record it as unwind-function for
1951 the case that reading is interrupted by C-g.
1952
ae794295
GM
19532001-07-10 Gerd Moellmann <gerd@gnu.org>
1954
fe5a0162 1955 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
1956 update when scrolling_window returns 0.
1957
6b05fae3
GM
1958 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
1959
1960 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 1961 for the case that x_decode_color signals an error.
6b05fae3 1962
ae794295
GM
1963 * xdisp.c (add_to_log): Do nothing if called asynchronously.
1964
bb6e8cee
GM
19652001-07-09 Gerd Moellmann <gerd@gnu.org>
1966
1967 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
1968 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
1969 around ioctls.
1970
36b40a8a
EZ
19712001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
1972
24b97d4b
EZ
1973 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
1974 doc string line for dos-timezone-offset.
1975
36b40a8a
EZ
1976 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
1977 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
1978 (syms_of_msdos): Add \n\ at the end of a line in the doc string
1979 line for dos-unsupported-char-glyph.
36b40a8a
EZ
1980
1981 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
1982
0967b4b0
GM
19832001-07-05 Gerd Moellmann <gerd@gnu.org>
1984
f25cfe53
GM
1985 * sound.c: Include Emacs' header files with #include "...".
1986
0967b4b0
GM
1987 * eval.c (specbind): Additionally record the buffer that was
1988 current when a buffer-local or frame-local variable was bound.
1989
c347a1c3
GM
19902001-07-04 Gerd Moellmann <gerd@gnu.org>
1991
1992 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
1993 to unibyte characters in unibyte buffers.
1994
6332ca8a
GM
19952001-07-03 Gerd Moellmann <gerd@gnu.org>
1996
38472d44
GM
1997 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1998 the frame on the binding stack. Change format of entries for
1999 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2000 (unbind_to): Handle unbinding a frame-local variable.
2001
6332ca8a 2002 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2003 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2004 (dump_glyph_row): Print row's continuation_lines_width.
2005 (try_window_id): Take the shortcut if ZV is visible in the
2006 window, but there are actually no changes at ZV.
2007
63d1b174
GM
20082001-07-02 Gerd Moellmann <gerd@gnu.org>
2009
4c175203
GM
2010 * xterm.h (x_free_dpy_colors): Add prototype.
2011
2012 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2013 right number of arguments.
2014
0b54ce28
GM
2015 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2016 ($(lwlibdir)TAGS): New target.
4c175203 2017 (TAGS): Fix dependency list.
0b54ce28 2018
63d1b174
GM
2019 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2020 with input blocked.
2021
d827466c
GM
20222001-06-30 Gerd Moellmann <gerd@gnu.org>
2023
2024 * emacs.c (main): Remove extern declaration for sys_nerr, which
2025 isn't used and causes a compilation error with GCC 3.0 on
2026 FreeBSD 4.3.
2027
b5cb1ada
GM
20282001-06-27 Gerd Moellmann <gerd@gnu.org>
2029
a5d3ec3f 2030 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2031 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2032 (toplevel): Include <signal.h> and syssignal.h.
2033
b5cb1ada
GM
2034 * sound.c (vox_configure, vox_close): Turn off atimers
2035 around ioctls.
2036
d9bad487
GM
20372001-06-26 Gerd Moellmann <gerd@gnu.org>
2038
fdbb67fe
GM
2039 * keyboard.c (read_char) <non_reread>: Record the previous idle
2040 start time before calling timer_stop_idle.
2041 (read_char) <reread_first>: After processing a help-echo event,
2042 restore the previous idle start time.
2043
d9bad487
GM
2044 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2045 the start of invisible text.
2046 (setup_for_ellipsis): New function.
2047 (next_overlay_string): After all overlay strings have been
2048 processed, display an ellipsis if necessary.
2049 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2050 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2051
2052 * dispextern.h (struct iterator_stack_entry): Add member
2053 display_ellipsis_p.
2054
2b9c25e0
GM
20552001-06-25 Gerd Moellmann <gerd@gnu.org>
2056
80de57df
GM
2057 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2058 on the value of the wait-for-wm frame parameter.
2059
2060 * xterm.h (struct x_output): Add member wait_for_wm.
2061
2062 * xfns.c (Qwait_for_wm): New variable.
2063 (x_frame_parms): Add entry for `wait-for-wm".
2064 (x_set_wait_for_wm): New function.
2065 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2066 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2067
2b9c25e0
GM
2068 * xdisp.c (try_window_id) <all changes below window end>: Don't
2069 take this shortcut if ZV is visible in the window.
2070 (try_window_id): When checking for window start being in changed
2071 text, don't check that the buffer's size has changed.
2072
f772775c
RS
20732001-06-23 Richard M. Stallman <rms@gnu.org>
2074
2075 * minibuf.c (Fcompleting_read): Doc fix.
2076
fa9090b8
GM
20772001-06-19 Gerd Moellmann <gerd@gnu.org>
2078
2079 * composite.c (Ffind_composition_internal): Accept ZV
2080 and a string's end position as POS.
2081
f6f1beba
GM
20822001-06-18 Gerd Moellmann <gerd@gnu.org>
2083
2084 * composite.c (Ffind_composition_internal): Check POS
2085 for validity.
2086
0ae83348
EZ
20872001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2088
2089 * editfns.c (Fmessage_box): If the frame is not under a window
2090 system, output the message in the echo area.
2091
e4cdc335
RS
20922001-06-14 Richard M. Stallman <rms@gnu.org>
2093
2094 * xdisp.c (try_window_id): When EOB is visible, don't treat
2095 insertion at EOB as if it were "off the bottom of the screen."
2096
a55a5f3c
AI
20972001-06-11 Andrew Innes <andrewi@gnu.org>
2098
2099 * w32proc.c (create_child): Add new parameter is_gui_app.
2100 (w32_executable_type): Add new parameter is_gui_app.
2101 (sys_spawnve): Use it.
2102 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2103 SIGQUIT. This matches better how the signals are interpreted by
2104 MSVC compiled programs.
2105 (syms_of_ntproc): Update docstring.
2106
1b85dc1c
SM
21072001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2108
2109 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2110 well otherwise note_mouse_highlight might optimize away highlighting
2111 if we pass over that same overlay again.
2112
b75f8eab
EZ
21132001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2114
2115 * lread.c (Fload): Document that the argument is run via
2116 substitute-in-file-name.
2117
94843cc1
GM
21182001-05-31 Gerd Moellmann <gerd@gnu.org>
2119
b14659e6
GM
2120 * Makefile.in (bootstrap-doc): New target.
2121 (bootstrap-emacs): Depend on it.
2122
0894672f
GM
2123 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2124 auto-save-list-file-name when shutting down Emacs, because
2125 creating the directory might signal an error, and leaves
2126 Emacs in a strange state.
2127
94843cc1
GM
2128 * term.c: (tty_cursor_hidden): New variable.
2129 (update_begin): Don't call tty_hide_cursor. Clean up.
2130 (update_end, set_terminal_window, set_scroll_region): Clean up.
2131 (ring_bell, reset_terminal_modes): Clean up.
2132 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2133 on tty_cursor_hidden.
2134 (write_glyphs): Call tty_hide_cursor.
2135
db3a49a6
SM
21362001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2137
2138 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2139
8bd189fb
GM
21402001-05-30 Gerd Moellmann <gerd@gnu.org>
2141
6f1be3b9
GM
2142 * xfns.c (enum image_value_type): New enumerator
2143 IMAGE_STRING_OR_NIL_VALUE.
2144 (parse_image_spec): Handle it.
2145 (xbm_format, pbm_format): Use it for :foreground and :background.
2146 (xbm_load, pbm_load): Check for nil color names.
2147
8bd189fb
GM
2148 * xterm.c (note_mouse_highlight): If an overlapping overlay
2149 exists, but we find that we highlight the same overlay as before,
2150 don't do the highlighting again.
2151
7bdba03c
GM
21522001-05-29 Gerd Moellmann <gerd@gnu.org>
2153
4c329aa8
GM
2154 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2155 Protect unibyte strings created by replacing their multibyte
2156 equivalents in menu_items.
2157
e15e2828
GM
2158 * keymap.c (Fsingle_key_description): NUL-terminate the string
2159 buffer before calling build_string.
2160
7bdba03c
GM
2161 * callproc.c (Fcall_process): Deal with decode_coding returning
2162 CODING_FINISH_INCONSISTENT_EOL.
2163
89c8dc6c
GM
21642001-05-28 Gerd Moellmann <gerd@gnu.org>
2165
db3a49a6 2166 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2167 an item's name with its key description in case the description
2168 is a multibyte string.
2169
2170 * keymap.c (Fsingle_key_description): Create a multibyte string
2171 only if necessary.
2172
eb04d6cd
GM
2173 * macros.c (Fstart_kbd_macro): Doc fix.
2174
8bd6307f
GM
2175 * xterm.c (cursor_in_mouse_face_p): New function.
2176 (x_draw_stretch_glyph_string): Use it to choose a different GC
2177 when drawing a cursor within highlighted text.
2178
e26c4089
GM
2179 * editfns.c (char_property_eq): Put in #if 0.
2180
2181 * indent.c (string_display_width): Put in #if 0.
2182
2183 * lread.c (Fload): Remove unused label.
2184
89c8dc6c
GM
2185 * termcap.c (speeds): Put in #if 0.
2186
9a1211f2
GM
21872001-05-18 Gerd Moellmann <gerd@gnu.org>
2188
29148a3f
GM
2189 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2190
9a1211f2
GM
2191 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2192 transformation matrix by 10.
2193
09393d07
GM
21942001-05-16 Gerd Moellmann <gerd@gnu.org>
2195
2196 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2197 only if it's equal to the former foreground pixel color.
db3a49a6 2198 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2199 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2200
460e6bae
GM
22012001-05-16 Dave Love <fx@gnu.org>
2202
2203 * insdel.c (signal_before_change, signal_after_change): Consider a
2204 local change hook which changes the buffer.
99c78ce8
GM
2205
2206 * process.c (read_process_output): Don't call signal_after_change
2207 and update_compositions after insert_from_string_before_markers.
2208
dbcf3c03
GM
22092001-05-16 Gerd Moellmann <gerd@gnu.org>
2210
a90b3d3c
GM
2211 * xfaces.c (split_font_name): Use the right field when
2212 checking for `[...]' syntax.
2213
1b7818b4
GM
2214 * buffer.c (copy_overlays): New function.
2215 (clone_per_buffer_values): Use it.
2216
2217 * buffer.h (OVERLAY_PLIST): New macro.
2218
9bae8781
GM
2219 * keymap.c (Fsingle_key_description): Replace a build_string with
2220 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2221
dbcf3c03
GM
2222 * fontset.c (Ffontset_info): Check that face is non-null
2223 before accessing its fields.
2224
8a1ae4dd
GM
22252001-05-15 Gerd Moellmann <gerd@gnu.org>
2226
18a0a39e
GM
2227 * keyboard.c (read_key_sequence): Prevent generating a fake
2228 prefix key twice.
2229
e335b66a
GM
2230 * xfaces.c (split_font_name): Handle `[...]' for the right
2231 font name fields.
2232
8a1ae4dd
GM
2233 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2234 of CCL_STAT_INVALID_CMD.
2235
3cf80731
SM
22362001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2237
33568849
SM
2238 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2239 in <var> has no default value yet.
2240
3cf80731
SM
2241 * xfaces.c (try_alternative_families): First try the FAMILY.
2242 And if nothing is found in the end, try again with scalable fonts.
2243 (try_font_list): Let try_alternative_families do a bit more of
2244 the work. Only use FAMILY if it is not nil.
2245 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2246
933b0249
GM
22472001-05-14 Gerd Moellmann <gerd@gnu.org>
2248
58e5af83
GM
2249 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2250 pointer shape when show_mouse_face has already done it.
33568849 2251
58e5af83 2252 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2253 full-width rows.
2254
7b16a6bf
GM
2255 * xfaces.c (split_font_name): Make sure to leave the loop
2256 with the right value of `i'.
3cf80731 2257
933b0249
GM
2258 * xfaces.c (split_font_name): Handle matrix transformations
2259 in the pixel and point size fields of XLFD font names.
2260 (xlfd_point_size): Likewise.
2261
dddcbf00
EZ
22622001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2263
3cf80731 2264 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2265 (x_to_w32_font): Add prototype.
2266
7689ef0b
EZ
2267 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2268 redefining, to avoid compiler warnings.
2269
e7c15bba
EZ
2270 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2271
dddcbf00
EZ
2272 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2273 (w32_get_bdf_glyph): Cast between unsigned char and char when
2274 passing arguments to subroutines, to shut up compiler warnings.
2275 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2276 GET_HEX_VAL.
2277
2278 * xfaces.c: Include keyboard.h before frame.h, not after it.
2279
2280 * widget.c: Include keyboard.h before frame.h.
2281
2282 * w32term.h (struct image, struct face): Forward declaration, to
2283 avoid compiler warnings.
2284
7bd2d083
GM
22852001-05-11 Gerd Moellmann <gerd@gnu.org>
2286
47e72862
GM
2287 * keyboard.c (read_key_sequence): Don't modify events when
2288 generating fake prefix keys (mode-line, scroll-bar, ...) since
2289 this prevents proper processing of such events when pushed back
2290 into unread-command-events.
2291
dd5f324b
GM
2292 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2293 actually redrawn. Make the function static.
2294 (note_mouse_highlight): Fix a case where the mouse cursor
2295 was changed back to the text cursor.
2296
2297 * xterm.h (clear_mouse_face): Remove prototype.
2298
d88a79d4
GM
2299 * xdisp.c (try_window_id): Fix the fix and set the right
2300 window_end_vpos.
2301
2302 * xdisp.c (try_window_id): Fix computation of window end in the
2303 case that lines were deleted at the end of the window. Add some
2304 more debug_method_adds.
0416532f 2305
7bd2d083
GM
2306 * xfaces.c (try_alternative_families): New function.
2307 (try_font_list): Use it. If ATTRS specifies a family, check
2308 fonts from that family first.
2309 (choose_face_font): Remove code setting the family part of
2310 the pattern to nil.
2311
23fca891
GM
23122001-05-10 Gerd Moellmann <gerd@gnu.org>
2313
ff9aa2ca
GM
2314 * xdisp.c (try_window_id): Fix case of all changes before
2315 the window start.
7b2654b5 2316
23fca891
GM
2317 * xdisp.c (try_window_id): Add some xasserts.
2318
e9726794
GM
23192001-05-09 Gerd Moellmann <gerd@gnu.org>
2320
2321 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2322
9e53a675
GM
23232001-05-09 Dave Love <fx@gnu.org>
2324
2325 * xdisp.c (GIVE_UP): Fix for K&R C.
2326
0d487c52
GM
23272001-05-09 Gerd Moellmann <gerd@gnu.org>
2328
fe88d421
GM
2329 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2330
0d487c52
GM
2331 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2332 back to the text cursor shape without need.
2333
1e9fc92e
GM
23342001-05-07 Gerd Moellmann <gerd@gnu.org>
2335
a2a6232e
GM
2336 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2337
2338 * dispextern.h (inverse_video): Declare extern.
2339
1e9fc92e
GM
2340 * keyboard.c (delete_kboard): Handle the case that selected_frame
2341 has been deleted in the course of x_connection_closed.
2342
12949a7f
EZ
23432001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2344
7b2654b5
SM
2345 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2346 Fix the change from 2001-04-30.
12949a7f 2347
2fa2f461
GM
23482001-05-03 Gerd Moellmann <gerd@gnu.org>
2349
a779d213
GM
2350 * xfns.c (file_dialog_unmap_cb): New function.
2351 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2352 where a dialog is closed via the window manager.
2353
7b2654b5 2354 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2355 the window start or all below the window end mostly rewritten.
2356 (redisplay_window): Move the tests if try_window_id is
2357 applicable to try_window_id.
2358 (GIVE_UP): New macro.
2359
3356df63
GM
23602001-05-02 Gerd Moellmann <gerd@gnu.org>
2361
a39202f6 2362 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2363 currently being updated, mark the frame garbaged.
2364 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2365 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2366
3356df63
GM
2367 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2368 again if it has already been drawn.
2369
a9d2fd1d
SM
23702001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2371
2372 * syntax.c (update_syntax_table): Check that oldi has the same
2373 properties as old_prop before deciding not to invalidate.
2374
c95fc5f1
GM
23752001-04-30 Gerd Moellmann <gerd@gnu.org>
2376
a9793e45
GM
2377 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2378 read-only text that is so because of text properties.
2379
c95fc5f1 2380 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2381 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2382 windows that are components of a Lucid menu bar.
2383
5a5d9185
GM
23842001-04-27 Gerd Moellmann <gerd@gnu.org>
2385
2386 * term.c (turn_on_face): Fix reverse video handling on terminals
2387 that don't support colors.
2388
ba973f7a
GM
23892001-04-26 Gerd Moellmann <gerd@gnu.org>
2390
2391 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2392 a non-buffer.
2393
8c56a983
GM
23942001-04-25 Gerd Moellmann <gerd@gnu.org>
2395
a728644c
GM
2396 * term.c (toggle_highlight): New function.
2397 (turn_on_face): Change handling of reverse video.
2398
7b2654b5
SM
2399 * process.c (wait_reading_process_input):
2400 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2401
bfd8410f
GM
2402 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2403 of the number of overlays to check.
2404
be2488ca
GM
2405 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2406
8c56a983
GM
2407 * xdisp.c (try_window_id): Fix a case where window_end_pos
2408 and window_end_bytepos were not adjusted.
2409
522d42f7
GM
24102001-04-23 Gerd Moellmann <gerd@gnu.org>
2411
2412 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2413 zero instead of -1.
2414
78c1afb6
EZ
24152001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2416
a9d2fd1d
SM
2417 * process.c (wait_reading_process_input) [!subprocesses]:
2418 Don't reference waiting_for_user_input_p, it's not defined in the
2419 branch without async subprocesses support.
78c1afb6 2420
a2fab450
GM
24212001-04-19 Gerd Moellmann <gerd@gnu.org>
2422
a122a38e
GM
2423 * keyboard.c (delete_kboard): Prevent a dangling reference
2424 from current_kboard to KB, which is freed.
2425
a9d2fd1d
SM
2426 * process.c (wait_reading_process_input):
2427 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
2428 read_key_sequence aware of buffer changes from under it.
2429
0f8d6dc7
GM
24302001-04-18 Gerd Moellmann <gerd@gnu.org>
2431
eeffb293
GM
2432 * xfaces.c (Qscalable_fonts_allowed): New variable.
2433 (realizing_basic_faces_p): Removed.
2fa2f461
GM
2434 (x_face_list_fonts): Special handling for realizing_basic_faces_p
2435 removed.
eeffb293 2436 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
2437 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
2438 for scalable-fonts-allowed to t.
eeffb293 2439
0f8d6dc7
GM
2440 * fileio.c (Finsert_file_contents): If the file size returned from
2441 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 2442 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 2443
eec2d1de
EZ
24442001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
2445
2446 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
2447 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
2448 (__memalign_hook): Make the two prototypes consistent.
2449
f4f480bd
GM
24502001-04-17 Gerd Moellmann <gerd@gnu.org>
2451
2452 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
2453 matrix of mini-windows.
2454
52283633
SM
24552001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2456
2457 * intervals.c (find_interval): Don't rebalance during signal handling.
2458
ec2423c9
GM
24592001-04-11 Gerd Moellmann <gerd@gnu.org>
2460
30cb0001 2461 * fns.c: Include blockinput.h.
52283633 2462
ec2423c9
GM
2463 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
2464
719d83ad
GM
24652001-04-10 Gerd Moellmann <gerd@gnu.org>
2466
60f8d735
GM
2467 * fns.c (Fcompare_strings): Fix return values.
2468
afffeb57
GM
2469 * window.c (window_scroll): Change the meaning of N to mean
2470 N screen-fulls or N lines.
2471 (window_scroll_pixel_based, window_scroll_line_based)
2472 (scroll_command, Fscroll_other_window): Change accordingly.
2473
52283633
SM
2474 * window.c (window_scroll_pixel_based, Frecenter):
2475 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2476 height of the window.
2477
2478 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2479 instead of using it.last_visible_y for the height of the window.
52283633 2480
719d83ad 2481 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2482 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2483
2484 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2485 able to write to hidden and system files. From Dan Holmsand
2486 <dan@eyebee.com>.
719d83ad 2487
8ddf3ee1
GM
2488 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2489 Holmsand <dan@eyebee.com>.
719d83ad 2490
522ed7fb
GM
24912001-04-09 Gerd Moellmann <gerd@gnu.org>
2492
9170e5d4
GM
2493 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2494
522ed7fb
GM
2495 * window.c (window_internal_height): Return 1 less if the
2496 window has a header line.
2497
2498 * xdisp.c (try_window_id): When scrolling on a terminal, take
2499 the change of window_internal_height into account.
2500
ceeb3d7d
EZ
25012001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2502
2503 * gmalloc.c (align): If the argument SIZE would overflow
2504 __malloc_ptrdiff_t, fail right away.
2505
63685b9d
GM
25062001-04-06 Gerd Moellmann <gerd@gnu.org>
2507
2508 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2509 Make sure the tooltip is completely visible.
2510 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2511
2512 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2513
2514 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2515
3ffb33bb
DL
25162001-04-06 Dave Love <fx@gnu.org>
2517
52283633
SM
2518 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2519 Fix test of `from'.
3ffb33bb 2520
869fb12c
GM
25212001-04-06 Gerd Moellmann <gerd@gnu.org>
2522
52283633 2523 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2524
869fb12c
GM
2525 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2526
441bf856
GM
25272001-04-05 Gerd Moellmann <gerd@gnu.org>
2528
4d664b04
GM
2529 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2530
52283633 2531 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2532
30ca89f5
GM
2533 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2534 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2535
2536 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2537 shell widget's position only if it is non-null.
2538
52283633
SM
2539 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2540 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2541
81a81c0f
GM
2542 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2543 FILENAME to bring it in synch with the documentation.
2544
441bf856
GM
2545 * xfaces.c (realizing_basic_faces_p): Renamed from
2546 realize_default_face_p.
2547 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2548 (realize_default_face): Don't set the flag.
2549
702a1e8e
GM
25502001-04-04 Gerd Moellmann <gerd@gnu.org>
2551
1013f4e3
GM
2552 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2553
52283633
SM
2554 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2555
1013f4e3
GM
2556 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2557 the buffer that was used for echoing.
2558
702a1e8e
GM
2559 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2560 (first_font_matching): Removed unused function.
2561 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2562 (may_use_scalable_font_p): Remove parameter FONT; rename
2563 parameter NAME to FONT.
2564 (x_face_list_fonts): Fix missing bounds check.
2565 (realizing_default_face_p): New variable.
2566 (realize_default_face): Set and clear that flag.
2567 (x_face_list_fonts): When called during the realization of the
2568 default face, and no matching fonts are found when ignoring
2569 scalable fonts and fonts matching a regexp from
2570 face-ignored-fonts, try without ignoring fonts.
2571
f9dbcda4
GM
25722001-04-03 Gerd Moellmann <gerd@gnu.org>
2573
ad18ffb1
GM
2574 * xfns.c (postprocess_image): New function.
2575 (lookup_image): Call it for all image types except PostScript.
2576 (x_kill_gs_process): Call postprocess_image.
2577
f9dbcda4
GM
2578 * xterm.c (x_use_underline_position_properties): New variable.
2579 (x_draw_glyph_string): Use it.
2580 (syms_of_xterm): DEFVAR_BOOL it.
2581
651f03b6
GM
25822001-04-02 Gerd Moellmann <gerd@gnu.org>
2583
2584 * xterm.c (x_alloc_nearest_color_1): New function.
2585 (x_alloc_nearest_color): Use it.
2586 (x_color_cells): Take a Display as argument, instead of a frame.
2587 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2588 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2589 (x_initialize): Register cvt_string_to_pixel as resource converter
2590 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2591
73d75a62
GM
25922001-03-30 Gerd Moellmann <gerd@gnu.org>
2593
b2046df8
GM
2594 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2595 (set_iterator_to_next): If a string from a display property ends,
2596 consider the case that this might also be the end of an
2597 overlay string having the display property.
2598
52283633 2599 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 2600
87d8eba4
GM
2601 * xdisp.c (reseat_to_string): Undo last change.
2602
73d75a62
GM
2603 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
2604 matrix of a window when the header line changes, when
2605 new rows are allocated, or when the width changes.
2606
911a2406
EZ
26072001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
2608
52283633 2609 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 2610
aea51abe
EZ
26112001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
2612
2613 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
2614 deprecated.
2615
176bc847
GM
26162001-03-29 Gerd Moellmann <gerd@gnu.org>
2617
ed31fabf
GM
2618 * data.c (Fsubr_interactive_form): New function.
2619 (syms_of_data): Defsubr it.
2620
176bc847
GM
2621 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
2622 (live_float_p, live_misc_p): Return 1 only if the offset of the
2623 pointer in its block is >= 0.
2624
e59d0e9d
GM
26252001-03-28 Paul Eggert <eggert@twinsun.com>
2626
2627 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
2628 microseconds calcuation. Avoid double-rounding problem.
2629 In doc string, warn that the result is approximate.
2630
f827b862
GM
26312001-03-28 Gerd Moellmann <gerd@gnu.org>
2632
30a3f61c
GM
2633 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
2634 bind `inhibit-eval-during-redisplay' to t.
2635
2636 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
2637
2638 * xdisp.c (inhibit_eval_during_redisplay)
2639 (Qinhibit_eval_during_redisplay): New variables.
2640 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
2641 don't eval, return nil instead.
2642 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
2643 Initialize Qinhibit_eval_during_redisplay.
2644
e719f5ae
GM
2645 * xdisp.c (reseat_to_string): If STRING is multibyte, set
2646 the iterator's multibyte_p flag.
2647
deb2613a
GM
2648 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2649 instead of setting it to zero; it's incremented for each frame
2650 where the menu face is changed.
2651
52283633
SM
2652 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2653 change bottom shadow accordingly.
2654
2655 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2656 intersections here.
2657 (expose_window): Do it here instead.
52283633 2658 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2659
f827b862
GM
2660 * bytecode.c (BYTE_CODE_QUIT): New macro.
2661 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2662
4bde0ebb
GM
26632001-03-27 Gerd Moellmann <gerd@gnu.org>
2664
607ec83c
GM
2665 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2666 Give up if matrix starts in an ellipsis.
2667 (init_from_display_pos): Do nothing if POS doesn't specify
2668 a dpvec_index but the iterator has such a position.
2669
0245398f
GM
2670 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2671
aba25348
GM
2672 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2673 x/y position is (0, 0) after destroying the menu bar, restore
2674 its original position.
2675
4bde0ebb
GM
2676 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2677 (init_from_display_pos): Use it.
2678 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2679
8cdb267e
GM
26802001-03-26 Gerd Moellmann <gerd@gnu.org>
2681
2682 * xdisp.c (try_window_id): Undo last change.
2683
9948db79
EZ
26842001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2685
2686 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2687
2688 * buffer.c (syms_of_buffer): Doc fix.
2689
2eddf899
GM
26902001-03-26 Gerd Moellmann <gerd@gnu.org>
2691
2692 * xfaces.c (x_update_menu_appearance): Use local variable
2693 popup_path for setting font resources.
2694
6c145d35
EZ
26952001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2696
6a65b1b5
EZ
2697 * frame.c (Fframe_list): Don't reference tip_frame if
2698 HAVE_WINDOW_SYSTEM is not defined.
2699
6c145d35
EZ
2700 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2701 <wl@gnu.org>.
2702
d74c1900
GM
27032001-03-25 Gerd Moellmann <gerd@gnu.org>
2704
20fbd925
GM
2705 * xdisp.c (init_from_display_pos): Test invisible property
2706 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2707
927c5b3b
GM
2708 * xdisp.c (redisplay_internal) <update one window>: Make sure
2709 last_arrow_position and last_arrow_string are set.
2710
d74c1900
GM
2711 * frame.c (Fframe_list): Don't return a tooltip frame.
2712
091f8878
GM
27132001-03-23 Gerd Moellmann <gerd@gnu.org>
2714
52283633
SM
2715 * xdisp.c (mark_window_display_accurate_1): New function,
2716 extracted from mark_window_display_accurate.
2717 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2718 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2719 (mark_window_display_accurate): Use it.
2720 (redisplay_internal): Use it for the selected window.
2721 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2722 for the selected frame.
2723
ac90c44f
GM
2724 * xdisp.c Use make_number, for readability.
2725 (try_window_id): Disable rows below the window end.
2726 (try_window_reusing_current_matrix): Use cursor_row_p.
2727 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2728 of rows.
2729 (init_from_display_pos): If POS specifies a position in a display
2730 vector, maybe get the iterator set up for that ellipsis.
43c09969 2731
091f8878
GM
2732 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2733
991786dd
EZ
27342001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2735
2736 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2737
6c29b43c
GM
27382001-03-23 Gerd Moellmann <gerd@gnu.org>
2739
2740 * xfaces.c (x_update_menu_appearance): Use a different path
2741 for Lucid popup menus.
2742
d8731202
SM
27432001-03-22 Stefan Monnier <monnier@cs.yale.edu>
2744
2745 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
2746
2747 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
2748 (string_buffer_position): Use `make_number'.
2749
f61a541b
GM
27502001-03-22 Gerd Moellmann <gerd@gnu.org>
2751
3c9e997b
GM
2752 * xfaces.c (x_update_menu_appearance): Renamed from
2753 x_set_menu_face_resources. Use different resources for popups.
2754
2755 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
2756 (GC_CHECK_STRING_BYTES): Don't define.
2757
364cd450
GM
2758 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
2759 Removed, together with subroutines.
2760 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 2761 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 2762
d8731202
SM
2763 * dispextern.h (x_set_menu_resources_from_menu_face):
2764 Remove prototype.
364cd450 2765
d8731202 2766 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
2767 Remove calls to x_set_menu_resources_from_menu_face.
2768
d8731202
SM
2769 * xfaces.c (xm_set_menu_resources_from_menu_face):
2770 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
2771
2772 * xmenu.c: Include widget.h.
2773 (single_submenu): Return int. Some cleanup.
2774 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
2775
140330de
GM
27762001-03-21 Gerd Moellmann <gerd@gnu.org>
2777
2778 * xterm.c (x_update_window_end): Handle overwritten mouse face
2779 also for tool bar windows.
2780 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2781 DRAW is DRAW_IMAGE_RAISED.
2782
1741905c
GM
27832001-03-20 Gerd Moellmann <gerd@gnu.org>
2784
fa88947e
GM
2785 * print.c (syms_of_print): Doc fixes.
2786
1741905c
GM
2787 * fns.c (Fmd5): Doc fix.
2788
ade0bee1
GM
27892001-03-19 Gerd Moellmann <gerd@gnu.org>
2790
357e7376
GM
2791 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2792 Clear area of the frame not occupied by the scroll bar.
2793
c2c097cc
GM
2794 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
2795 tip frame's root window buffer to *tip* right after creating
2796 the frame.
2797
ade0bee1
GM
2798 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
2799 is an integer don't have to be for space characters.
2800
88c6e37e
GM
28012001-03-16 Gerd Moellmann <gerd@gnu.org>
2802
52283633
SM
2803 * indent.c (current_column, current_column_1, Fmove_to_column)
2804 (compute_motion): Handle characters from display vectors differently.
88c6e37e 2805
c62eed76
KH
28062001-03-15 Kenichi Handa <handa@etl.go.jp>
2807
2808 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
2809 drawing glyph string.
2810
c899e7e6
GM
28112001-03-15 Gerd Moellmann <gerd@gnu.org>
2812
d0bbfc99
GM
2813 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
2814 (command_loop_1): Undo last change.
2815
03d1a189
GM
2816 * xterm.c (fast_find_position): Return the correct vpos.
2817
c899e7e6 2818 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 2819 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
2820 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
2821 Call store_symval_forwarding with BUF null.
2822 (set_internal): Call store_symval_forwarding with the BUF
2823 parameter passed to set_internal. Formerly, the value was always
2824 set in the current buffer; the buffer recorded in specbind for
2825 this case wasn't used.
2826 (arith_driver): Reindent.
2827
52283633
SM
2828 * buffer.c (swap_out_buffer_local_variables):
2829 Call store_symval_forwarding with BUF null.
c899e7e6
GM
2830
2831 * lisp.h (store_symval_forwarding): Change prototype.
2832
2833 * eval.c (specbind): Call store_symval_forwarding with BUF null.
2834
57ac7c81
GM
28352001-03-14 Gerd Moellmann <gerd@gnu.org>
2836
697617d9
GM
2837 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
2838 FOR_DELETION. Avoid resizing the mini-window of the selected
2839 frame if FOR_DELETION is set.
2840 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
2841 (Fmake_frame_invisible): Change calls to do_switch_frame for new
2842 signature.
2843
2844 * window.c (Fset_window_configuration): Change call to
2845 do_switch_frame to new format.
2846
2847 * keyboard.c (quit_throw_to_read_char): Change call to
2848 do_switch_frame to new format.
2849
2850 * lisp.h (do_switch_frame): Change prototype.
2851
819dce0f
GM
2852 * frame.c (Fframe_parameters): In the `buffer-list' frame
2853 parameter, store the buffer list of FRAME, not the list of the
2854 selected frame.
2855
57ac7c81
GM
2856 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
2857 box just because the glyph row's full_width_p flag is set.
2858
65008712
GM
28592001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
2860
2861 * xdisp.c (highlight_trailing_whitespace): On character terminals,
2862 skip the padding blanks inserted in extend_face_to_end_of_line,
2863 before checking for trailing whitespace.
2864
159cf431
GM
28652001-03-13 Gerd Moellmann <gerd@gnu.org>
2866
52283633 2867 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
2868 Remove special handling for LessTif/Motif.
2869 (toplevel): Don't include Xm/Xm.h.
2870
52283633
SM
2871 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
2872 Remove workaround code for LessTif; it doesn't work anymore.
2873
2564ea1b 2874 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 2875 Xm/ScrollBarP.h.
afcdc0a1 2876
52283633
SM
2877 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
2878 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
2879 contemporary LessTif.
2880
52283633
SM
2881 * xfaces.c (xm_set_menu_resources_from_menu_face):
2882 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 2883
159cf431
GM
2884 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
2885 removing button grabs.
2886
c6f7429a
KH
28872001-03-13 Kenichi Handa <handa@etl.go.jp>
2888
cb82d767
KH
2889 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
2890 and clip-large-size-font as obsolete.
2891
c6f7429a
KH
2892 * lread.c (read_multibyte): Check the validity of multibyte
2893 sequence. If invalid, return the first byte.
2894
760cefb5
GM
28952001-03-12 Gerd Moellmann <gerd@gnu.org>
2896
2897 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
2898 before running the command; timer functions or process
2899 filters may have set it.
2900
5141f9d0
EZ
29012001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
2902
2903 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2904 Doc fix.
2905
b6a15240
GM
29062001-03-12 Gerd Moellmann <gerd@gnu.org>
2907
2908 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
2909 to sprintf.
2910
95522746
GM
29112001-03-09 Gerd Moellmann <gerd@gnu.org>
2912
db14cfc5
GM
2913 * dispextern.h (string_buffer_position): Add prototype.
2914
52283633 2915 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
2916 (single_display_prop_string_p): New functions.
2917
2918 * xterm.c (note_mouse_highlight): If there's no help-echo on
2919 a string, look at the buffer text ``under'' it.
2920
2921 * keyboard.c (make_lispy_event): Add string info to the event,
2922 analogous to what's done on mode lines.
2923 (read_key_sequence): For a click on a string, consider `local-map'
2924 and `keymap' of that string.
2925
52283633
SM
2926 * keyboard.c (make_lispy_event, make_lispy_movement):
2927 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
2928
2929 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
2930
2931 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
2932 POS; return void.
2933
95522746
GM
2934 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
2935 flags argument to emacs_open; it seems to conflict with O_EXCL.
2936
898a399d
KH
29372001-03-09 Kenichi Handa <handa@etl.go.jp>
2938
28cd4910
KH
2939 * composite.h (struct composition): Change types of members;
2940 glyph_len to unsigned, width to unsigned short.
898a399d 2941
4cdf6a6c
AI
29422001-03-08 Andrew Innes <andrewi@gnu.org>
2943
2944 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
2945 menu titles.
2946
129004d3
GM
29472001-03-08 Gerd Moellmann <gerd@gnu.org>
2948
221dd3e7
GM
2949 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
2950 instead of nil.
2951
52283633 2952 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
2953 help-echo in strings.
2954 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2955 (fast_find_string_pos): New function.
2956
52283633
SM
2957 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
2958 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
2959
2960 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
2961 Handle `mouse-face'.
2962
2963 * dispextern.h (face_at_string_position): Change prototype.
2964
52283633 2965 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 2966
129004d3
GM
2967 * keyboard.c (make_lispy_event): Avoid generating drag events
2968 if the mouse hasn't actually moved to another buffer position.
52283633 2969
80c8ab8c
DL
29702001-03-08 Dave Love <fx@gnu.org>
2971
129004d3 2972 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 2973
989521fd
GM
29742001-03-08 Gerd Moellmann <gerd@gnu.org>
2975
2976 * process.c (Fset_process_window_size): Fix a typo.
2977
bb5c338d
KH
29782001-03-08 Kenichi Handa <handa@etl.go.jp>
2979
2980 * coding.c (detect_coding_sjis): Do more rigid check.
2981 (detect_coding_big5): Likewise.
2982 (decode_coding_sjis_big5): Likewise.
2983 (Fdetect_coding_region): Call detect_coding_system with tailing
2984 anchor byte `\0' for more rigid detection.
52283633 2985 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
2986 (Fdetect_coding_string): Likewise.
2987
8b8f9197
SM
29882001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2989
2990 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
2991 a string before extracting its data.
2992
3bdf2660
GM
29932001-03-07 Gerd Moellmann <gerd@gnu.org>
2994
2995 * window.c (Frecenter): Rewrite code handling negative values
2996 of ARG on graphical frames.
2997
29982001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2999
3000 * window.c (displayed_window_lines): If W->start is outside the
3001 accessible portion of the buffer, call start_display with BEGV or
3002 ZV instead of W->start.
3003
471f86b9
GM
30042001-03-07 Gerd Moellmann <gerd@gnu.org>
3005
2ab62c6c
GM
3006 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3007
471f86b9
GM
3008 * process.c (Fset_process_filter): Don't crash if the input
3009 file descriptor of PROCESS is closed.
3010 (Fset_process_window_size): Likewise.
3011
101922c3
GM
30122001-03-06 Kenichi Handa <handa@etl.go.jp>
3013
3014 * xterm.c (XTflash): Make the timeout of select shorter, and call
3015 select repeatedly until the desired time expires.
3016
45d051a7
GM
30172001-03-06 Gerd Moellmann <gerd@gnu.org>
3018
3019 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3020
3021 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3022
3023 * lisp.h (Vwindow_list): Declare extern.
3024
8f372c46
EZ
30252001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3026
3027 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3028
f16a7aa5
GM
30292001-03-06 Gerd Moellmann <gerd@gnu.org>
3030
157ae273
GM
3031 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3032 to detect a case where we have to highlight a different region
3033 despite not having left the currently highlighted region.
3034 Set mouse_face_overlay in the x_display_info.
45d051a7 3035 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3036
3037 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3038
3039 * buffer.c (mouse_face_overlay_overlaps): New function.
3040
3041 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3042 (Qmouse_face): Declare extern.
3043
f16a7aa5
GM
3044 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3045 if face_change_count is non-zero.
3046
827afcac
KH
30472001-03-06 Kenichi Handa <handa@etl.go.jp>
3048
3049 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3050 that the source is unibyte.
3051
14c7242e
DL
30522001-03-05 Dave Love <fx@gnu.org>
3053
827afcac 3054 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3055
c28b847b
GM
30562001-03-05 Gerd Moellmann <gerd@gnu.org>
3057
3058 * minibuf.c (read_minibuf): Clean up the binding stack if
3059 called noninteractively.
3060
b86644f2
KH
30612001-03-05 Kenichi Handa <handa@etl.go.jp>
3062
3063 * coding.c (syms_of_coding): Docstring modified.
3064
203682cc 30652001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3066
3067 * charset.c (char_to_string): If a single byte char has modifier
3068 bits that can't be reflected to the character code, ignore them
45d051a7 3069 instead of signaling an error.
b86644f2 3070
e30bd7b7
EZ
30712001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3072
3073 * s/msdos.h: Update copyright notice.
3074
3075 * dosfns.h: Update copyright notice.
3076
3077 * dosfns.c: Update copyright notice.
3078
3079 * msdos.c: Update copyright notice.
3080
b52b65bd
GM
30812001-03-02 Gerd Moellmann <gerd@gnu.org>
3082
3083 * xterm.c (glyph_rect): New function.
3084 (XTmouse_position): Use it to raise the threshold for mouse
3085 movement event generation.
3086
53c4b1e6
EZ
30872001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3088
3089 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3090 specifies (reverse . t), reverse the initial screen colors.
3091 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3092 but we are reversing the colors, set bg_set, not fg_set.
3093 Likewise for setting background-color and reversing: set fg_set.
3094 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3095 in effect.
3096
3097 * xfaces.c (Finternal_set_lisp_face_attribute)
3098 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3099 parameters alist.
3100
f964b4d7
GM
31012001-03-02 Gerd Moellmann <gerd@gnu.org>
3102
ef53d75e
GM
3103 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3104 to a single slash in the middle of file names.
3105
52283633 3106 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3107 Accept only alphanumeric time zone names.
3108
f964b4d7
GM
3109 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3110 or width area.
3111 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3112 a widget to zero height.
52283633 3113
c3c45f65
GM
31142001-03-01 Gerd Moellmann <gerd@gnu.org>
3115
3116 * window.c (Fwindow_end): Call move_it_past_eol only if
3117 ending up on a partially visible line.
3118
028d739a
DL
31192001-03-01 Dave Love <fx@gnu.org>
3120
3121 * ccl.c (Fccl_execute): Doc fix.
3122
57c5889c
GM
31232001-03-01 Gerd Moellmann <gerd@gnu.org>
3124
35f59f6b
GM
3125 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3126 of the tool bar before calling x_figure_window_size.
3127
f84ff02c
GM
3128 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3129 NULL after destroying it, otherwise XTread_socket can access a
3130 destroyed widget when input is unblocked.
3131
8b8f9197 3132 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3133
57c5889c
GM
3134 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3135 same name as before, although there was a change in fontsets.
3136
224227d1
KR
31372001-02-28 Ken Raeburn <raeburn@gnu.org>
3138
4560730a
KR
3139 * lisp.h (Fframe_parameter): Declare.
3140
224227d1 3141 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3142 Lisp_Object.
224227d1 3143
ece93c02
GM
31442001-02-28 Gerd Moellmann <gerd@gnu.org>
3145
11ef99b9
GM
3146 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3147 NULL instead.
3148
3149 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3150 NULL instead.
3151
ece93c02
GM
3152 * alloc.c (toplevel): Include process.h.
3153 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3154 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3155 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3156 (allocate_vector, allocate_hash_table, allocate_window)
3157 (allocate_frame, allocate_process, allocate_other_vector):
3158 New functions.
ece93c02
GM
3159 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3160 (mark_maybe_pointer): New function.
52283633 3161 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3162 remain and not Lisp_Objects.
3163 (min_heap_address, max_heap_address): New variables.
3164 (mem_find): Return MEM_NIL if START is below min_heap_address or
3165 above max_heap_address.
3166 (mem_insert): Compute min_heap_address and max_heap_address.
3167
3168 * process.c (make_process): Use allocate_process.
3169
3170 * frame.c (make_frame): Use allocate_frame.
3171
3172 * window.c (make_window, make_dummy_parent): Use allocate_window.
3173 (Fcurrent_window_configuration): Use allocate_other_vector.
3174
3175 * lisp.h (allocate_vectorlike): Remove prototype.
3176 (allocate_vector, allocate_other_vector, allocate_frame)
3177 (allocate_window, allocate_process, allocate_hash_table):
3178 Add prototypes.
3179
3180 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3181 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3182
063af457
KH
31832001-02-27 Kenichi Handa <handa@etl.go.jp>
3184
3185 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3186 treat the produced bytes as a valid multibyte sequence.
3187
3188 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3189 (ccl_driver) <CCL_WriteMultibyteChar2>:
3190 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3191 <ccl_finish>: Set ccl->eight_bit_control properly.
3192
3193 * ccl.h (struct ccl_program): New member eight_bit_control.
3194
f58c6494
SM
31952001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3196
3197 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3198 accessible_keymaps_char_table.
3199 (accessible_keymaps_char_table): Obey `is_metized'.
3200 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3201 Lisp_Object.
3202
c596c392
GM
32032001-02-26 Gerd Moellmann <gerd@gnu.org>
3204
3205 * dispnew.c: Check HAVE_TERM_H before including term.h.
3206
425de386
AI
32072001-02-24 Andrew Innes <andrewi@gnu.org>
3208
3209 * makefile.w32-in: Update copyright notice.
3210
2ba11bbd
SM
32112001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3212
3213 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3214
66c56ed1
KH
32152001-02-24 Kenichi Handa <handa@etl.go.jp>
3216
4c1593ce
KH
3217 * Makefile.in (lisp): Add international/utf-8.elc.
3218
66c56ed1
KH
3219 * fontset.c (Fnew_fontset): Fix handling of the case that an
3220 element of FONTLIST is a cons of family and registry.
3221
796ead7e
JR
32222001-02-23 Jason Rumney <jasonr@gnu.org>
3223
3224 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3225 to height unconditionally.
3226
3227 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3228 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3229 (x_insert_glyphs): Call window_box_left to obtain the left
3230 x-coordinate of the area to shift.
3231
3232 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3233 safe_run_hooks.
3234
f6839838
AI
32352001-02-22 Andrew Innes <andrewi@gnu.org>
3236
52283633 3237 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3238 ($(BLD)\dispnew.obj):
3239 ($(BLD)\editfns.obj):
3240 ($(BLD)\fileio.obj):
3241 ($(BLD)\filelock.obj):
3242 ($(BLD)\keyboard.obj):
3243 ($(BLD)\w32proc.obj):
3244 ($(BLD)\process.obj):
3245 ($(BLD)\sysdep.obj): Ditto.
3246
3247 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3248 header files.
52283633
SM
3249 ($(BLD)/dispnew.$(O)):
3250 ($(BLD)/editfns.$(O)):
3251 ($(BLD)/fileio.$(O)):
3252 ($(BLD)/filelock.$(O)):
3253 ($(BLD)/keyboard.$(O)):
3254 ($(BLD)/w32proc.$(O)):
3255 ($(BLD)/process.$(O)):
f6839838
AI
3256 ($(BLD)/sysdep.$(O)): Ditto.
3257
c224f70b
GM
32582001-02-22 Gerd Moellmann <gerd@gnu.org>
3259
51695746
GM
3260 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3261 at the start of the function, check that the \n in it->c is
3262 from the iterator's current position.
52283633 3263
a61b7058
GM
3264 * xdisp.c (handle_single_display_prop): Add parameter
3265 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3266 properties which replace the display of text with something else.
3267 (handle_display_prop): Call handle_single_display_prop with
3268 additional argument saying if we already replaced text display
3269 with something else. Use AREF.
52283633 3270 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3271 (decode_mode_spec_coding): Use AREF and ASIZE.
3272
3473f362
GM
3273 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3274 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3275 * vmstime.h: Files removed.
52283633 3276
2bb58df3
GM
3277 * unexencap.c, unexfx2800.c: Files removed.
3278
c224f70b
GM
3279 * dispnew.c (direct_output_for_insert): Give up if we are showing
3280 a message or just cleared the message because we might need to
3281 resize the echo area window or display an empty echo area.
3282
ffc9ff0c
GM
32832001-02-21 Gerd Moellmann <gerd@gnu.org>
3284
0528abe1
GM
3285 * xdisp.c (redisplay_internal): Do the
3286 mark_window_display_accurate after all windows have been
3287 redisplayed because this call resets flags in buffers which are
3288 needed for proper redisplay.
3289
52283633
SM
3290 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3291 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3292 the old names.
3293
52283633
SM
3294 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3295 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3296
3297 * msdos.h (struct x_output): Rename busy_window to
3298 hourglass_window, busy_p to hourglass_p.
3299
52283633
SM
3300 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3301 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3302
3303 * xfns.c: Rename everything containing *busy_cursor* and similar
3304 to *hourglass*.
3305 (syms_of_w32fns): Rename x-busy-pointer-shape to
3306 x-hourglass-pointer-shape, display-busy-cursor to
3307 display-hourglass, busy-cursor-delay to hourglass-delay.
3308
3309 * w32fns.c: Rename everything containing *busy_cursor* and similar
3310 to *hourglass*.
3311 (syms_of_w32fns): Rename x-busy-pointer-shape to
3312 x-hourglass-pointer-shape, display-busy-cursor to
3313 display-hourglass, busy-cursor-delay to hourglass-delay.
3314
3315 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3316 of its busy_p flag.
3317
3318 * dispextern.h (start_hourglass, cancel_hourglass)
3319 (display_hourglass_p): Renamed from *busy_cursor*.
3320
ab2c5f0a
GM
33212001-02-20 Gerd Moellmann <gerd@gnu.org>
3322
d17e49a8
GM
3323 * keyboard.c (read_char): When an event from unread-command-events
3324 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3325
fa97adf6
GM
3326 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3327 equal to the current buffer.
3328
ab2c5f0a
GM
3329 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3330 nil, otherwise we're left with truncate_lines t when a message
3331 is printed with message-truncate-lines bound to t.
3332
aeac019e
GM
33332001-02-19 Gerd Moellmann <gerd@gnu.org>
3334
c8bc6f65
GM
3335 * window.c (Fmove_to_window_line): Undo last change.
3336 (displayed_window_lines): Call line_bottom_y to determine
3337 the line's bottom position.
3338
3339 * dispextern.h (line_bottom_y): Add prototype.
3340
52283633 3341 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3342 (pos_visible_p): Use it.
3343
980a2d69
GM
3344 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3345 set redisplaying_p to 0 here instead of in Frecursive_edit.
3346 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3347 set redisplaying_p.
3348
52283633 3349 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3350 New variables.
3351 (syms_of_xdisp): Initialize new variables.
3352 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3353 Specbind `inhibit-menubar-update' when updating the menu bar.
3354
65048e97
GM
3355 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3356 safe_run_hooks.
3357
3358 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3359 safe_run_hooks.
3360
a57c4026
GM
3361 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3362 is null.
3363
aeac019e
GM
3364 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3365 to the start of the file.
3366
76846b31
GM
33672001-02-16 Gerd Moellmann <gerd@gnu.org>
3368
f3f053f3 3369 * window.c (set_window_buffer): Fix last change.
52283633 3370
f3f053f3
GM
3371 * window.c (set_window_buffer): Set window's vscroll to 0.
3372
dad75588
GM
3373 * window.c (coordinates_in_window): Increase width of area
3374 where the vertical line can be dragged.
3375
c220b753
GM
3376 * xterm.c (x_set_glyph_string_background_width): Extend the
3377 background face to the end of the drawing area in the text
3378 area, only.
3379
c56b1c1b
GM
3380 * xdisp.c (handle_single_display_prop): Set iterator's position
3381 to where the `display' property starts, like for images.
3382 (dump_glyph): New function.
3383 (dump_glyph_row): Use it. Dump info about marginal areas.
3384
3385 * dispnew.c (direct_output_for_insert): Recognize more cases where
3386 glyphs can be written instead of being inserted.
3387
3388 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3389 the left x-coordinate of the area to shift.
3390
76846b31
GM
3391 * dired.c (directory_files_internal): Set result list to nil
3392 before retrying.
3393
0fc71a77
KH
33942001-02-15 Kenichi Handa <handa@etl.go.jp>
3395
3396 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3397 invalid multibyte sequence, treat *SRC as a character of
3398 eight-bit-graphic.
3399
25078b54
EZ
34002001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3401
3402 * textprop.c (Fset_text_properties): Doc fix.
3403
8399f8a0
GM
34042001-02-15 Gerd Moellmann <gerd@gnu.org>
3405
3406 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3407
9a2a6f73
DL
34082001-02-14 Dave Love <fx@gnu.org>
3409
3410 * coding.c: Doc and message fixes.
3411
bf853fee
AI
34122001-02-14 Andrew Innes <andrewi@gnu.org>
3413
3414 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3415 Emacs frame above the screen size.
3416
78c663d8
GM
34172001-02-14 Gerd Moellmann <gerd@gnu.org>
3418
3419 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3420
7cc9f69f
GM
34212001-02-13 Gerd Moellmann <gerd@gnu.org>
3422
0a411995
GM
3423 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
3424 case that TO ends up beyond ZV after running before-change-functions.
3425
5ddc1b75
GM
3426 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
3427 the selected window if it is showing the buffer in question.
3428
7cc9f69f
GM
3429 * dired.c (directory_files_internal): Initialize errno.
3430 (toplevel): Include errno.h.
3431
2e6621ca
GM
34322001-02-13 Kenichi Handa <handa@etl.go.jp>
3433
3434 * xfaces.c (best_matching_font): New parameter width_ratio.
3435 Multiply avgwidth by width_ratio.
3436 (choose_face_font): Call best_matching_font with width_ratio
3437 calculated from the column width of C.
3438
60222d69
AI
34392001-02-12 Andrew Innes <andrewi@gnu.org>
3440
3441 The following changes are to draw box lines inside characters area
3442 if line-width is negative.
52283633 3443
60222d69
AI
3444 * w32term.c (x_produce_image_glyph): Pay attention to the case that
3445 face->box_line_width is negative.
3446 (x_produce_stretch_glyph): Likewise.
3447 (x_produce_glyphs): Likewise.
3448 (x_estimate_mode_line_height): Likewise.
3449 (x_draw_glyph_string_background): Likewise.
3450 (x_draw_glyph_string_foreground): Likewise.
3451 (x_draw_composite_glyph_string_foreground): Likewise.
3452 (x_draw_glyph_string_box): Likewise.
3453 (x_draw_image_foreground): Likewise.
3454 (x_draw_image_relief): Likewise.
3455 (x_draw_image_foreground_1): Likewise.
3456 (x_draw_image_glyph_string): Likewise.
3457
9804b846
KH
34582001-02-09 Kenichi Handa <handa@etl.go.jp>
3459
3460 The following changes are to draw box lines inside characters area
3461 if line-width is negative.
52283633 3462
9804b846
KH
3463 * xterm.c (x_produce_image_glyph): Pay attention to the case that
3464 face->box_line_width is negative.
3465 (x_produce_stretch_glyph): Likewise.
3466 (x_produce_glyphs): Likewise.
3467 (x_estimate_mode_line_height): Likewise.
3468 (x_draw_glyph_string_background): Likewise.
3469 (x_draw_glyph_string_foreground): Likewise.
3470 (x_draw_composite_glyph_string_foreground): Likewise.
3471 (x_draw_glyph_string_box): Likewise.
3472 (x_draw_image_foreground): Likewise.
3473 (x_draw_image_relief): Likewise.
3474 (x_draw_image_foreground_1): Likewise.
3475 (x_draw_image_glyph_string): Likewise.
3476
3477 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3478 and :line-width can be negative.
52283633 3479 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3480
49be9f70
JR
34812001-02-09 Jason Rumney <jasonr@gnu.org>
3482
3483 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3484 characters the same as ASCII and latin-1.
3485 (x_display_and_set_cursor): Check for the focus frame's selected
3486 window instead of selected_window.
3487 (x_after_update_window_line): Don't clear if frame's internal
3488 border width is zero.
3489 (x_new_font): Don't change a tooltip's size.
3490 (w32_initialize): Set char_ins_del_ok to 1.
3491
3492 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3493 (x_set_font): If font hasn't changed, avoid recomputing
3494 faces and other things.
52283633
SM
3495 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3496 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
3497 (x_create_tip_frame): Prevent changing the tooltip's
3498 background color by specifying a color for the default font
3499 in .Xdefaults.
3500 (Qcancel_timer): New variable.
3501 (syms_of_w32fns): Initialize and staticpro it.
3502 (Fx_hide_tip, Fx_show_tip): Use it.
3503 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3504 the timer.
3505 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3506
3507 * w32.c (init_environment): Duplicate local string before putenv.
3508
555e35d2
SZ
35092001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3510
3511 * charset.c (Fstring): A typo.
3512
19c92c94
KH
35132001-02-09 Kenichi Handa <handa@etl.go.jp>
3514
e47a1c33
KH
3515 * charset.c (Fstring): If all arguments are less than 256, return
3516 a unibyte string.
3517
3518 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3519 return a unibyte string.
3520
19c92c94
KH
3521 * coding.c (code_convert_region): After detecting a coding, if
3522 nothing found, set coding->composing to COMPOSITION_NO.
3523 (decode_coding_string): Likewise.
3524
d8e675f5
SM
35252001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3526
3527 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3528 to avoid overflow.
3529
bd503487
KH
35302001-02-07 Kenichi Handa <handa@etl.go.jp>
3531
3532 * charset.c (parse_str_to_multibyte): New function.
3533
3534 * charset.h (parse_str_to_multibyte): Extern it.
3535
3536 * print.c (print_string): If we are going to print a unibyte
3537 string into a multibyte buffer, convert the string to multibyte by
3538 str_to_multibyte.
3539
a8370d72
AI
35402001-02-06 Andrew Innes <andrewi@gnu.org>
3541
3542 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3543 been created. It seems we can get sent window messages such as
3544 WM_ERASEBKGND before we properly update a frame.
3545
c363a1d6
GM
35462001-02-06 Gerd Moellmann <gerd@gnu.org>
3547
3548 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3549 Avoid some unnecessary cursor positioning.
3550
a08332c0
GM
35512001-02-05 Gerd Moellmann <gerd@gnu.org>
3552
52283633 3553 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3554 (LFACE_AVGWIDTH): New macro.
3555 (LFACEP): Use AREF.
3556 (check_lface_attrs): Check LFACE_AVGWIDTH.
3557 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3558 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3559 (merge_face_vectors): Check LFACE_AVGWIDTH.
3560 (Finternal_make_lisp_face): Use AREF.
3561 (xm_set_menu_resources_from_menu_face)
3562 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3563 (Finternal_lisp_face_empty_p): Use AREF.
3564 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3565 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3566 Compare average widths..
3567 (best_matching_font): Arrange for comparing average widths.
3568
52283633
SM
3569 * dispextern.h (enum lface_attribute_index):
3570 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3571
5cb3c8d4
DL
35722001-02-05 Dave Love <fx@gnu.org>
3573
3574 * puresize.h: Revert last change following loadup.el change.
3575
193fba87
AI
35762001-02-05 Andrew Innes <andrewi@gnu.org>
3577
3578 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3579 invocation of temacs, to work with Windows 2000.
3580 (bootstrap-emacs): Ditto.
3581
e16f52ce
GM
35822001-02-05 Gerd Moellmann <gerd@gnu.org>
3583
7a58ab59
GM
3584 * xterm.c (x_display_and_set_cursor): Check for the focus
3585 frame's selected window instead of selected_window.
3586
e89aaabd
GM
3587 * xdisp.c (try_scrolling): If point is in the line below the
3588 window, make sure to move the iterator at least a canonical
3589 char height down.
3590
52283633 3591 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 3592
789ce875
KH
35932001-02-05 Kenichi Handa <handa@etl.go.jp>
3594
52283633
SM
3595 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3596 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
3597 (ccl_driver): If the CCL program is terminated because of
3598 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3599 destination instead of throwing them away.
3600
20b28f82
GM
36012001-02-02 Gerd Moellmann <gerd@gnu.org>
3602
79fb38c0
GM
3603 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
3604 faces and other things.
3605
20b28f82
GM
3606 * xdisp.c (get_next_display_element): Fix case of empty
3607 display table entry.
3608
5a72551e
EZ
36092001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
3610
eb24d0bf
EZ
3611 * editfns.c (Fconstrain_to_field): Doc fix.
3612
6a3f48c7
EZ
3613 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
3614 into `thoroughly', to make it consistent with the doc string.
3615
5a72551e
EZ
3616 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
3617
01acdb05
GM
36182001-02-01 Gerd Moellmann <gerd@gnu.org>
3619
0353b28f
GM
3620 * search.c (search_buffer): Call set_search_regs with a byte
3621 position, not a character position.
3622
01acdb05
GM
3623 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
3624 minibuffer-only,
3625
e86b5133
EZ
36262001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
3627
3628 * frame.c (Fmodify_frame_parameters): Doc fix.
3629
7442878f
GM
36302001-01-31 Gerd Moellmann <gerd@gnu.org>
3631
01acdb05
GM
3632 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
3633 identifier which is not reserved by Standard C.
52283633 3634
7442878f
GM
3635 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
3636
3637 * window.c (enum window_part): New enumeration.
3638 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
3639 Qright_bitmap_area.
3640 (coordinates_in_window): Return an enumerator from enum
3641 window_part. Fix handling of right scroll bar.
3642 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
3643 `right-fringe' instead of `left-bitmap-area' and
3644 `right-bitmap-area'. Use enumerators from enum window_part
3645 instead of hard-coded integers.
52283633
SM
3646 (check_window_containing, window_from_coordinates):
3647 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3648 (syms_of_window): Replace Qleft_bitmap_area and
3649 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3650
7c132cba
EZ
36512001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3652
3653 * editfns.c (Fformat_time_string): Doc fix.
3654
c359dd9e
SM
36552001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3656
3657 * keymap.c (Fwhere_is_internal): Use the first valid binding
3658 if no ascii binding is found (when firstonly is t).
3659
ce070307
GM
36602001-01-31 Gerd Moellmann <gerd@gnu.org>
3661
b4f30ec5
GM
3662 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3663 instead of Finteractive_p.
3664
3665 * lisp.h (interactive_p): Add prototype.
3666
3667 * eval.c (interactive_p): New function.
3668 (Finteractive_p): Use it.
3669
ce070307
GM
3670 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3671
f57b6e64
DL
36722001-01-31 Dave Love <fx@gnu.org>
3673
d61c7afe
DL
3674 * .gdbinit (hook-run): Define to run xreload.
3675
f57b6e64
DL
3676 * textprop.c (Fset_text_properties): Fix newline in doc string.
3677
eef93f99
GM
36782001-01-30 Gerd Moellmann <gerd@gnu.org>
3679
52283633
SM
3680 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3681 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3682
3683 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3684 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3685 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3686
3687 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3688 height.
3689
d9c1f6f9
DL
36902001-01-30 Dave Love <fx@gnu.org>
3691
3692 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3693 AFTER_POTENTIAL_GC.
3694
e8f044a0
GM
36952001-01-29 Gerd Moellmann <gerd@gnu.org>
3696
52283633
SM
3697 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3698 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3699
8e1db7b3
EZ
37002001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3701
3702 * textprop.c (Fset_text_properties): Doc fix.
3703
4eefd9d2
GM
37042001-01-29 Gerd Moellmann <gerd@gnu.org>
3705
3706 * xdisp.c (forward_to_next_line_start): Remove xassert.
3707
fccb8288
EZ
37082001-01-29 Jason Rumney <jasonr@gnu.org>
3709
4eefd9d2 3710 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3711 returning without releasing it.
3712
76581eab
KH
37132001-01-29 Kenichi Handa <handa@etl.go.jp>
3714
3715 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3716 for '^', '$', and '\0'.
3717
83a96b4d
AC
37182001-01-28 Andrew Choi <akochoi@i-cable.com>
3719
5604ec34
AC
3720 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3721 regex for '^', '$', and '\0'.
3722
83a96b4d
AC
3723 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3724 only if current_sblock has been initialized.
3725
3726 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3727 terminal frame even if it is the only visible frame.
3728
c09a6440
KH
37292001-01-28 Kenichi Handa <handa@etl.go.jp>
3730
3731 * fontset.c (font_family_registry): Even if FONTNAME conform to
3732 XLFD, if it specifies other fields than family and registry,
52283633 3733 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3734 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3735 a signle byte character. Don't set FAMILY part to nil here.
3736 It is handled by the caller choose_face_font.
c09a6440
KH
3737 (Fnew_fontset): Call font_family_registry with FORCE 0.
3738 (Fset_fontset_font): Likewise.
3739
4dcd74e6
GM
37402001-01-27 Gerd Moellmann <gerd@gnu.org>
3741
3742 * xdisp.c (display_line): Don't treat a newline as fitting
3743 on the line.
3744
d2906bf8
GM
37452001-01-26 Gerd Moellmann <gerd@gnu.org>
3746
0130fe1a
GM
3747 * window.c (size_window): Set the window's orig_top to nil when
3748 changing heights, so that a future shrink_mini_window won't
3749 restore a bogus height.
3750
550f0e6a
GM
3751 * frame.c (do_switch_frame): If selected frame has a mini-window,
3752 resize that to exact size.
3753
b7b20fbd
GM
3754 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
3755
a47b7816
GM
3756 * xdisp.c (display_line): Simplify check for glyphs fitting
3757 entirely in the line.
3758
d2906bf8
GM
3759 * xfns.c (xic_style): New variable.
3760 (create_frame_xic): Move static variable to global scope for
550f0e6a 3761 the case that `static' gets defined away.
d2906bf8 3762
73df2b1e
KH
37632001-01-26 Kenichi Handa <handa@etl.go.jp>
3764
3765 * coding.c (decode_coding): Set a flag for inhibiting
3766 inconsistent eol.
3767 (code_convert_region): Always set saved_coding_symbol.
3768 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 3769 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 3770
6613cfc4
GM
37712001-01-25 Gerd Moellmann <gerd@gnu.org>
3772
c5e6e06b
GM
3773 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
3774 XClearArea.
3775
3776 * xterm.c (x_after_update_window_line): Don't clear if frame's
3777 internal border width is zero.
3778 (x_clear_area): New function.
3779 (x_after_update_window_line, x_clear_end_of_line)
3780 (x_scroll_bar_create, x_scroll_bar_set_handle)
3781 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
3782 instead of XClearArea.
3783
3784 * xterm.h (x_clear_area): Add prototype.
3785
6613cfc4
GM
3786 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
3787 which doesn't seem necessary anymore with Lesstif 0.92.
3788
650cc6cc
DL
37892001-01-25 Dave Love <fx@gnu.org>
3790
34ac3367
DL
3791 * puresize.h (BASE_PURESIZE): Up to 720000.
3792
650cc6cc
DL
3793 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
3794
5e37dc22
GM
37952001-01-25 Gerd Moellmann <gerd@gnu.org>
3796
e1e441f9
GM
3797 * xdisp.c (echo_area_display): Don't call redisplay_internal
3798 when Emacs is shutting down. We can't run hooks etc. that
3799 would be necessary to do a redisplay.
3800
5e37dc22
GM
3801 * lread.c (read_integer): Use type EMACS_INT instead of int.
3802
0fb94c7f
EZ
38032001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
3804
3805 * ccl.c (ccl_driver): Fix last change.
3806
e3778624
KH
38072001-01-25 Kenichi Handa <handa@etl.go.jp>
3808
3809 * ccl.h (sturct ccl_program): New member suppress_error.
3810
bb264518 3811 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
3812 insert error message to the output.
3813 (setup_ccl_program): Initialize ccl->suppress_error to 0.
3814
3815 * coding.h (struct coding_system): New member suppress_error.
3816
3817 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
3818 (Fset_terminal_coding_system_internal): Set the member
3819 suppress_error to 1.
3820 (Fset_safe_terminal_coding_system_internal): Likewise.
3821
245ed2b1
SM
38222001-01-24 Stefan Monnier <monnier@cs.yale.edu>
3823
3824 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
3825 as if it was a `charset'.
3826
f9aaedb6
GM
38272001-01-24 Gerd Moellmann <gerd@gnu.org>
3828
3829 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
3830 value in where_is_cache; the next lookup in the cache returns
3831 something bogus if we do.
3832
c3902c3e
EZ
38332001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
3834
3835 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
3836 if HAVE_WINDOW_SYSTEM isn't defined.
3837
3497f73e
GM
38382001-01-24 Gerd Moellmann <gerd@gnu.org>
3839
e7e41584
GM
3840 * fns.c (sweep_weak_table): Fix code taking items out of
3841 the hash collision chain. Some cleanup.
3842
3497f73e
GM
3843 * xterm.c (x_new_font): Don't change a tooltip's size.
3844
3845 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
3846 background color by specifying a color for the default font
3847 in .Xdefaults.
3848
3d48e687
KH
38492001-01-24 Kenichi Handa <handa@etl.go.jp>
3850
96531b20
KH
3851 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
3852 a workaround for SunOS 4's cc.
3853 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
3854 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
3855 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
3856 statement.
3d48e687 3857
a30629d2
GM
38582001-01-23 Gerd Moellmann <gerd@gnu.org>
3859
3860 * xterm.c (x_set_window_size_1): New function extracted from
3861 x_set_window_size.
3862 (x_set_window_size): Use it.
3863 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
3864 doesn't have a widget, like tooltips.
3865
5a43decf
EZ
38662001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
3867
52283633 3868 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 3869
b0e98867
KH
38702001-01-23 Kenichi Handa <handa@etl.go.jp>
3871
3872 * fns.c (Fset_char_table_default): Fix to make sub char-table
3873 correctly.
3874
50606b4c
GM
38752001-01-22 Gerd Moellmann <gerd@gnu.org>
3876
cb2ddc53 3877 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
3878 a desired tool bar string, even if there are no tool bar items.
3879
57c28064
GM
3880 * xdisp.c (Ftool_bar_lines_needed): New function.
3881 (syms_of_xdisp): Defsubr it.
3882
50606b4c
GM
3883 * editfns.c (Fformat): Don't extend text properties from arguments
3884 to padding chars in the result.
3885
2f169c38
EZ
38862001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
3887
3888 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
3889
0f32f023
AI
38902001-01-20 Andrew Innes <andrewi@gnu.org>
3891
52283633 3892 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
3893 (w32_initialize): Don't set term hooks that aren't actually needed
3894 in windowed mode.
3895
3896 * xfaces.c (realize_default_face):
3897 (realize_face):
3898 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
3899
3900 * xdisp.c (handle_single_display_prop): Remove references to
3901 FRAME_W32_CONSOLE_P.
3902
52283633 3903 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
3904
3905 * frame.h (output_method): Remove output_w32_console method.
3906 (FRAME_W32_CONSOLE_P): Remove macro.
3907
3908 * frame.c (Qw32_console): Remove variable.
3909 (Fframep): Remove references to it.
3910 (syms_of_frame): Ditto.
3911 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
3912
3913 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
3914 redefinition.
3915
7173eada
KH
39162001-01-20 Kenichi Handa <handa@etl.go.jp>
3917
3918 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
3919
755b45ce
AI
39202001-01-19 Andrew Innes <andrewi@gnu.org>
3921
3922 * w32.c (init_environment): Add a version-independent site-lisp
3923 directory to EMACSLOADPATH, after the version dependent one.
3924
0a949811
GM
39252001-01-19 Gerd Moellmann <gerd@gnu.org>
3926
8501998a
GM
3927 * editfns.c (Fbuffer_substring): Doc fix.
3928
52283633
SM
3929 * xdisp.c (message_dolog, message2, message2_nolog):
3930 Rename parameter LEN to NBYTES.
0a949811 3931
e6ebcbbe
KH
39322001-01-19 Kenichi Handa <handa@etl.go.jp>
3933
200ecca2
KH
3934 * charset.c (strwidth): Use c_string_width.
3935 (c_string_width): New function.
3936 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
3937 Caller changed.
3938
3939 * charset.h (c_string_width, lisp_string_width): Extern them.
3940
52283633 3941 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 3942
e6ebcbbe
KH
3943 * indent.c (check_composition): Check validity of composition.
3944
200ecca2
KH
3945 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
3946 characters by calling c_string_width.
3947 (x_consider_frame_title): Get byte length of frame tile string
3948 correctly.
3949 (display_mode_element): Pay attention to width of non-ASCII
3950 characters by calling strwidth.
3951
8692ca92
GM
39522001-01-18 Gerd Moellmann <gerd@gnu.org>
3953
8962e303
GM
3954 * xfns.c (Qcancel_timer): New variable.
3955 (syms_of_xfns): Initialize and staticpro it.
3956 (Fx_hide_tip, Fx_show_tip): Use it.
3957 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3958 the timer.
3959 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
3960
91523be9
GM
3961 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
3962
3963 * window.h (WINDOW_LIVE_P): New macro.
3964
b0b7ed0e
GM
3965 * window.c (window_size_fixed): New variable.
3966 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
3967 the doc string.
3968
06bccf8e
GM
3969 * eval.c (specbind): If binding a per-buffer variable which
3970 doesn't have a buffer-local value in the current buffer, change
3971 the global value by changing the value of the symbol bound in all
3972 buffers not having their own value, to make it consistent with
3973 what happens with other buffer-local variables.
3974
8692ca92
GM
3975 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
3976
3977 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
3978 when searching for a newline.
3979
bb3a3b50
KH
39802001-01-18 Kenichi Handa <handa@etl.go.jp>
3981
3982 * xdisp.c (display_string): Fix previous change.
3983
c2cc16fa
JR
39842001-01-18 Jason Rumney <jasonr@gnu.org>
3985
3986 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
3987 GLYPH_DEBUG is defined.
3988 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
3989 true for images with `:ascent 100'.
3990 (x_set_mouse_face_gc): If the last used mouse face has gone in the
3991 meantime, use face MOUSE_FACE_ID.
3992 If first glyph isn't a character glyph, use the ASCII NUL
3993 character to determine the face.
3994 (expose_area): Do not treat left margin specially.
3995 (note_mode_line_highlight): If no local_map, check global keymap.
3996 (note_mouse_highlight): Initialize overlay.
52283633 3997 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
3998 (show_scroll_bars): Remove unused function.
3999 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4000 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4001 Clip to row.
52283633 4002 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4003 (x_free_frame_resources): Unload relief colors.
4004
9c11f79e
GM
40052001-01-17 Gerd Moellmann <gerd@gnu.org>
4006
3aec8722 4007 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4008 get_next_display_element when the newline is already found.
4009 This may change the iterator's position, when its current position is
3aec8722
GM
4010 equal to the iterator's stop_charpos.
4011
f3ffc2c3
GM
4012 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4013 zero, use this method only at the end of a line.
4014
52283633 4015 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4016 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4017 if SCALABLE_FONTS_P is set.
52283633 4018
d26d6fd9
GM
4019 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4020 so that scalable fonts are included.
4021
9c11f79e
GM
4022 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4023 In the cache, use a key containing the information if scalable
4024 fonts are included.
4025 (x_load_font): Adapt to change of keys in the font cache.
4026
40272001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4028
d26d6fd9
GM
4029 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4030 XListFonts to take advantage of font caching.
4031
9c11f79e
GM
4032 * xterm.c (x_list_fonts): Ensure caching font information when
4033 called for a null frame, which is the case frequently when Emacs
4034 starts.
4035
51446987
GM
40362001-01-17 Gerd Moellmann <gerd@gnu.org>
4037
f864120f
GM
4038 * xfns.c (QCconversion): Replaces QCalgorithm.
4039
4040 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4041
4042 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4043 of :algorithm.
52283633 4044
e37d1417
GM
4045 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4046 not everything could be displayed.
4047
51446987
GM
4048 * line.h, x-list-font.c: Files removed because unused.
4049
9ad4f3e5
AI
40502001-01-17 Andrew Innes <andrewi@gnu.org>
4051
4052 * dired.c (directory_files_internal): Convert result from readdir
4053 to a unibyte string initially, to avoid possible misinterpretation
4054 of some bytes as the internal form of Emacs characters.
4055
2eda09b5
KH
40562001-01-17 Kenichi Handa <handa@etl.go.jp>
4057
4058 * fns.c (concat): Be sure to avoid putting the same `composition'
4059 property on the adjacent regions.
4060
826f3788
GM
40612001-01-16 Gerd Moellmann <gerd@gnu.org>
4062
52283633 4063 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4064 (Fscroll_right, Fscroll_left): Set it here instead, if called
4065 interactively.
4066
d57b83b3
GM
4067 * buffer.c (Fset_buffer_modified_p): Set buffer's
4068 prevent_redisplay_optimizations_p flag.
4069
826f3788 4070 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4071 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4072 with additional arg.
4073
4074 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4075 Change prototype.
826f3788 4076
826f3788
GM
4077 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4078 FROM_WHERE, for debugging.
4079
261d788b
KH
40802001-01-16 Kenichi Handa <handa@etl.go.jp>
4081
4082 * ccl.c (Fregister_ccl_program): Handle the return value of
4083 resolve_symbol_ccl_program correctly.
52283633 4084 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4085
bccee4f2
GM
40862001-01-15 Gerd Moellmann <gerd@gnu.org>
4087
e4ded23c
GM
4088 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4089 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4090
4091 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4092 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4093 the display; we didn't open it.
4094
bccee4f2
GM
4095 * dispnew.c (save_or_restore_current_matrices): Function removed.
4096 (save_current_matrix, restore_current_matrix): New functions.
4097 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4098 restore the frame's current matrix. Due to the glyph pointer
4099 setup done in adjust_glyph_matrix, there is no easy way to make
4100 saving the current matrix in the desired matrix generally correct,
4101 so don't try it.
4102
ebeccffa
KH
41032001-01-15 Kenichi Handa <handa@etl.go.jp>
4104
4105 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4106 truncation glyphs.
4107 (display_line): Optimize for wide characters.
e4ded23c 4108 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4109 partially. On ttys, produce more than one truncation glyph for
4110 multi-column characters that don't fit on the line.
4111
64388126
KH
41122001-01-13 Kenichi Handa <handa@etl.go.jp>
4113
52283633
SM
4114 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4115 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4116
8edb0a6f
JR
41172001-01-13 Jason Rumney <jasonr@gnu.org>
4118
4119 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4120 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4121 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4122 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4123
52283633
SM
4124 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4125 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4126 (x_draw_image_glyph_string): Adapt to change of image margins.
4127
4128 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4129 variables.
4130
4131 * w32bdf.c (search_file_line, get_cached_font_char)
4132 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4133
4134 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4135
4136 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4137 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4138 (Fw32_send_sys_command): Remove unused variables.
4139 (w32_msg_pump): Add parentheses.
4140
4141 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4142 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4143 Add parentheses.
4144
4956d1ef
GM
41452001-01-12 Gerd Moellmann <gerd@gnu.org>
4146
b30623be
GM
4147 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4148 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4149 being a pair of margins.
4150 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4151 to DEFVAR_LISP. Extend doc.
4152
4153 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4154 margins.
4155 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4156 pair of integers `(X . Y)', use X for the horizontal and Y for the
4157 vertical margin.
4158 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4159 (parse_image_spec): Check it.
52283633
SM
4160 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4161 (tiff_format, gif_format, gs_format):
4162 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4163
52283633
SM
4164 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4165 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4166 (x_draw_image_glyph_string): Adapt to the change of image margins.
4167
4168 * dispextern.h (struct image): Replace member `margin' with
4169 `hmargin' and `vmargin'.
4170
4554cc79
GM
4171 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4172 and GLYPHS.
4173
4174 * dispnew.c (update_text_area): Put code which decrements the
4175 stop position when the row's face extends to the end of the
3bffc665 4176 line in #if 0.
4554cc79 4177
3cccce8d
GM
4178 * xfns.c (x_set_mouse_color): Fix color allocation.
4179
4956d1ef
GM
4180 * keyboard.c: Call get_local_map with new argument list.
4181
4182 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4183
4184 * intervals.h (enum map_property): Removed.
4185 (get_local_map): Change prototype.
4186
4187 * keymap.c: Call get_local_map with new argument list.
4188 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4189
2c2ff7f2
GM
41902001-01-11 Gerd Moellmann <gerd@gnu.org>
4191
a23887b9
GM
4192 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4193 of the size needed for the tool bar string. For the last image,
4194 use a `display' property that reaches to the end of the string.
4195
a7ee2d2e
GM
4196 * xselect.c (selection_request_dpyinfo): New variable.
4197 (x_handle_selection_request): Set it.
4198 (x_selection_request_lisp_error): Don't call
4199 x_decline_selection_request if selection request's display has
4200 been closed.
4201
52283633
SM
4202 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4203 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4204
457b792c
GM
42052001-01-10 Dave Love <fx@gnu.org>
4206
4207 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4208 ${SOME_MACHINE_LISP}, not ${lisp}.
4209
c1efd260
GM
42102001-01-10 Gerd Moellmann <gerd@gnu.org>
4211
52283633
SM
4212 * xdisp.c (display_line): On ttys, produce more than one truncation
4213 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4214
ac95a621
GM
4215 * xselect.c (x_reply_selection_request): Add a comment.
4216
c1efd260
GM
4217 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4218 XkbGetNames instead of XkbGetKeyboard.
4219
1bfb1345
DL
42202001-01-10 Dave Love <fx@gnu.org>
4221
4222 * sysdep.c (random): Revert the declaration.
4223
38119822
GM
42242001-01-09 Gerd Moellmann <gerd@gnu.org>
4225
52283633
SM
4226 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4227 Call function string_bytes.
35f464a7
GM
4228 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4229
4230 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4231 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4232 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4233 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4234 the current sblock.
4235 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4236 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4237 after sweeping strings, and at the end.
4238 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4239
38119822
GM
4240 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4241 ensure that pop_message is called.
4242
4243 * keyboard.c (Fexecute_extended_command): Use a
4244 record_unwind_protect to ensure that pop_message is called.
4245
4246 * lisp.h (push_message_unwind): Add prototype.
4247
4248 * xdisp.c (push_message_unwind): New function.
4249
4250 * fileio.c (do_auto_save_unwind): Do the pop_message here
4251 instead of in Fdo_auto_save.
4252 (Fdo_auto_save): Don't call pop_message.
4253
f47a9ec4
KR
42542001-01-08 Ken Raeburn <raeburn@gnu.org>
4255
4256 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4257 in inner block.
4258
a758f97d
GM
42592001-01-08 Gerd Moellmann <gerd@gnu.org>
4260
6d0afc03
GM
4261 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4262 when increasing window's vscroll.
4263
a758f97d
GM
4264 * macros.c (Qkbd_macro_termination_hook): New variable.
4265 (syms_of_macros): Initialize and staticpro it.
4266 (pop_kbd_macro): Run kbd-macro-termination-hook.
4267
4268 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4269
1bfb1345 42702001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4271
4272 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4273 arglist, for documentation's sake.
4274
0dac6924
AI
42752001-01-06 Andrew Innes <andrewi@gnu.org>
4276
4277 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4278 of *.pdb.
4279
8182406a
AI
42802001-01-05 Andrew Innes <andrewi@gnu.org>
4281
4282 * term.c (update_end): Don't check updating_frame; for some reason
4283 this can be 0 sometimes, such as after dismissing a popup menu,
4284 and isn't necessary given the explicit frame argument.
4285
3828218c
GM
42862001-01-05 Gerd Moellmann <gerd@gnu.org>
4287
4288 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4289 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4290
2f5ded21
GM
42912001-01-04 Gerd Moellmann <gerd@gnu.org>
4292
52283633 4293 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4294
4295 * xfns.c (x_create_tip_frame): Preserve the value of
4296 face_change_count around the creation of the tip frame.
52283633 4297
2f5ded21
GM
4298 * xfns.c (last_show_tip_args): New variable.
4299 (compute_tip_xy): New function.
4300 (Fx_show_tip): Reuse an existing tip frame, if possible.
4301 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4302
dfad65fa
DL
43032001-01-04 Dave Love <fx@gnu.org>
4304
64d4ec0f
DL
4305 * editfns.c (Fformat): Doc fix.
4306
dfad65fa
DL
4307 * systime.h (set_file_times): Prototype.
4308
4309 * widget.h (EmacsFrameSetCharSize_): Prototype.
4310
4311 * sysdep.c (random, srandom): Declare explicitly.
4312
4313 * dispextern.h (move_it_vertically_backward): Declare.
4314
85fe3b5e
GM
43152001-01-04 Gerd Moellmann <gerd@gnu.org>
4316
0f2ac578
GM
4317 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4318 like in Fx_create_frame.
4319
482cca61
GM
4320 * xfaces.c (set_font_frame_param): Don't do anything for
4321 non-graphical frames.
4322
85fe3b5e
GM
4323 * window.c (Fdelete_other_windows): Set window's window_end_valid
4324 to nil when changing the window's start. Don't change the
4325 window's start when its top position hasn't changed. If we do,
4326 this will set the window's optional_new_start, which act's like a
4327 force_start during redisplay with C-x 1 M-> under particular
4328 circumstances (see report from Per Starback to emacs-pretest-bug
4329 from 2000-12-13.).
4330
3e99d3b4
GM
43312001-01-03 Gerd Moellmann <gerd@gnu.org>
4332
a77dc1ec
GM
4333 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4334 short cut at the start of the function. Add an assertion.
4335 (reseat_at_next_visible_line_start): Add an assertion.
4336
2f3cad6c
GM
4337 * window.c (Frecenter): When changing the window start, set the
4338 window's window_end_valid to nil.
4339 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4340
4341 * dispextern.h (move_it_past_eol): Add prototype.
4342
4343 * xdisp.c (move_it_past_eol): New function.
4344
3e99d3b4
GM
4345 * window.c (Fwindow_end): Doc fix.
4346
43472001-01-03 Dave Love <fx@gnu.org>
4348
52283633 4349 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4350
bafb434c
GM
43512001-01-03 Gerd Moellmann <gerd@gnu.org>
4352
4353 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4354 the enabled_p flag of the glyph row at window_end_vpos to 0.
4355 (handle_single_display_prop): Fix last change.
4356
5297fb00
RS
43572001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4358
4359 * window.c (Frecenter): Doc fix.
4360
13d6a61c
AI
43612001-01-02 Andrew Innes <andrewi@gnu.org>
4362
4363 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4364
4365 * frame.h (output_method): Add output_w32_console method.
4366 (FRAME_W32_CONSOLE_P): New macro.
4367
4368 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4369 use output_w32_console method.
4370 (Qw32_console): New Lisp_Object.
4371 (Fframep): Return it.
4372 (syms_of_frame): Init it.
52283633 4373 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4374
4375 * xfaces.c (realize_default_face): Set face foreground and
4376 background to unspecified for w32_console frames.
4377 (realize_face): Realize face cache for w32_console frames.
4378 (realize_tty_face): Accept w32_console frames.
4379
52283633 4380 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4381 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4382 necessary, even if running interactively.
4383
4384 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4385 w32_console frames.
4386
52283633
SM
4387 * w32term.c (x_update_begin):
4388 (x_update_end):
4389 (x_clear_frame):
4390 (x_ins_del_lines):
4391 (x_change_line_highlight):
4392 (x_delete_glyphs):
4393 (w32_ring_bell):
4394 (x_update_begin):
4395 (x_update_end):
4396 (w32_reassert_line_highlight):
4397 (w32_frame_rehighlight):
13d6a61c
AI
4398 (w32_frame_raise_lower): Do nothing if not w32 frame.
4399
4400 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4401
4402 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4403 system doesn't tell us directly.
4404 (Fx_display_visual_class): Implement properly.
4405
d6bb0c0d
GM
44062001-01-02 Gerd Moellmann <gerd@gnu.org>
4407
4408 * window.c (Frecenter): Handle centering in graphical frames
4409 specially. Centering on the basis of line counts doesn't work
4410 reliably with variable-height lines.
52283633 4411
315f5865
EZ
44122001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4413
4414 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4415 and al[].
4416
52283633 4417 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
4418 (update_compositions): Remove unused variable `hook'.
4419
4420 * intervals.c (get_local_map): Remove unused variable `tem'.
4421
4422 * doprnt.c (doprnt1): Remove unused variable `size'.
4423
4424 * fns.c (Flength): Remove unused variable `tail'.
4425 (Fdelete): Remove unused variable `size'.
4426
4427 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
4428 and `gcpro2'.
4429
52283633 4430 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
4431
4432 * data.c (find_symbol_value): Remove extra 3rd argument in the
4433 call to swap_in_symval_forwarding.
4434
52283633 4435 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
4436
4437 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
4438 (trivial_regexp_p): Remove unused variable `c'.
4439 (boyer_moore): Remove unused variable `k'.
4440
4441 * indent.c (current_column): Remove unused variable `stopchar'.
4442 (Fcompute_motion): Remove unused variable `contin'.
4443
4444 * casefiddle.c (casify_object): Remove unused variable `tolen'.
4445
4446 * dired.c (directory_files_internal): Fix a typo in a comment.
4447 Remove an unused variable `handler'.
52283633 4448 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
4449 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
4450 on BSD4_2.
4451
52283633 4452 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
4453
4454 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
4455 and `buf'.
4456 (Fmarker_insertion_type): Remove unused variable `buf'.
4457
4458 * insdel.c (make_gap): Remove unused variable `result'.
4459
52283633 4460 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
4461 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
4462 (menu_bar_items): Remove unused function-scope variable `tem'.
4463
4464 * fontset.c (fontset_ref): Remove unused variable `i'.
4465 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 4466 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
4467 (make_fontset_for_ascii_face): Remove unused variable `name'.
4468 (fs_load_font): Remove unused variable `font_idx'.
52283633 4469 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
4470 (list_fontsets): Remove unused variable `tail'.
4471 (Fnew_fontset): Remove unused variables `family' and `registry'.
4472 (accumulate_font_info): Remove unused variable `tmp'.
4473 (Ffontset_font): Remove unused variable `id'.
4474 (syms_of_fontset): Remove unused variable `i'.
4475
4476 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4477 to x_term_init.
4478 (lookup_image): Remove unused variable `file'.
4479 (xbm_load): Remove unused variables `bitmap_data', `height', and
4480 `width'. Remove function-local variable `i', leave the
4481 block-local one.
4482 (gif_load): Remove unused variable `inc'.
4483
52283633 4484 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4485 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4486 leave only the one in the inner block.
4487
4488 * xfaces.c (face_fontset, realize_default_face): Remove unused
4489 variable `fontset'.
4490 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4491
4492 * term.c (encode_terminal_code): Remove unused variable `c'.
4493
4494 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4495 char *' instead of `char *'.
4496
4497 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 4498 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
4499 (Fchar_category_set): Remove unused variables `val', `charset',
4500 `c1' and `c2'.
4501
52283633
SM
4502 * coding.c (detect_coding_iso2022, setup_coding_system):
4503 Remove unused variable `i'.
315f5865
EZ
4504 (detect_coding_mask): Remove unused variable `idx'.
4505 (detect_coding): Remove unused variable `i'.
4506 (ccl_coding_driver): Remove unused variable `result'.
4507 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 4508 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
4509 (encode_coding_string): Remove unused variables `gcpro1' and
4510 `saved_coding_symbol'.
4511 (Ffind_coding_systems_region_internal): Remove function-local
4512 variable args[], leave only the block-local one.
4513 (code_convert_region1): Remove unused variable `len'.
4514
4515 * charset.c (char_printable_p): Remove unused variable `chars'.
4516 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4517 (str_to_multibyte): Remove unused variable `c'.
4518
4519 * window.c (size_window): Remove block-local variable `min_size'.
4520
4521 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4522 `header_line_height'.
4523 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4524 enum display_element_type.
4525
1a8a9daf
GM
45262001-01-02 Gerd Moellmann <gerd@gnu.org>
4527
6dde6abc 4528 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4529 statements that call X. Save away the error message in a local copy.
4530
1883b2c6
GM
4531 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4532 the start.
4533
a13be207
GM
4534 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4535 in or at the start of invisible text.
4536
1a8a9daf
GM
4537 * dispnew.c (update_window): Don't check_current_matrix_flags.
4538
3608c0f9
JR
45392001-01-01 Jason Rumney <jasonr@gnu.org>
4540
4541 * w32fns.c (x_figure_window_size): Do not allow new_height and
4542 new_width of frame to override specified values.
4543
abb1acc4
KH
45442000-12-30 Kenichi Handa <handa@etl.go.jp>
4545
52283633 4546 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4547
762a68ec
GM
45482000-12-29 Gerd Moellmann <gerd@gnu.org>
4549
52283633 4550 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4551 (update_window) [GLYPH_DEBUG]: Call it.
4552 (scrolling_window): Prevent including current rows which are below
4553 what's displayed in the window.
4554
4555 * xdisp.c (try_window_reusing_current_matrix)
4556 <new start <= old start>: Disable rows in the current matrix
4557 which are below the window after scrolling.
52283633 4558
762a68ec
GM
4559 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4560 is zero. It's not worth the complexity.
4561 (invisible_text_between_p): Put in #if 0 because unused.
4562
2d5912c1
GM
45632000-12-28 Gerd Moellmann <gerd@gnu.org>
4564
46f6a258
GM
4565 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4566 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4567
89f93679
GM
4568 * keyboard.c (echo_char): If C is an integer, always call
4569 push_key_description. Former code could signal an invalid
4570 character error.
4571
4572 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4573 If set, print multibyte text.
4574 (Fsingle_key_description): Call push_key_description with
4575 FORCE_MULTIBYTE set.
4576 (describe_buffer_bindings): Likewise.
4577
4578 * lisp.h (push_key_description): Add prototype.
4579
c06017fb
GM
4580 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4581 around the call to redisplay_internal.
4582
f1d2ce7f
GM
4583 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4584
2d5912c1
GM
4585 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4586
9371f831
KH
45872000-12-28 Kenichi Handa <handa@etl.go.jp>
4588
4589 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4590 (ccl_driver): New local variable `extra_bytes'.
4591
4592 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4593
52283633
SM
4594 * coding.c (setup_coding_system):
4595 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
4596 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4597
0c80628a
KH
45982000-12-28 Kenichi Handa <handa@etl.go.jp>
4599
4600 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4601 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4602 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
4603 (decode_composition_emacs_mule): New function.
4604 (decode_coding_emacs_mule): Decode composition sequence by calling
4605 decode_composition_emacs_mule.
4606 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
4607 (encode_coding_emacs_mule): Changed from macro to function.
4608 If a text contains compositions, encode them correctly.
0c80628a
KH
4609 (setup_coding_system): Set coding->commong_flags for emacs-mule so
4610 that decoding and encoding are required.
4611
3e32cc27
GM
46122000-12-27 Gerd Moellmann <gerd@gnu.org>
4613
5e25feee
GM
4614 * xfaces.c (PT_PER_INCH): New macro.
4615 (xlfd_point_size): Compute real point size from font's pixel size.
4616 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
4617 instead of 72.
4618
892d8fcd
GM
4619 * .gdbinit: Comment out the line pointing to the Lesstif source
4620 directory.
4621
12c8b416
GM
4622 * window.c (Frecenter): Use displayed_window_lines instead
4623 of window_internal_height.
4624
6061fbf0
GM
4625 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4626 instead of x-toolkit-scroll-bars-p.
4627 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
4628
4629 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4630 instead of x-toolkit-scroll-bars-p.
4631 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 4632
3e32cc27
GM
4633 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
4634 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
4635 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
4636 New variables.
4637 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
4638 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
4639 (build_frame_matrix_from_leaf_window): Remove unused code.
4640 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
4641 redisplay history.
4642 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
4643 (update_window) [GLYPH_DEBUG]: Likewise.
4644 (syms_of_display): Defsubr dump-redisplay-history.
4645
31798cfe
GM
46462000-12-23 Gerd Moellmann <gerd@gnu.org>
4647
f717c2ba
GM
4648 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4649 the end of the prompt. Set echo_after_prompt to the offset
4650 of echoptr in echobuf.
4651
aeb2b8fc
GM
4652 * xdisp.c (init_from_display_pos): Pop until the iterator's
4653 stack is empty; there may be frames for stretch or images
4654 on the stack.
4655
31798cfe
GM
4656 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4657 (save_or_restore_current_matrix): New function for the same
4658 purpose, but more efficient.
4659 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4660
f8156156
EZ
46612000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4662
4663 * xdisp.c (syms_of_xdisp): Fix last change.
4664
bdd6d4e8
GM
46652000-12-23 Gerd Moellmann <gerd@gnu.org>
4666
4667 * xdisp.c (syms_of_xdisp): Doc fix.
4668
4669 * xdisp.c (redisplay_window): Remove label restore_buffers;
4670 use finish_scroll_bars instead to make sure that scroll bars
4671 are redeemed. If we don't do this, flickering can result from
4672 scroll bars being destroyed and recreated.
4673
9436cdf9
JR
46742000-12-22 Jason Rumney <jasonr@gnu.org>
4675
4676 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4677 in the wrong colors when the foreground is not black.
4678 (expose_window): Don't redraw the window that's currently being
4679 updated.
4680
951f9df5
GM
46812000-12-22 Gerd Moellmann <gerd@gnu.org>
4682
856ff7a7
GM
4683 * window.c (size_window): When setting the window's too_small_ok
4684 flag, compare old size with minimum size depending on WIDTH_P,
4685 don't compare with window_min_width.
52283633 4686
951f9df5
GM
4687 * window.c (delete_window): Simplify somewhat.
4688 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4689 freeing window matrices. The flag windows_or_buffers_changed is
4690 set, so the next redisplay will consider all windows; this should
4691 suffice.
4692
886bc933
KH
46932000-12-22 Kenichi Handa <handa@etl.go.jp>
4694
4695 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4696
4697 * ccl.h (struct ccl_program): New member cr_consumed.
4698
4699 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4700 (CCL_READ_CHAR): Handle EOL conversion here.
4701 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4702
177f4e88
GM
47032000-12-21 Gerd Moellmann <gerd@gnu.org>
4704
52283633 4705 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4706
4707 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4708 otherwise tabs of different size compare equal.
4709
4710 * callint.c (Fcall_interactively): Prevent a compiler warning.
4711
4712 * print.c (print_unwind): Return nil.
4713 (PRINTDECLARE): Initialize all local variables.
4714 (print_preprocess): Add a default case.
4715
8e15274f
GM
4716 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4717
4718 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4719
52283633 4720 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4721 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4722
4723 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4724
4725 * dispnew.c (ensure_frame_matrix): Removed.
4726 (save_frame_matrix, restore_frame_matrix): New functions.
4727 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4728
4729 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4730 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4731
99012074
AI
47322000-12-21 Andrew Innes <andrewi@gnu.org>
4733
4734 * w32term.c (x_update_begin): Regenerate the palette here, rather
4735 than for each window.
4736
4737 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4738 palette is NULL, since this corrupts memory! Also get
4739 display_info reference from frame.
4740
29ef7d2d
JR
47412000-12-21 Jason Rumney <jasonr@gnu.org>
4742
4743 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
4744
4745 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
4746 to avoid returning without releasing it.
3e27fa1f 4747
3f9d67a6
KH
47482000-12-21 Kenichi Handa <handa@etl.go.jp>
4749
587fc3f9
KH
4750 * keymap.c (push_key_description): Don't convert eight-bit-control
4751 and eight-bit-graphic to multibyte character.
4752
3f9d67a6
KH
4753 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
4754 generic character and CODE1 is nil, return the smallest character
4755 in CHARSET.
4756
774ba8c9
DL
47572000-12-20 Dave Love <fx@gnu.org>
4758
4759 * s/osf5-0.h (NSIG): Don't redefine.
4760
88416888
SM
47612000-12-20 Stefan Monnier <monnier@cs.yale.edu>
4762
4763 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
4764 excluding menu-bar and tool-bar.
4765 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
4766 (menu_item_p): Remove.
4767 (where_is_internal_1): Don't ignore menu-items.
4768
a6426c6f
GM
47692000-12-20 Gerd Moellmann <gerd@gnu.org>
4770
03ff8aab
GM
4771 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
4772 into account.
4773
4774 * window.c (make_window): Initialize window's min_hscroll.
4775 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
4776 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
4777 to zero.
4778 (struct saved_window): New member min_hscroll.
4779 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
4780 (Fset_window_configuration): Set window's min_hscroll.
4781 (save_window_save): Save window's min_hscroll.
4782 (compare_window_configurations): Compare min_hscroll values.
4783
4784 * window.h (struct window): New member min_hscroll.
4785
4786 * keyboard.c (echo_prompt): Prevent a compiler warning.
4787
8de4aaf8
GM
4788 * xdisp.c (try_cursor_movement): Fix last change. The real
4789 condition is that PT is at the end of the row, and should
4790 be displayed at the start of the next row.
52283633 4791
3f7e3031
GM
4792 * xdisp.c (try_cursor_movement): If we end on a partially
4793 visible line, end we already decided to scroll, return -1.
4794
a6426c6f
GM
4795 * dispextern.h (ensure_frame_matrix): Add prototype.
4796
4797 * window.c (delete_window, Fsplit_window)
4798 (Fset_window_configuration): Call ensure_frame_matrix.
4799
52283633
SM
4800 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
4801 New functions.
a6426c6f
GM
4802 (adjust_frame_glyphs_for_frame_redisplay): If display has been
4803 completed, call fake_current_matrices instead of marking frame
4804 garbaged.
4805
57fa2774
JR
48062000-12-20 Jason Rumney <jasonr@gnu.org>
4807
4808 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
4809
d925df90
EZ
48102000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
4811
4812 * fns.c (Frequire): Doc fix.
4813
7b93a85b
GM
48142000-12-19 Gerd Moellmann <gerd@gnu.org>
4815
52283633 4816 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 4817
c74e645b
GM
4818 * dispnew.c (direct_output_for_insert): Fix check for mini-window
4819 currently displaying a message.
4820
7b93a85b
GM
4821 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
4822 xterm.h.
4823 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
4824
90d97e64
AI
48252000-12-18 Andrew Innes <andrewi@gnu.org>
4826
4827 * w32.c (w32_strerror): New function.
4828
4829 * w32.h (w32_strerror): New extern.
4830
4831 * w32fns.c (Fw32_shell_execute): Use it.
4832
91c9e6ce
GM
48332000-12-18 Gerd Moellmann <gerd@gnu.org>
4834
4835 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
4836
6f4745e2
EZ
48372000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4838
4839 * msdos.c (IT_set_face): Obey inverse_video.
4840
c9e088ce
KH
48412000-12-18 Kenichi Handa <handa@etl.go.jp>
4842
4843 * dired.c (directory_files_internal): Always return decoded filenames.
4844
c3695f5f
GM
48452000-12-18 Gerd Moellmann <gerd@gnu.org>
4846
52d8e4ff
GM
4847 * xterm.c (x_connection_closed): Prevent being called recursively
4848 because of an error condition in XtCloseDisplay.
52283633 4849
62be9979
GM
4850 * xdisp.c (init_iterator): If noninteractive, and the frame's
4851 face cache is null, make one.
4852
52283633 4853 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 4854
c3695f5f
GM
4855 * process.c (wait_reading_process_input): Check for pending
4856 input when running timers.
4857
78555fbe
EZ
48582000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4859
52283633 4860 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 4861
b2b36264
KH
48622000-12-18 Kenichi Handa <handa@etl.go.jp>
4863
4864 * process.c (read_process_output): Don't run a filter if the code
4865 decoder produces nothing but carryover.
4866
9c543fbf
AI
48672000-12-17 Andrew Innes <andrewi@gnu.org>
4868
4869 * w32.c (sys_rename): Only check errno against EEXIST, and not
4870 EACCES, when determining whether rename failed because the target
4871 exists. This was resulting in indefinite looping on Windows 9x if
4872 the source file was locked by another process.
4873
4874 * w32fns.c (Ffile_system_info): New function.
4875 (syms_of_w32fns): Defsubr it.
4876
10c2b5a8
GM
48772000-12-17 Gerd Moellmann <gerd@gnu.org>
4878
b0228ace
GM
4879 * window.c (coordinates_in_window): Fix computation for
4880 position on vertical line between mode lines.
4881
10c2b5a8
GM
4882 * xfns.c (unwind_create_frame): Return t if frame was deleted.
4883 Don't alter tip_frame or tip_window.
4884 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4885 was deleted.
4886
c844a81a
GM
4887 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
4888 Don't alter tip_frame or tip_window.
4889 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4890 was deleted.
4891
6c825f8e
EZ
48922000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
4893
4894 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
4895 be consistent with the doc string. Reported by NAKAJIMA Mikio
4896 <minakaji@osaka.email.ne.jp>.
4897
af4bb4c8
KH
48982000-12-16 Kenichi Handa <handa@etl.go.jp>
4899
4900 * xfaces.c (Vface_ignored_fonts): New variable.
4901 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
4902 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
4903
8062e53a
GM
49042000-12-15 Gerd Moellmann <gerd@gnu.org>
4905
e87b8809
GM
4906 * dispnew.c (update_window): Detect pending input every nth line
4907 updated, i.e. do it depending on real work done, and not on the
4908 vpos of the line.
4909
4910 * xterm.c (expose_window): Don't redraw the window that's
4911 currently being updated.
4912
a6768cc5
GM
4913 * window.c (Fset_window_point): Remove test for
4914 cursor_in_non_selected_windows.
4915
4ea7fdca
GM
4916 * lread.c (read1): Recognize end of file after `\\'.
4917
8062e53a
GM
4918 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
4919 not unwind_create_frame.
4920
bb7959c1
GM
49212000-12-15 Dave Love <fx@gnu.org>
4922
4923 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
4924 bcopy & al.
4925
4926 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
4927
ced04c42
KH
49282000-12-15 Kenichi Handa <handa@etl.go.jp>
4929
c5443913
KH
4930 * coding.c (setup_coding_system): Clear all members of the struct
4931 coding_system at first.
bc137305
KH
4932 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
4933 argument.
4934 (code_convert_region): Don't override coding->src_multibyte and
4935 coding->dst_multibyte.
c5443913 4936
ced04c42
KH
4937 * fns.c (Fmd5): Docstring improved.
4938
c2d7f289
MB
49392000-12-15 Miles Bader <miles@gnu.org>
4940
4941 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
4942 are actually marked as mode-lines; otherwise use
4943 estimate_mode_line_height.
4944
9d7d9263
GM
49452000-12-14 Gerd Moellmann <gerd@gnu.org>
4946
4947 * editfns.c (Fformat): Prevent a buffer overrun when the format
4948 specifies a precision.
4949
7cf0153a
EZ
49502000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
4951
4952 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
4953 argument is outside the range [2..3].
4954
1de0f662
AI
49552000-12-14 Andrew Innes <andrewi@gnu.org>
4956
4957 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
4958 nothing to do. Bind inhibit-quit.
4959 (tip_frame): Make it a Lisp_Object.
4960 (x_create_tip_frame): Set tip_frame after it has been added to
4961 Vframe_list.
4962 (Fx_show_tip): Don't set tip_frame here.
52283633 4963 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
4964 (unwind_create_frame, unwind_create_tip_frame): New functions.
4965 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4966 while a frame is only partially constructed.
4967
4968 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4969 (x_free_frame_resources): New function.
4970 (x_destroy_window): Use it.
4971
02387dcc
GM
49722000-12-14 Gerd Moellmann <gerd@gnu.org>
4973
4974 * xfns.c (Fx_backspace_delete_keys_p): New function.
4975 (syms_of_xfns): Defsubr it.
4976
4977 * config.in (HAVE_XKBGETKEYBOARD): Add.
4978
0544ef49
KH
49792000-12-14 Kenichi Handa <handa@etl.go.jp>
4980
98d62747
KH
4981 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
4982 Always store string in multibyte representation in echobuf.
4983 (echo_char): Always store string in multibyte representation in
4984 echobuf.
4985 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
4986 (read_key_sequence): Adjusted for the change of echo_prompt.
4987
a20193cd
KH
4988 * fns.c (Fmd5): Docstring improved.
4989
191b83b6
KH
4990 * lisp.h (detect_coding_system): Prototype adjusted.
4991
0544ef49
KH
4992 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
4993 (detect_coding_emacs_mule, detect_coding_iso2022,)
4994 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
4995 (detect_coding_utf_16, detect_coding_ccl): Make them static.
4996 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
4997 (detect_coding_mask, detect_coding_system): New argument
4998 MULTIBYTEP. Callers changed.
1da1bb05
KH
4999 (decode_coding_string): Set coding->src_multibyte and
5000 coding->dst_multibyte before calling detect_coding and detect_eol.
5001 Update them after some coding system is detected.
52283633 5002
d5b3eb1b
SM
50032000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5004
5005 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5006
5007 * keyboard.c (menu_bar_items, tool_bar_items):
5008 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5009
f7f8bb69
GM
50102000-12-13 Gerd Moellmann <gerd@gnu.org>
5011
52283633 5012 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5013 New variables.
5014 (unwind_create_frame, unwind_create_tip_frame): New functions.
5015 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5016 while a frame is only partially constructed.
5017
5018 * xterm.h (x_free_frame_resources): Declare.
5019
5020 * xterm.c (x_free_frame_resources): New function.
5021 (x_destroy_window): Use it.
5022
e10da507
GM
5023 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5024 don't interrupt the update for pending input initially, i.e.
5025 update at least some lines.
5026
5027 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5028
d5b3eb1b 5029 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5030
5031 * xfns.c (gray_bitmap_bits): Declare `char *'.
5032
90aa2856
GM
50332000-12-12 Gerd Moellmann <gerd@gnu.org>
5034
5035 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5036 lines start with a relief line.
5037
a308c9cd
DL
50382000-12-12 Dave Love <fx@gnu.org>
5039
5040 * window.c (Fdisplay_buffer): Doc fix.
5041 (Fwindow_list): Remove unused var.
5042
5043 * buffer.h (mmap_set_vars): Declare.
5044
5045 * window.h (Fset_window_point): Declare.
5046
d575011f
EZ
50472000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5048
bf6282d2 5049 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5050 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5051 variable `area'. When looking for a row under (X,Y), give up if some
5052 of the previous rows is not enabled.
d575011f 5053
ecf4d726
GM
50542000-12-12 Gerd Moellmann <gerd@gnu.org>
5055
2ebf6139
GM
5056 * window.c (Fset_window_point): If displaying cursors in windows
5057 other than the selected window, make sure redisplay updates
5058 other windows to show the new value of point in the window.
5059
5060 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5061
bfdb75ee
GM
5062 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5063 the buffer is the sole visible buffer when in the mini-buffer.
5064
52283633 5065 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5066 Bind `inhibit-read-only' to t.
5067 (unwind_with_echo_area_buffer): Use AREF.
5068
c0006262
GM
5069 * xfns.c (Fx_hide_tip): Simplified.
5070
52283633
SM
5071 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5072 instead of `1'.
e9a59cad 5073
ecf4d726
GM
5074 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5075
e5959a9a
GM
50762000-12-11 Gerd Moellmann <gerd@gnu.org>
5077
a3642e49 5078 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5079
44b5a125
GM
5080 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5081 nothing to do. Bind inhibit-quit.
5082 (tip_frame): Make it a Lisp_Object.
5083 (x_create_tip_frame): Set tip_frame after it has been added to
5084 Vframe_list.
5085 (Fx_show_tip): Don't set tip_frame here.
5086
5087 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5088
5089 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5090 Lisp_Object.
5091
5092 * dispextern.h: Change external declaration of tip_frame.
5093
d990421f
GM
5094 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5095 return an empty string.
5096
4db87380
GM
5097 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5098 of the window's update_mode_line flag, since the former is set by
5099 force-mode-line-update, not the latter. This makes
5100 column-number-mode slightly faster.
52283633 5101
e5959a9a
GM
5102 * xdisp.c (try_window_id) <all changes above window start>:
5103 Set the cursor.
5104
169fe44e
GM
51052000-12-11 Paul Eggert <eggert@twinsun.com>
5106
5107 * config.in (HAVE_FTELLO): Remove.
5108 (HAVE_FSEEKO): Add.
5109 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5110 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5111 HAVE_FTELLO.
5112 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5113 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5114
59ec59ae
MB
51152000-12-11 Miles Bader <miles@gnu.org>
5116
5117 * window.c (displayed_window_lines): Don't round up when
5118 converting empty space at bottom to lines.
ff904dd6
MB
5119 Handle non-newline-terminated final lines properly.
5120 (Fwindow_text_height): New function (used to be in lisp).
5121 (syms_of_window): Initialize it.
59ec59ae 5122
42ebfa31
SM
51232000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5124
5125 * syntax.c (scan_lists): Check that the right quote char has the
5126 right Sstring syntax when jumping over strings.
5127 (init_syntax_once): Use Smax rather than 13.
5128
5cdb3cf3
MB
51292000-12-09 Miles Bader <miles@gnu.org>
5130
5131 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5132 with PARTIALLY, inverting the sense.
5133 (window_scroll_pixel_based): Scroll partially visible lines into
5134 place if we hit the beginning or end of the buffer.
a12167c5
MB
5135 (displayed_window_lines): Don't include partially visible lines.
5136 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5137
842b2a94
GM
51382000-12-08 Gerd Moellmann <gerd@gnu.org>
5139
5140 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5141
5142 * tparam.c (tparam1): Change the way buffers are reallocated to be
5143 portable and less obfuscated.
5144
5145 * termcap.c (tgetent): Change the way buffers are reallocated to
5146 be portable and less obfuscated.
5147
5148 * macros.c (store_kbd_macro_char): Change the way buffers are
5149 reallocated to be portable and less obfuscated.
5150
5151 * lread.c (read1): Change the way buffers are reallocated to be
5152 portable and less obfuscated.
5153
5154 * doc.c (Fsubstitute_command_keys): Change the way buffers
5155 are reallocated so that it is portable.
5156
137cad7c
EZ
51572000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5158
5159 * dosfns.c (Ffile_system_info): New function.
5160 (syms_of_dosfns): Defsubr it.
5161
5c7f629c
SM
51622000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5163
5164 * alloc.c (gc_sweep): Add comment.
5165
959e647d
GM
51662000-12-07 Gerd Moellmann <gerd@gnu.org>
5167
52283633
SM
5168 * sound.c (vox_configure): Change order of ioctls.
5169 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5170 Ignore errors when changing volume.
5171 (vox_close): Don't reset the device.
5172
926b7e5e
GM
5173 * process.c (read_process_output): Make sure the process marker's
5174 position is valid when the process buffer is changed in
5175 after-change functions. W3 does that.
52283633 5176
959e647d
GM
5177 * xfns.c (x_free_gcs): New function.
5178
5179 * xterm.h (x_free_gcs): Add prototype.
5180
5181 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5182 freeing GCs here.
5183
5184 * xterm.c (x_destroy_window): Call x_free_gcs so that
5185 resources of non-toolkit X windows will be freed.
5186
478ea067
AI
51872000-12-07 Andrew Innes <andrewi@gnu.org>
5188
5189 * w32fns.c (xlfd_charset_of_font): Fix last change.
5190
fbee3231
DL
51912000-12-06 Dave Love <fx@gnu.org>
5192
67292061
DL
5193 * md5.h (__P): Don't define -- it comes from config.h.
5194
fbee3231
DL
5195 * strftime.c: Change some #if foo to #ifdef foo.
5196
4ee87dbb
AI
51972000-12-06 Andrew Innes <andrewi@gnu.org>
5198
5199 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5200
52283633 5201 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5202 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5203 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5204
9765b4a4
GM
52052000-12-06 Gerd Moellmann <gerd@gnu.org>
5206
d285b373
GM
5207 * alloc.c (gc_sweep): Prevent symbols read during loadup
5208 from being freed.
5209
384333ee
GM
5210 * xdisp.c (underlying_face_id): New function.
5211 (handle_face_prop, face_before_or_after_it_pos): Use it
5212 to determine the face ``under'' a string. Let strings inherit
5213 the face of the buffer under them.
5214
5215 * xfaces.c (face_at_string_position): Update function comment.
52283633 5216
d4b72d58
GM
5217 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5218 matrix if the window's left position has changed; we need to
5219 redraw it in this case.
5220
5221 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5222
e1d05387
GM
5223 * window.c (coordinates_in_window): Check mouse on mode-line or
5224 header-line first.
5225
eb1b0c74
GM
5226 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5227 advertized by the function documentation.
5228
d94d636f
GM
5229 * window.c (syms_of_window): Doc fix.
5230
3887b449
GM
5231 * sound.c (vox_configure): Set volume for left and right channel.
5232 (sound_cleanup): Return nil.
5233
efc8f57a
GM
5234 * xdisp.c (move_it_by_lines): Fix paren typo.
5235
9765b4a4
GM
5236 * xterm.c (x_load_font): Don't use the font's max_bounds for
5237 computing the height of the font. If max_bounds' ascent or
5238 descent are greater than the font's ascent or descent, this means
5239 glyphs overlap, which should be handled now by redisplay.
5240
6529ed87
GM
5241 * window.c (Veven_window_heights): New variable.
5242 (syms_of_window): DEFVAR_LISP it.
5243 (Fdisplay_buffer): Check Veven_window_heights before evening the
5244 window heights.
52283633 5245
0eb2ecde
MB
52462000-12-06 Miles Bader <miles@gnu.org>
5247
5248 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5249 update `default-frame-alist' instead of setting no frame parameters.
5250
03d7a167
KH
52512000-12-06 Kenichi Handa <handa@etl.go.jp>
5252
5253 * composite.c (update_compositions): Fix typo (use the correct
5254 variable).
5255
5f8803c2
JR
52562000-12-05 Jason Rumney <jasonr@gnu.org>
5257
5258 * md5.h: Remove underscores from function declarations.
5259 (__attribute__, __alignof__) [!__GNUC__]: Define.
5260
5261 * md5.c: Delay include of md5.h until after namespace cleaning.
5262
c28a075b
JR
5263 * makefile.w32-in (fns.o): Depend on md5.h
5264 (md5.o): New target.
5265 (sunfns.o): Remove.
5266
5267 * makefile.nt: Likewise.
5268
ff3c7056
JR
52692000-12-05 Jason Rumney <jasonr@altavista.net>
5270
5271 * w32term.c (expose_area): Complete last change.
5272
0c21eeeb
KR
52732000-12-05 Ken Raeburn <raeburn@gnu.org>
5274
5275 * minibuf.c: Include intervals.h.
5276
f201d732
JR
52772000-12-05 Jason Rumney <jasonr@gnu.org>
5278
5279 * w32term.c (x_produce_glyphs): If a font for a component of
5280 a composition is not found, use 1 pixel dot ascent and 0 dot
5281 descent value to avoid displaying terribly tall empty boxes.
5282 (expose_area): Pass x-coordinate relative to the exposed
5283 area to x_draw_glyphs instead of a window-relative coordinate.
5284
21999ab9
GM
52852000-12-05 Gerd Moellmann <gerd@gnu.org>
5286
4d2036e4
GM
5287 * xdisp.c (next_element_from_ellipsis): Save face before selective
5288 display in saved_face_id, and set face_before_selective_p.
5289 (reseat_1): Reset face_before_selective_p.
5290 (append_space, extend_face_to_end_of_line): If iterator's
5291 face_before_selective_p is set, use the face from saved_face_id.
5292 (extend_face_to_end_of_line): For tty frames, make sure to
5293 use the right face id when producing spaces at the end of
5294 the line.
5295
5296 * dispextern.h (struct it): Add face_before_selective_p.
5297
52be17cc
GM
5298 * keyboard.c (record_char): Don't record identical help-echo
5299 events in recent_keys.
5300
8a4f36cc
GM
5301 * xterm.c [USE_X_TOOLKIT]: Close the display.
5302 (xim_close_dpy): Handle case that the display has been closed.
5303
57d6e381
GM
5304 * xterm.c (x_destroy_window): Reset the frame's X window after
5305 destroying it.
5306
21999ab9
GM
5307 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5308 variable window_width.
5309 (line_draw_cost): Fix code skipping over spaces at the end of the
5310 line when must_write_spaces is not set.
5311 (scrolling_window): Fix code inserting runs in list of all runs.
5312
91372bb7
KH
53132000-12-05 Kenichi Handa <handa@etl.go.jp>
5314
5315 * coding.c (setup_coding_system): Be sure to initialize
5316 coding->category_idx.
5317
6c083b4c
GM
53182000-12-04 Gerd Moellmann <gerd@gnu.org>
5319
0c68ce6f 5320 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5321
6452929e
GM
5322 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5323 area to x_draw_glyphs instead of a window-relative coordinate.
5324
d7f31e22
GM
5325 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5326 error in the message.
5327
ae18aa3b
GM
5328 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5329 timer after having read a key. It's not good for code reading
5330 several keys in a loop, like an input method.
5331
caa15ef7
GM
5332 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5333 record undo information for format-decode.
5334
5335 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5336 current buffer is read-only, not if it isn't.
5337
6c083b4c
GM
5338 * keyboard.c (record_char): Record `help-echo' input events
5339 in recent_keys only if they display some help. Don't record
5340 `help-echo' events as macro char.
5341
caa15ef7
GM
53422000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5343
5344 * editfns.c (save_excursion_restore): Don't move point
5345 in another window if it is showing the wrong buffer.
5346 Avoid the call to Fwindow_live_p, for speed.
5347
5a13529b
KH
53482000-12-04 Kenichi Handa <handa@etl.go.jp>
5349
e225faa7
KH
5350 * xfaces.c (struct font_name): New member registry_priority.
5351 (split_font_name): Initialize the above member to zero.
5352 (concat_font_list): New function.
5353 (font_list): Include fonts of all alternative registries.
5354 (FONT_POINT_SIZE_QUANTUM): New macro.
5355 (better_font_p): Ignore point size difference less than
5356 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5357
e89648b4
KH
5358 * xterm.c (x_produce_glyphs): If a font for a component of
5359 a composition is not found, use 1 pixel dot ascent and 0 dot
5360 descent value to avoid displaying terribly tall empty boxes.
5361
5a13529b
KH
5362 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5363
d7935eb6
KR
53642000-12-03 Ken Raeburn <raeburn@gnu.org>
5365
5366 * coding.h (code_convert_string1): Declare.
5367
5368 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5369
52283633 5370 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5371
0dd5e255
JR
53722000-12-02 Jason Rumney <jasonr@gnu.org>
5373
5374 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5375 correctly for single byte character case.
5376 (w32_per_char_metric): Do not try to make any assumptions about
5377 the metrics of BDF fonts.
250cfece 5378 (x_estimate_mode_line_height): If `mode-line' face
52283633 5379 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5380 (note_mouse_highlight): Change the cursor shape on the vertical
5381 border between windows [not enabled].
5382
5383 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5384
5385 * w32fns.c (Fx_create_frame): Reintroduce the call to
5386 face-set-after-frame-defaults.
5387 (Vx_window_horizontal_drag_shape): New variable.
5388 (syms_of_xfns): DEFVAR_LISP it.
5389 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5390 enabled].
0dd5e255 5391
b5d8d2ca
GM
53922000-12-02 Simon Josefsson <simon@josefsson.org>
5393
5394 * fns.c (Fmd5): Use a different logic to decide the coding system
5395 to use.
5396
5397 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5398
fbb87147
EZ
53992000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5400
52283633 5401 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5402
447e9da0
GM
54032000-12-01 Gerd Moellmann <gerd@gnu.org>
5404
7708ced0
GM
5405 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5406 height for YNegative.
5407 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5408 height; also see comment there.
5409
447e9da0
GM
5410 * window.c (coordinates_in_window): Handle computations for
5411 positions on the vertical bar and fringes differently for
5412 window-system frames. Consider some pixels near the vertical bar
5413 as on the bar if the frame doesn't have vertical scroll bars.
5414 Associate positions between mode or header lines with the
5415 right window, the left one.
5416
86d1db20
JR
54172000-12-01 Jason Rumney <jasonr@gnu.org>
5418
5419 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5420
5421 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
5422 invalid frame.
5423
a1d58e5b
GM
54242000-12-01 Gerd Moellmann <gerd@gnu.org>
5425
52283633 5426 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
5427 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
5428 (save_window_save, Fset_window_configuration): Save/restore
5429 window's orig_top and orig_height.
5430
89c609af
JR
54312000-12-01 Jason Rumney <jasonr@gnu.org>
5432
4d177746 5433 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 5434
89c609af
JR
5435 * w32fns.c (x_set_cursor_color): Fix last change.
5436
eccc05db
GM
54372000-11-30 Gerd Moellmann <gerd@gnu.org>
5438
31b6671b
GM
5439 * xdisp.c (echo_area_display): If cursor is in the echo area, make
5440 sure that the next redisplay displays the minibuffer, so that
5441 the cursor will be replaced with what the minibuffer wants.
5442
eccc05db
GM
5443 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
5444 #ifndef instead of using #if.
5445 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
5446 USE_TOOLKIT_SCROLL_BARS is defined.
5447
162de750
JR
54482000-11-30 Jason Rumney <jasonr@gnu.org>
5449
5450 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
5451 x_display_cursor.
5452
693c4692
GM
54532000-11-30 Gerd Moellmann <gerd@gnu.org>
5454
5455 * fns.c (Fmd5): Doc fix.
5456
b5d8d2ca 54572000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
5458
5459 * fns.c (Fmd5): New function.
5460 (syms_of_fns): Defsubr md5.
5461
5462 * Makefile.in (obj): Add md5.o
5463
b02cd40b
GM
54642000-11-30 Gerd Moellmann <gerd@gnu.org>
5465
edfb795e
GM
5466 * md5.h, md5.c: New files, taken from glibc.
5467
df3aedcf
GM
5468 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5469
b02cd40b 5470 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 5471 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 5472
8b5176cd
SM
54732000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5474
5475 * eval.c (Frun_hooks): Allow 0 arguments.
5476
346598f1
GM
54772000-11-29 Gerd Moellmann <gerd@gnu.org>
5478
f9396e03
GM
5479 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5480 is over the menu bar widget, say it's not on the frame.
5481
4a967a9b
GM
5482 * xfns.c (Fx_create_frame): Reintroduce the call to
5483 face-set-after-frame-defaults.
5484
346598f1
GM
5485 * eval.c (Fsignal): Reset handling_signal.
5486
222456a1
JR
54872000-11-28 Jason Rumney <jasonr@gnu.org>
5488
5489 * w32menu.c (add_menu_item): Reset menu item text when changing
5490 type to radio button.
5491
8049ddc0
GM
54922000-11-28 Gerd Moellmann <gerd@gnu.org>
5493
346598f1 5494 * xselect.c: Update copyright.
f4f4ee4d 5495
bebe4a2c
GM
5496 * window.c (coordinates_in_window): If on a mode or header line,
5497 but sufficiently close to its start, return ``on vertical
5498 border''. This gives us a way to drag windows horizontally when
5499 using toolkit scroll bars.
5500
5501 * xterm.c (note_mouse_highlight): Change the cursor shape
5502 on the vertical border between windows.
5503
5504 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5505
5506 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5507 (syms_of_xfns): DEFVAR_LISP it.
5508 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5509
8d2c2642
GM
5510 * textprop.c (text_read_only): New function.
5511 (verify_interval_modification): Use it instead of signaling
5512 `text-read-only'. This makes it easier to catch this error
52283633 5513 with a breakpoint.:
8d2c2642 5514
52283633 5515 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
5516 not end of line, which includes CR.
5517
5a2bae6c
KH
55182000-11-28 Kenichi Handa <handa@etl.go.jp>
5519
5520 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5521 include no-conversion.
5522
ae31f84d
JR
55232000-11-27 Jason Rumney <jasonr@gnu.org>
5524
5525 * w32fns.c (w32_load_system_font): Always mark font as double byte
5526 if codepage is unicode.
5527
67f1cf4c
GM
55282000-11-27 Gerd Moellmann <gerd@gnu.org>
5529
4a74d071 5530 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5531 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5532
902ae620
GM
5533 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5534 `vertical-line', `mode-line' and `header-line' events.
5535
5536 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5537 of a character, a TAB for instance. This is easier than to set
5538 up the iterator exactly, and it's not a frequent case, so the
5539 additional effort wouldn't really pay off.
5540
c1e279c2
AC
55412000-11-26 Andrew Choi <akochoi@i-cable.com>
5542
67f1cf4c 5543 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5544 init_window_once.
5545
a609568a
JR
55462000-11-25 Jason Rumney <jasonr@gnu.org>
5547
52283633
SM
5548 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5549 Args to window_from_coordinates should be pixel coordinates.
48b21762 5550
a609568a
JR
5551 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5552 redisplay handles them properly.
5553
a658d039
MB
55542000-11-25 Miles Bader <miles@gnu.org>
5555
5556 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5557
d3416cca
JR
55582000-11-24 Jason Rumney <jasonr@gnu.org>
5559
5560 * w32.c (init_environment): Set LANG environment variable based on
5561 locale settings, if not set.
5562
5563 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5564 making tool bar smaller. When clearing the frame, also
5565 clear current matrices. Clear frame when tool bar disappears.
5566 Don't use more lines for the tool-bar than is available.
5567 (x_change_window_heights): New function.
5568
ba193890
GM
55692000-11-24 Gerd Moellmann <gerd@gnu.org>
5570
2be8f184
GM
5571 * xdisp.c (init_from_display_pos): If POS says we're already after
5572 an overlay string ending at POS, make sure to pop the iterator
5573 because it will be in front of that overlay string. When POS is
5574 ZV, we've thereby also ``processed'' overlay strings at ZV.
5575
ba193890
GM
5576 * xfaces.c (lface_from_face_name): Function comment fix.
5577
1862a24e
MB
55782000-11-24 Miles Bader <miles@gnu.org>
5579
5580 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5581 apply `mode-line-inverse-video' -- zero means force display using
5582 the default face, non-zero means display using the specialized face.
5583 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5584
f07fa1b8
KH
55852000-11-23 Kenichi Handa <handa@etl.go.jp>
5586
5587 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5588 hard coded `4'.
5589
2bcdf662
EZ
55902000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5591
5592 * coding.c (decode_coding_emacs_mule): Fix the case of
5593 CODING_EOL_LF, which used uninitialized value of c.
5594
ba8299ff
SM
55952000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5596
5597 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5598
f4117c4d
GM
55992000-11-22 Gerd Moellmann <gerd@gnu.org>
5600
03e757c1
GM
5601 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5602 buffer object.
5603
f4117c4d
GM
5604 * frame.h (struct frame): Replace desired_tool_bar_items,
5605 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 5606 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
5607
5608 * frame.c (make_frame): Change initialization of tool bar
5609 items accordingly.
5610
5611 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 5612 Change references to members deleted from struct frame to use the
f4117c4d
GM
5613 new ones.
5614
5615 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 5616 references to members deleted from struct frame to use the new ones.
f4117c4d 5617
52283633 5618 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
5619
5620 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
5621
5622 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 5623 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
5624 from struct frame to use the new ones.
5625
f8e2f3f2
MB
56262000-11-23 Miles Bader <miles@gnu.org>
5627
5628 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
5629 the face's inverse-video attribute, rather than overriding it.
5630
60e8e0a5
GM
56312000-11-22 Gerd Moellmann <gerd@gnu.org>
5632
5633 * xfns.c (x_set_tool_bar_lines): Clear internal border when
5634 making tool bar smaller.
5635
92dd1b29
DL
56362000-11-22 Dave Love <fx@gnu.org>
5637
5638 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
5639
e672fdce
MB
56402000-11-22 Miles Bader <miles@gnu.org>
5641
3a17d6cc
MB
5642 * keyboard.c (Vminibuffer_message_timeout): New variable.
5643 (command_loop_1): Use it to determine message timeout.
5644 (syms_of_keyboard): Initialize it.
5645
60e8e0a5 5646 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 5647
e9655d81
KH
56482000-11-22 Kenichi Handa <handa@etl.go.jp>
5649
5650 * sysdep.c: Move the code for declaring h_errno after #include
5651 <netdb.h>.
5652
77270fac
GM
56532000-11-21 Gerd Moellmann <gerd@gnu.org>
5654
cd913aae
GM
5655 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5656 the menu bar when the tooltip is unmapped.
5657
77270fac
GM
5658 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5659 sole visible buffer when we're currently in the mini-buffer, and
5660 give up if so.
52283633 5661
556635d6
JR
56622000-11-21 Jason Rumney <jasonr@gnu.org>
5663
5664 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5665 put on the clipboard.
5666 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5667 copy of what Emacs last put there. If they are the same, do not
52283633 5668 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5669
5b7bde64
MB
56702000-11-22 Miles Bader <miles@gnu.org>
5671
5672 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5673 (syms_of_minibuf): Initialize it.
5674 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5675 to prompt, don't make read-only.
5676
ff23e1dd
GM
56772000-11-21 Gerd Moellmann <gerd@gnu.org>
5678
52283633
SM
5679 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5680 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5681
7aaf4388
GM
5682 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5683
f5f47add 5684 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5685
ff23e1dd
GM
5686 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5687
37c35586
KH
56882000-11-21 Kenichi Handa <handa@etl.go.jp>
5689
5690 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5691 ... #endif scope.
5692
ff9ab414
GM
56932000-11-20 Gerd Moellmann <gerd@gnu.org>
5694
52283633 5695 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5696 screen supports it.
5697
29a01b72
GM
5698 * s/gnu-linux.h: Don't use `#cpu'.
5699
09dfdf85
GM
5700 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5701 not defined in mman.h.
5702
52283633 5703 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5704 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5705 and store an index in the XClientMessageEvent. Storing a
5706 Lisp_Object or pointer can fail on a 64 bit system, since X only
5707 transfers 32 bits.
52283633
SM
5708 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5709
81459ac9
DL
57102000-11-20 Dave Love <fx@gnu.org>
5711
5712 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5713
56c13ae6
GM
57142000-11-20 Gerd Moellmann <gerd@gnu.org>
5715
5716 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5717
495a6df3
KH
57182000-11-20 Kenichi Handa <handa@etl.go.jp>
5719
2bcf3714
KH
5720 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5721 by WIDTH.
5722
495a6df3
KH
5723 * alloc.c (make_string): Fix previous change. Be sure to make
5724 unibyte string correctly.
5725
6d950f4c
GM
57262000-11-19 Gerd Moellmann <gerd@gnu.org>
5727
39b39373
GM
5728 * window.c (Fwindow_list): Change parameter list to be XEmacs
5729 compatible.
5730 (window_list_1): New function.
5731 (window_loop): Use it instead of Fwindow_list.
5732
b95b34e5
GM
5733 * sysdep.c (emacs_ospeed): New variable.
5734 (toplevel): Don't declare ospeed extern.
5735 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5736
5737 * termcap.c (ospeed): Remove.
5738 (tputs) [!emacs]: Remove unused code.
5739 (tgetent): Avoid a compiler warning.
5740
e83dc917
GM
5741 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
5742 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 5743 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
5744
5745 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
5746 removed.
5747 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
5748 Take the X display as additional argument.
5749 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
5750 `Widget' is a pointer type that's not easily stored in Lisp_Object
5751 form in a portable way.
52283633 5752
6d950f4c
GM
5753 * dispnew.c (update_text_area): Fix last change.
5754
e47306e6
GM
57552000-11-18 Gerd Moellmann <gerd@gnu.org>
5756
fb3cd89b
GM
5757 * xdisp.c: Use BINDING_STACK_SIZE throughout.
5758
5759 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
5760 clear current matrices.
5761
edaa9aed
GM
5762 * buffer.c (mmap_enlarge): Don't print a message on stderr
5763 if mapping new memory at the end of the existing region fails.
5764
e47306e6
GM
5765 * dispnew.c (update_text_area): Don't skip over equal glyphs
5766 when the last current glyph overlaps the glyph to its right.
5767
509633e3
MB
57682000-11-18 Miles Bader <miles@gnu.org>
5769
5770 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
5771 lines that *end* with "..." too (that's the most common case!).
5772
d392e9c5
GM
57732000-11-18 Gerd Moellmann <gerd@gnu.org>
5774
67988445
GM
5775 * xdisp.c (resize_mini_window): Temporarily change to the
5776 mini-window's buffer if necessary.
1bfdbe43 5777
d392e9c5
GM
5778 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
5779 the tooltip obscures less text under it.
5780
57812000-11-17 Gerd Moellmann <gerd@gnu.org>
5782
5783 * puresize.h (BASE_PURESIZE): Increase to 700000.
5784
92bb977f
JR
57852000-11-18 Jason Rumney <jasonr@gnu.org>
5786
5787 * w32term.c (w32_draw_bitmap): Use face to set colors.
5788
26fbf20b
DL
57892000-11-17 Dave Love <fx@gnu.org>
5790
5791 * lread.c (Fload): Fix #ifdef for pcc.
5792
100b593b
GM
57932000-11-17 Gerd Moellmann <gerd@gnu.org>
5794
5795 * xdisp.c (pos_visible_p): Compute the default character height
5796 differently.
5797
a288d0d1
GM
57982000-11-16 Gerd Moellmann <gerd@gnu.org>
5799
cac94de6 5800 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 5801 knowing the line's height; use the default font's height in that case.
cac94de6 5802
a288d0d1
GM
5803 * xfaces.c (weight_table): Add `demi' with the same meaning as
5804 `demibold'.
5805
981fb6f6
KH
58062000-11-16 Kenichi Handa <handa@etl.go.jp>
5807
2cca872d 5808 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
5809 (clear_glyph_row): Delete local static variable null_row.
5810
e5fa381b
JR
58112000-11-15 Jason Rumney <jasonr@gnu.org>
5812
5813 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
5814 (w32_alloc_lighter_color): Use new brightness calculations from
5815 xterm.c. Scale delta to be in the range expected by W32.
5816 (w32_draw_relief_rect): Use frame relief colors.
5817
8e42f043
GM
58182000-11-15 Gerd Moellmann <gerd@gnu.org>
5819
6d133d1f
GM
5820 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
5821 (Qinhibit_default_face_x_resources): New variable.
5822 (syms_of_frame): Initialize it.
5823 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
5824
5825 * xdisp.c (pos_visible_p): Improve function comment.
5826
5827 * lisp.h (BINDING_STACK_SIZE): New macro.
5828
8e42f043
GM
5829 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
5830 reading the directory if readdir returns null and errno is EAGAIN
5831 or EINTR.
5832
e8c87124
SM
58332000-11-14 Stefan Monnier <monnier@cs.yale.edu>
5834
5835 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
5836 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
5837 Set amount_to_scroll to max of dx and scroll_step so that
5838 scroll-conservatively doesn't defeat scroll-step>1.
5839 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
5840 scroll-conservatively for line-at-a-time scrolling.
5841
5f0c971d
GM
58422000-11-14 Gerd Moellmann <gerd@gnu.org>
5843
5844 * window.c (Fpos_visible_in_window_p): Call pos_visible with
5845 extra argument.
5846
5847 * xdisp.c (current_mode_line_height, current_header_line_height):
5848 New variables.
5849 (init_xdisp): Initialize them.
5850 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
5851 and use exact mode line heights if it is set.
5852
5853 * lisp.h (pos_visible_p): Change prototype.
5854
5855 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
5856 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
5857 and current_header_line_height first.
52283633
SM
5858 (current_mode_line_height, current_header_line_height):
5859 Declare extern.
5f0c971d 5860
d7361edf
MB
58612000-11-14 Miles Bader <miles@lsi.nec.co.jp>
5862
5863 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
5864 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
5865 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
5866
ee5e440a
MB
58672000-11-14 Miles Bader <miles@gnu.org>
5868
5869 * xterm.c (x_alloc_lighter_color): Include an additive component
5870 too for dark colors, because FACTOR isn't enough.
5871 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
5872 New macros.
5873
5ca020fc
GM
58742000-11-13 Gerd Moellmann <gerd@gnu.org>
5875
5876 * keyboard.c (show_help_echo): Call message3_nolog with number of
5877 bytes in the help string as 2nd parameter, instead of the number
5878 of characters.
5879
9d348294
MB
58802000-11-13 Miles Bader <miles@gnu.org>
5881
5882 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
5883 (Fload): Use new openp return protocol.
5884 Don't try to use Vload_source_file_function to load .elc files.
5885 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
5886 openp return protocol.
5887 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
5888
1729bb9a
KH
58892000-11-11 Kenichi Handa <handa@etl.go.jp>
5890
4e677396
KH
5891 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
5892
5893 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
5894 Defined these macros.
5895 (NLIST_STRUCT): Avoid re-defining it.
5896
1729bb9a
KH
5897 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
5898 -I/usr/contrib/X11R6/include.
5899 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
5900
a82fe213
JR
59012000-11-10 Jason Rumney <jasonr@gnu.org>
5902
5903 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
5904
5905 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
5906 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
5907
5908 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
5909 (Qw32_charset_vietnamese): New symbol.
5910 (xlfd_charset_of_font): New function.
5911 (w32_load_system_font): Use it.
5912 (x_to_w32_charset): Use Fassoc to find charset info. Special case
5913 when Vw32_charset_info_alist is nil to ensure default face always
5914 has font. Use Fcar and Fcdr for safety.
5915 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
5916 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
5917 pseudo-codepages for special cases.
5918 (w32_to_x_font): New parameter to allow charset portion to be
5919 specified where there is many to one mapping. Callers changed.
5920 (w32_list_fonts): Avoid listing fonts that won't display.
5921
52d89894
GM
59222000-11-10 Gerd Moellmann <gerd@gnu.org>
5923
5924 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
5925 (font_list_1): Renamed from font_list.
5926 (font_list): New function, trying alternative registries from
5927 Vface_alternative_font_registry_alist.
5928 (Finternal_set_alternative_font_registry_alist): New function.
5929 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
5930 Vface_alternative_font_registry_alist.
5931 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 5932
651cd3da
KR
59332000-11-09 Ken Raeburn <raeburn@gnu.org>
5934
5935 * lisp.h (Flooking_at): Declare.
5936
388ac098
GM
59372000-11-09 Gerd Moellmann <gerd@gnu.org>
5938
778fbc46 5939 * dired.c (directory_files_internal): Fix a braino.
52283633 5940
388ac098
GM
5941 * dired.c (directory_files_internal): Add missing GCPRO's.
5942 Some cleanup.
5943
ecaedde1
GM
59442000-11-08 Gerd Moellmann <gerd@gnu.org>
5945
f7eb32aa
GM
5946 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
5947 (resize_mini_window): Return quickly if Vresize_mini_window is
5948 nil. Don't return if Vmax_mini_window_height is nil.
5949
5950 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
5951 (syms_of_xdisp): Initialize them.
5952 (resize_mini_window): Act according to the setting of
5953 Vresize_mini_window.
5954 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
5955
ecaedde1
GM
5956 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
5957 scroll bar widget after configuring it, so that it will appear at
5958 the right position from the start.
5959 (XTredeem_scroll_bar): Cleaned up.
5960
3747ef2c
KH
59612000-11-08 Kenichi Handa <handa@etl.go.jp>
5962
5963 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 5964 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
5965 division by two.
5966
5967 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
5968
03391420
DL
59692000-11-07 Dave Love <fx@gnu.org>
5970
7758f1c1 5971 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
5972
5973 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
5974
b5de343d
GM
59752000-11-07 Gerd Moellmann <gerd@gnu.org>
5976
acad3c0b
GM
5977 * window.c (Fset_window_configuration): Don't try to preserve
5978 point in the current buffer, if that buffer is displayed in more
5979 than one window.
5980
b5de343d
GM
5981 * xfaces.c (lookup_named_face): If default face isn't realized,
5982 try to realize it. Return -1 if not successful.
5983 (Fx_list_fonts): Handle case that face cannot be determined.
5984 (Fface_font): Likewise.
5985
cdb1fe49
GM
59862000-11-06 Gerd Moellmann <gerd@gnu.org>
5987
5988 * window.c (displayed_window_lines): Detect partially
5989 visible lines at the bottom correctly.
5990
d3a67486
SM
59912000-11-06 Stefan Monnier <monnier@cs.yale.edu>
5992
5993 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
5994 when ensuring we don't do visit in indirect buffer.
5995
ff8dd5d5
KH
59962000-11-06 Kenichi Handa <handa@etl.go.jp>
5997
5998 * composite.h (compose_chars_in_text): Add prototype.
5999
6000 * composite.c (Vcomposition_function_table): New variable.
6001 (Qcomposition_function_table): New variable.
6002 (run_composition_function): Call
6003 Vcompose_chars_after_function with three arguments.
6004 (compose_chars_in_text): New function.
6005 (syms_of_composite): Modified the doc-string of
6006 Vcompose_chars_after_function. Declare composition-function-table
6007 as a lisp variable, and initialize it.
6008
6009 * xfns.c (x_encode_text): Suppress producing escape sequences for
6010 composition.
6011
6012 * xselect.c: Include composite.h.
6013 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6014
d1145f85
AI
60152000-11-05 Andrew Innes <andrewi@gnu.org>
6016
6017 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6018
6019 * sysdep.c (read_input_waiting): Remove extraneous argument to
6020 read_socket_hook.
6021
6022 * w32fns.c (Fx_server_version): Include w32_build_number in the
6023 return list.
6024
6025 * w32heap.c (w32_build_number): New variable.
6026 (cache_system_info): Set it.
6027
6028 * w32heap.h (w32_build_number): Add extern.
6029
6030 * emacs.c (syms_of_emacs): Update docstring for
6031 system-configuration, to reflect the actual usage on MS-Windows.
6032
e85ee976
GM
60332000-10-31 Gerd Moellmann <gerd@gnu.org>
6034
26dcb81b
GM
6035 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6036 process idle timers while waiting for another event.
6037
52283633 6038 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6039 the default face are colored.
6040
e85ee976
GM
6041 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6042 window height hasn't changed.
6043
01b220b6
JR
60442000-10-31 Jason Rumney <jasonr@gnu.org>
6045
6046 * w32term.c (x_produce_glyphs): Handle composite characters.
6047 (x_draw_glyph_string_foreground)
6048 (x_draw_composite_glyph_string_foreground): Restore old font.
6049
4e6b7204
MB
60502000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6051
6052 * minibuf.c (read_minibuf): Reset the undo history just before
6053 starting the recursive-edit.
6054
d4358b37
GM
60552000-10-30 Gerd Moellmann <gerd@gnu.org>
6056
563f68f1
GM
6057 * xfaces.c (menu_face_change_count): New variable.
6058 (Finternal_set_lisp_face_attribute): Increment it for changes
6059 of the `menu' face.
6060 (realize_basic_faces): Reflect changes in the `menu' faces
6061 in menu bars.
6062
82e274d1
GM
6063 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6064 dy obtained from the iterator's y-position after moving from
6065 scroll_margin_pos to PT; see comment there.
52283633 6066
0dbf9fd2
GM
6067 * xdisp.c (safe_eval_handler): Call add_to_log.
6068
906b3b14
GM
6069 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6070 is not a symbol or string.
6071
d4358b37
GM
6072 * xdisp.c (echo_area_display): Don't perform a display update from
6073 inside redisplay. The update will happen anyway at the end of
6074 redisplay, and it can confuse redisplay (GC messages while
6075 redisplaying, for instance.)
6076
70c825df
SM
60772000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6078
cf9b4b0b
SM
6079 * xrdb.c (x_load_resources): Use the class name in the defaults.
6080
70c825df
SM
6081 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6082 (regex_compile): Catch bogus \(\1\).
6083
a1d34b1e
GM
60842000-10-30 Gerd Moellmann <gerd@gnu.org>
6085
cae71efe
GM
6086 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6087 RGB values.
52283633 6088
35efe0a1
GM
6089 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6090 we have a color cache, check that the cached color equals the
6091 allocated color. If not, clear the color cache.
6092
1d3baf74
GM
6093 * window.c (displayed_window_lines): Change buffers if necessary.
6094 Fix computation of displayed lines.
6095
a1d34b1e
GM
6096 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6097 update_menu_bindings to DEFVAR_BOOL.
6098
70737ea9
KH
60992000-10-30 Kenichi Handa <handa@etl.go.jp>
6100
70c825df 6101 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6102
fa0cb51d
KH
6103 * puresize.h (BASE_PURESIZE): Increase to 680000.
6104
70737ea9
KH
6105 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6106
0e4c08e8
JR
61072000-10-29 Jason Rumney <jasonr@gnu.org>
6108
6109 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6110
6111 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6112 (w32_cache_char_metrics): Handle possibility that 'x' does not
6113 exist in a BDF font.
6114 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6115
6116 * w32bdf.h (bdffont): Add nchars.
6117
6118 * w32bdf.c (set_bdf_font_info): Set it.
6119 (w32_BDF_TextOut): Swap byte order of double byte characters.
6120 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6121
45b84006
EZ
61222000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6123
6124 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6125 don't override the colors in frame's param_alist, unless they are
6126 unspecified.
6127
6128 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6129 reverse the effect of the highlight flag.
6130
caf9deee
KR
61312000-10-27 Ken Raeburn <raeburn@gnu.org>
6132
6133 * window.h (Fwindow_live_p): Declare.
6134
ae0b9b46
KR
6135 * undo.c (record_delete): Check that last_undo_buffer is really a
6136 buffer before applying XBUFFER to it.
6137
6138 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6139 Faref.
6140
02067692
SM
61412000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6142
6143 * lisp.h (KEYMAPP): New macro.
6144 (get_keymap): Remove.
6145 (get_keymap_1): Rename get_keymap.
6146
6147 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6148
6149 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6150
6151 * xmenu.c (single_submenu): Use KEYMAPP.
6152 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6153 Use KEYMAPP rather than Fkeymapp.
6154
6155 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6156
6157 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6158 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6159 Use KEYMAPP rather than Fkeymapp.
6160 (single_submenu): Use KEYMAPP.
6161 (w32_menu_show, w32_dialog_show): Use TRUE.
6162
6163 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6164
6165 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6166 (Fkeymapp): Use KEYMAPP.
6167 (get_keymap): Rename from get_keymap_1. Remove old def.
6168 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6169 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6170 (Fminor_mode_key_binding): Don't raise an error if the binding
6171 is not a keymap.
6172 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6173 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6174
6175 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6176 Allow Vspecial_event_map to be autoloaded.
6177 (menu_bar_items): Fetch the keymap rather than using keymapp.
6178 (menu_bar_one_keymap): No need to follow func-indirect any more.
6179 (parse_menu_item): get_keymap_1 -> get_keymap.
6180 (tool_bar_items): Fetch the keymap rather than using keymapp.
6181 (read_key_sequence): Use KEYMAPP.
6182
6183 * intervals.c (get_local_map): Use get_keymap rather than following
6184 function-indirections explicitly.
6185
6186 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6187
f9d80af3
JR
61882000-10-27 Jason Rumney <jasonr@gnu.org>
6189
6190 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6191 point, as Windows has oversized fonts.
6192
6193 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6194
a3ba27da
GM
61952000-10-27 Gerd Moellmann <gerd@gnu.org>
6196
6197 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6198 (freehook, reallochook): Handle null pointer arguments.
6199 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6200
aa3b80cc
SM
62012000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6202
6203 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6204 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6205 Giving in to popular pressure to shut up the compiler with casts.
6206
e24e84cc
GM
62072000-10-27 Gerd Moellmann <gerd@gnu.org>
6208
6209 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6210 signed value, and use a default value computed from the font's
6211 maximum descent.
6212
05ea7ef2
MB
62132000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6214
6215 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6216 that specify a negative underline position can still use underlines.
6217
6218 * window.c (Fpos_visible_in_window_p): Make POS default to
6219 WINDOW's point, not the current buffer's point.
6220
0b95284b
DL
62212000-10-26 Dave Love <fx@gnu.org>
6222
6223 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6224 when it's necessary.
6225
6c5b90af
GM
62262000-10-26 Gerd Moellmann <gerd@gnu.org>
6227
8b6d9dc9
GM
6228 * window.c (size_window): Compute size difference from sum of old
6229 child window sizes instead of from parent's size.
6230
6bc92b2e
GM
6231 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6232 Handle obscured lines at the top of the window.
6233
6234 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6235 down after the last error condition check.
6236
6c5b90af
GM
6237 * frame.c (Fdelete_frame): Run delete-frame-hook.
6238
42f92d4d
KH
62392000-10-26 Kenichi Handa <handa@etl.go.jp>
6240
6241 * coding.c (decode_coding): Fix previous change (check also
6242 CODING_MODE_LAST_BLOCK).
6243
d97151cb
SM
62442000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6245
e7efc503
SM
6246 * regex.c: More `unsigned char' -> `re_char' changes.
6247 Also change several `int' into `re_wchar_t'.
6248 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6249 (PUSH_FAILURE_POINTER): Don't cast any more.
6250 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6251 We want GCC to complain, since this piece of code makes
6252 re_match non-reentrant, which *should* be fixed.
6253 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6254 (EXTEND_BUFFER): Use RETALLOC.
6255 (SET_LIST_BIT): Don't cast.
6256 (re_wchar_t): New type.
6257 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6258 that those two functions will always properly return.
6259 (IMMEDIATE_QUIT_CHECK): Cast to void.
6260 (analyse_first): Use recursion rather than an explicit stack.
6261 (re_compile_fastmap): Can't fail anymore.
6262 (re_search_2): Don't check re_compile_fastmap for failure.
6263 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6264 Now also sets the new value (passed in a new argument).
6265 (re_match_2_internal): Use it.
6266 Also, use a new var `reg' of type size_t when looping through regs
6267 rather than reuse the inappropriate `mcnt'.
6268
d97151cb
SM
6269 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6270 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6271 (where_is_internal): Renamed from Fwhere_is_internal.
6272 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6273 (Fwhere_is_internal): New function wrapping where_is_internal.
6274 (where_is_internal_1): Handle the case where we're filling the cache.
6275 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6276
d5789b65
MB
62772000-10-25 Miles Bader <miles@gnu.org>
6278
6279 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6280
4ecda532
GM
62812000-10-25 Gerd Moellmann <gerd@gnu.org>
6282
6283 * window.c (pos_fully_visible_p): Removed.
6284 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6285 if position is visible and/or fully visible.
6286
6287 * lisp.h (pos_visible_p): Add prototype.
6288
6289 * xdisp.c (pos_visible_p): New function.
6290
68c3a137
KH
62912000-10-25 Kenichi Handa <handa@etl.go.jp>
6292
6293 * process.c (send_process): If OBJECT is t, it means that the data
6294 is from C string, but we should encode it. Before calling
6295 setup_raw_text_coding_system, be sure to flush out data by the
6296 previous coding system.
6297
7ae1c032
MB
62982000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6299
ff4dcd4b
MB
6300 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6301 assignment of startpos to prev when startpos == pos.
6302
7ae1c032
MB
6303 * editfns.c (find_field): Set the field stickiness correctly from
6304 overlay fields. Use renamed `text_property_stickiness'.
6305 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6306 Only check text properties, not overlays.
7ae1c032
MB
6307 * textprop.c (get_char_property_and_overlay): New function.
6308 (Fget_char_property): Use it.
6309 * intervals.h (get_char_property_and_overlay): Add declaration.
6310
49801145
SM
63112000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6312
6313 * keymap.c: Use AREF, ASET and ASIZE macros.
6314 (Fmake_sparse_keymap): Docstring fix.
6315 (synkey): Remove.
6316 (shadow_lookup): Move up.
6317 Handle the case where lookup-key returns an integer.
6318 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6319 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6320 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6321 Simplify/rewrite the keymap-finding code.
6322 Add check for command shadowing, using shadow_lookup.
6323
39e776cd
SM
63242000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6325
6326 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6327 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6328 a symbol.
6329
2488aba5
AI
63302000-10-24 Andrew Innes <andrewi@gnu.org>
6331
6332 * dired.c (directory_files_internal_unwind): New function.
6333 (directory_files_internal): Use it to ensure closedir is called
6334 even if expand-file-name or file-attributes throw, eg. because of
6335 a user interrupt. Also enable immediate_quit while calling
6336 re_search, so that matching can be interrupted as well.
6337
b94fdf61
AI
63382000-10-24 Andrew Innes <andrewi@gnu.org>
6339
6340 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6341 NT-Emacs only.
6342 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6343 so that re_search functions only quit when callers expect them to.
6344
63452000-10-24 Kenichi Handa <handa@etl.go.jp>
6346
6347 * regex.c (regex_compile): Change the way of handling a range from
6348 a char less than 256 to a char not less than 256.
6349
1946f901
GM
63502000-10-24 Gerd Moellmann <gerd@gnu.org>
6351
7ae2f10f
GM
6352 * window.c (size_window): Prevent setting window's width or
6353 height to a negative value (esp. with XSETFASTINT).
6354
5dcab13e
GM
6355 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6356 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6357 (protect_malloc_state) [GC_MALLOC_CHECK &&
6358 GC_PROTECT_MALLOC_STATE]: New function.
6359 (PROTECT_MALLOC_STATE): New macro.
6360 (__malloc_initialize, morecore, _malloc_internal)
6361 (_free_internal) _realloc_internal): Use it to make _heapinfo
6362 read-only outside of gmalloc.
6363
63e1b552
GM
6364 * keymap.c: Update copyright.
6365
1946f901
GM
6366 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6367 a symbol.
6368
4fa09beb
GM
63692000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6370
6371 * filelock.c (unlock_all_files): Use unlock_file to expand each
6372 buffer's file_truename before trying remove its lock file.
6373
23afac01
EZ
63742000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6375
6376 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6377 or CRLF, decode EOLs.
6378
04448b95
KH
63792000-10-24 Kenichi Handa <handa@etl.go.jp>
6380
6381 * window.c (Fdisplay_buffer): Fix doc.
6382
3090a5a5
JR
63832000-10-23 Jason Rumney <jasonr@gnu.org>
6384
6385 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6386 ASCII font of default fontset on Windows.
6387
6388 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6389 xterm.c comment below).
6390
6391 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6392
a83fee2c
GM
63932000-10-23 Gerd Moellmann <gerd@gnu.org>
6394
6395 * xterm.c (x_connection_closed): Reset handling_signal.
6396
52283633 6397 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6398
6ffdb539
MB
63992000-10-23 Miles Bader <miles@gnu.org>
6400
6401 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6402 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6403 maintain old behavior.
6404 * minibuf.c (Fminibuffer_complete): Likewise.
6405
7f1c969b
MB
64062000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6407
6408 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6409 that when a font can't be exactly centered, it errs up rather than
6410 down.
6411
23afac01 64122000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 6413
52283633 6414 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 6415
1a578e9b
AC
64162000-10-23 Andrew Choi <akochoi@i-cable.com>
6417
6418 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6419
6420 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 6421 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
6422
6423 * emacs.c (main) [macintosh]: Call syms_of_textprop,
6424 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
6425 syms_of_search, x_term_init, and init_keyboard before calling
6426 init_window_once. Also, call syms_of_xmenu.
6427
6428 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
6429 default fontset to Monaco.
6430
6431 * frame.c [macintosh]: Include macterm.h. Remove declarations of
6432 NewMacWindow and DisposeMacWindow.
6433 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
6434 instead of calling NewMacWindow and setting fields of
6435 f->output_data.mac directly. Call init_frame_faces.
6436 (Fdelete_frame) [macintosh]: Remove unused code.
6437 (Fmodify_frame_parameters) [macintosh]: Call
6438 x_set_frame_parameters instead of mac_set_frame_parameters.
6439
6440 * frame.h [macintosh]: Define menu_bar_lines field in struct
6441 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
6442
6443 * keyboard.c [macintosh]: Include macterm.h.
6444 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
6445 and menu_bar_activate_event type events as for X and NT.
6446 (make_lispy_event) [macintosh]: Construct lisp events of type
6447 MENU_BAR_EVENT as for X and NT.
6448
6449 * sysdep.c [macintosh]: Remove declaration for sys_signal.
6450 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
6451 (sys_subshell) [macintosh]: Remove definition entirely.
6452 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
6453 Vwindow_system_version here. Remove initialization of
6454 Vx_bitmap_file_path.
6455 (read_input_waiting): Correct the number of parameters passed to
6456 read_socket_hook.
6457 Move all Macintosh functions to mac/mac.c.
6458
6459 * term.c [macintosh]: Include macterm.h.
6460
6461 * window.c [macintosh]: Include macterm.h.
6462
6463 * xdisp.c [macintosh]: Include macterm.h. Declare
6464 set_frame_menubar and pending_menu_activation.
6465 (echo_area_display) [macintosh]: Do not return if terminal frame
6466 is the selected frame.
6467 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
6468 Allow only the selected frame to set menu bar.
6469 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6470 calling FRAME_EXTERNAL_MENU_BAR (f).
6471 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6472
6473 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6474 and check_x. Declare XCreateGC. Define x_create_gc and
6475 x_free_gc. Initialize font_sort_order.
6476 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6477 but call x_list_fonts instead of w32_list_fonts.
6478 (Finternal_face_x_get_resource) [macintosh]: Do not call
6479 display_x_get_resource.
6480 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6481 (realize_x_face) [macintosh]: Load the font if it is specified in
6482 ATTRS.
52283633 6483 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6484
1ffbabe3
SM
64852000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6486
6487 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6488 is nil: since we go to the end of submap anyway, we'd end up
6489 setting nil to nil.
6490 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6491 doesn't obey autoload.
6492
bed43f1d
EZ
64932000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6494
1ffbabe3 6495 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 6496
ea4233a7
JR
64972000-10-21 Jason Rumney <jasonr@gnu.org>
6498
6499 * w32term.c (w32_cache_char_metrics): Double check that font is
6500 really fixed pitch before trusting tmPitchAndFamily.
6501
f3d3c491
AI
65022000-10-21 Andrew Innes <andrewi@gnu.org>
6503
6504 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6505
6506 * w32term.h: Extern decl for w32_cache_char_metrics.
6507
6508 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6509
6510 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6511 (w32_unload_font): Free per_char array if present.
6512
6513 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6514 cached information in emulated XFontStruct to handle common cases
6515 quickly. Do not allocate XCharStruct for return.
6516 (w32_native_per_char_metric): New function.
6517 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6518 allocating one.
6519 (x_produce_glyphs): Don't get an HDC. Change calls to
6520 w32_per_char_metric to match arg change above. Remove calls to
6521 free results.
6522 (w32_get_glyph_overhangs): Ditto.
6523 (w32_cache_char_metrics): New function.
6524
6525 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6526 ($(BLD)/casefiddle.$(O)): Remove compile command.
6527 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6528 ($(BLD)/dispnew.obj):
6529 ($(BLD)/keyboard.obj):
6530 ($(BLD)/w32inevt.obj):
6531 ($(BLD)/w32bdf.obj):
6532 ($(BLD)/alloc.obj):
6533 ($(BLD)/buffer.obj):
6534 ($(BLD)/editfns.obj):
6535 ($(BLD)/emacs.obj):
6536 ($(BLD)/fileio.obj):
6537 ($(BLD)/fns.obj):
6538 ($(BLD)/indent.obj):
6539 ($(BLD)/insdel.obj):
6540 ($(BLD)/intervals.obj):
6541 ($(BLD)/minibuf.obj):
6542 ($(BLD)/print.obj):
6543 ($(BLD)/scroll.obj):
6544 ($(BLD)/sysdep.obj):
6545 ($(BLD)/textprop.obj):
6546 ($(BLD)/widget.obj):
f3d3c491
AI
6547 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6548 ($(BLD)/term.obj): Add dependency on dispextern.h.
6549
52283633
SM
6550 * makefile.nt ($(BLD)\dispnew.obj):
6551 ($(BLD)\keyboard.obj):
6552 ($(BLD)\w32inevt.obj):
6553 ($(BLD)\w32bdf.obj):
6554 ($(BLD)\alloc.obj):
6555 ($(BLD)\buffer.obj):
6556 ($(BLD)\editfns.obj):
6557 ($(BLD)\emacs.obj):
6558 ($(BLD)\fileio.obj):
6559 ($(BLD)\fns.obj):
6560 ($(BLD)\indent.obj):
6561 ($(BLD)\insdel.obj):
6562 ($(BLD)\intervals.obj):
6563 ($(BLD)\minibuf.obj):
6564 ($(BLD)\print.obj):
6565 ($(BLD)\scroll.obj):
6566 ($(BLD)\sysdep.obj):
6567 ($(BLD)\textprop.obj):
6568 ($(BLD)\widget.obj):
f3d3c491
AI
6569 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6570 ($(BLD)\term.obj): Add dependency on dispextern.h
6571
18ad4821
EZ
65722000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6573
6574 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6575 with an additional argument of Qt.
6576
de54681a
MB
65772000-10-21 Miles Bader <miles@gnu.org>
6578
6579 * window.c (pos_fully_visible_in_window_p): New function.
6580 (Fpos_visible_in_window_p): Add FULLY argument.
6581 Use pos_fully_visible_in_window_p.
6582 (window_scroll_pixel_based, window_scroll_line_based): Update
6583 calls to Fpos_visible_in_window_p.
6584 * lisp.h (Fpos_visible_in_window_p): Update prototype
6585
13c844fb
GM
65862000-10-20 Gerd Moellmann <gerd@gnu.org>
6587
6588 * alloc.c (toplevel): Conditionalize compilation of mem_*
6589 functions differently.
52283633 6590
d9506268
JR
65912000-10-20 Jason Rumney <jasonr@gnu.org>
6592
6593 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6594 mem_init where it used to be. mem_z etc not defined otherwise.
6595
8094989b
GM
65962000-10-20 Gerd Moellmann <gerd@gnu.org>
6597
6598 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6599 GC_MALLOC_CHECK.
6600 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6601 structure definition and related variabled to the top of the file.
6602 Include this code when GC_MALLOC_CHECK is defined.
6603 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
6604 register/unregister allocated region.
6605 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
6606 which isn't allocated.
6607 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
6608 something which is already in use.
6609 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
6610 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
6611 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
6612 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
6613
6614 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
6615 _malloc_internal instead of malloc.
6616 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
6617 of free.
6618
ea456eb4
AI
66192000-10-20 Andrew Innes <andrewi@gnu.org>
6620
6621 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
6622 Windows.
6623 (my_strftime) <macro>: Don't use macro arg list when redefining as
6624 _strftime_copytm.
6625 (my_strftime) <function>: Supply 0 as ut argument.
6626
e64c3a75
JR
66272000-10-19 Jason Rumney <jasonr@altavista.net>
6628
6629 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
6630 including dispextern.h, as it stops faces from working.
6631
6632 * w32fns.c (Fx_create_frame): Don't bother calling
6633 face-set-after-frame-default since the caller does it for us
6634 anyway. Clean up calls to x_get_arg to be consistent with X.
6635
6636 * w32term.c (x_produce_glyphs): Handle
6637 unibyte_display_via_language_environment correctly.
6638 (w32_draw_box_rect): Fix the calculation of width and height.
6639
6640 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
6641 as it has stopped working.
6642 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
6643 menu-bar.
6644
17401c97
GM
66452000-10-19 Gerd Moellmann <gerd@gnu.org>
6646
6647 * eval.c (skip_debugger): Prevent a compiler warning.
6648 (Fcondition_case): Likewise.
6649 (Fbacktrace_frame): Use a null interactive spec.
6650
773272d8
KH
66512000-10-19 Kenichi Handa <handa@etl.go.jp>
6652
6653 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6654
a42943e9
GM
66552000-10-18 Gerd Moellmann <gerd@gnu.org>
6656
e50517d9
GM
6657 * strftime.c: Sync with glibc, file version 1.78.
6658 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6659 should no longer be used according to ISO 8601.
6660
9035a35a
GM
6661 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6662 no map for meta_prefix_char, don't try to use it as a keymap.
6663 Instead, if T_OK is non-zero, look up a default binding, if any,
6664 otherwise, if T_OK is zero, return nil.
6665
a42943e9
GM
6666 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6667 (x_to_xcolors, png_load): Use x_query_color.
6668
52283633
SM
6669 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6670 New functions.
a42943e9
GM
6671 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6672 which can be slow.
6673 (x_copy_color, x_alloc_lighter_color): Likewise.
6674
6675 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6676 (x_query_color, x_query_colors): Add prototype.
6677
6678 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6679 check_string_bytes only if not noninteractive, increase count to 50.
6680
00de2987
MB
66812000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6682
6683 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6684 markers correctly.
6685
54918e2b
GM
66862000-10-17 Gerd Moellmann <gerd@gnu.org>
6687
1f0b3fd2
GM
6688 * alloc.c (pure_bytes_used): Renamed from pureptr.
6689 (ALIGN): New macro.
6690 (pure_alloc): New function.
6691 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6692 Use it.
6693 (Fpurecopy): Use PURE_POINTER_P.
6694
68c5d1db
GM
6695 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6696 PT has moved backward.
52283633 6697
9a038881
GM
6698 * xdisp.c (cursor_row_p): Take continued lines into account.
6699
361b097f
GM
6700 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6701 string's size_byte.
6702 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6703 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6704 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6705 string allocated.
6706
54918e2b
GM
6707 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6708 of selective display off while searching for the next line start.
6709
03ed0806
KH
67102000-10-17 Kenichi Handa <handa@etl.go.jp>
6711
6712 * Makefile.in (term.o): Depend on dispextern.h.
6713
7e05cdaf
SM
67142000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6715
6716 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6717
a6801fd1
GM
67182000-10-16 Gerd Moellmann <gerd@gnu.org>
6719
483de32b
GM
6720 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6721 the iterator at the beginning, so that they can be set later on,
6722 for instance in reseat_at_next_visible_line_start, without being
6723 overwritten.
6724
a6801fd1
GM
6725 * xfns.c (pbm_format): Add :foreground and :background keywords.
6726 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6727 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6728
dbf1fcc1
EZ
67292000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6730
6731 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6732
52283633 6733 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6734
6735 * msdos.c (IT_set_face): Compare highlighted face with the default
6736 face, and invert colors if these faces' colors are identical.
6737 (Fmsdos_remember_default_colors): Don't swap foreground and
6738 background colors in initial_colors[].
6739 (IT_set_frame_parameters): Don't swap frame's foreground and
6740 background pixels. If ALIST includes "(reverse . t)", swap
6741 foreground-color and background-color properties in frame's
6742 param_alist. If the original frame's param_alist doesn't specify
6743 the colors, store unspecified-fg and unspecified-bg, reversed if
6744 required.
6745
6746 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
6747 the colors are unspecified and reversed, reverse fore- and back-
6748 ground in the returned value.
6749 (Fframe_parameter): Ditto.
6750
b41fe2c3 67512000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 6752
3a6b59d9
GM
6753 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
6754 get_last_unchanged_at_beg_row.
6755 (find_first_unchanged_at_end_row): Renamed from
6756 get_first_unchanged_at_end_row.
6757 (find_first_unchanged_at_end_row): Convert assertions to
6758 unconditional tests which abort. When looking for a row in
6759 unchanged text, don't go further back than first_text_row.
6760
b41fe2c3
GM
6761 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
6762 Don't add in the last line's height when deciding if the new
6763 position is below the scroll margin.
9d1af64f 6764
b41fe2c3 67652000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
6766
6767 * editfns.c (Fconstrain_to_field): Check carefully for field
6768 boundaries if either OLD_POS or NEW_POS has a non-nil field
6769 property, even if they're the same.
6770
c412cb7b
KH
67712000-10-16 Kenichi Handa <handa@etl.go.jp>
6772
6773 * xterm.c (x_draw_box_rect): Fix the calculation of width and
6774 height for XFillRectangle.
6775
5586f3eb
SM
67762000-10-15 Stefan Monnier <monnier@cs.yale.edu>
6777
6778 * syntax.c (Fstring_to_syntax): New function extracted from
6779 Fmodify_syntax_entry.
6780 (Fmodify_syntax_entry): Use it and document the ! and | fences.
6781 (skip_chars, Fforward_comment): Remove unused variables.
6782 (syms_of_syntax): Add defsubr for string-to-syntax.
6783 (describe_syntax): Add code for comment and string fences.
6784
db785038
SM
67852000-10-14 Stefan Monnier <monnier@cs.yale.edu>
6786
6787 * keymap.c (access_keymap): Add AUTOLOAD parameter.
6788 Do the meta->esc mapping. Call get_keyelt before returning.
6789 Start scanning from the second element (the first is always `keymap')
6790 to make it easier to detect when we reach a parent map.
6791 Handle the case of inheriting from a symbol whose function is a map.
6792 (Fkeymap_parent): Also handle the `inherit from symbol' case.
6793 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
6794 (get_keyelt, Flookup_key): Update call to access_keymap.
6795 Remove the meta->esc mappings.
6796 (define_as_prefix): Delete old disabled code.
6797 (menu_item_p): New function.
6798 (where_is_internal_1): Skip over the few remaining menu items.
6799 * lisp.h (access_keymap): Update prototype.
6800 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
6801 Update call to access_keymap.
6802 (follow_key, read_key_sequence): Update calls to access_keymap.
6803 Remove the meta->esc mappings.
6804
cafafe0b
GM
68052000-10-13 Gerd Moellmann <gerd@gnu.org>
6806
a2e2a7f6
GM
6807 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
6808 with additional argument.
6809
cafafe0b
GM
6810 * xdisp.c (cursor_row_p): New function.
6811 (try_cursor_movement, display_line): Use it.
52283633 6812
cafafe0b
GM
6813 * xdisp.c (append_space): Also save/restore iterator's current
6814 character and its length.
6815
6816 * xdisp.c (init_from_display_pos): Add an assertion.
6817 (handle_stop): Don't set iterator's add_overlay_start.
6818 (handle_invisible_prop): Likewise.
6819 (load_overlay_strings): If text under an overlay is invisible,
6820 take both before- and after-strings into account when the iterator
6821 is positioned either at the start or at the end of the overlay.
6822 (forward_to_next_line_start): Rewritten.
6823 (reseat_at_next_visible_line_start): Rewritten.
6824 (set_iterator_to_next): Add parameter RESEAT_P.
6825
6826 * dispextern.h (struct it): Remove member add_overlay_start.
6827 (set_iterator_to_next): Change prototype.
6828
c744452b
KH
68292000-10-13 Kenichi Handa <handa@etl.go.jp>
6830
6831 * coding.c (code_convert_region): Be sure to initialize
6832 coding->category_idx.
e4a3f4e1
KH
6833 (decode_coding_string): Set coding->src_multibyte and
6834 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
6835 (encode_coding_string): Set coding->src_multibyte and
6836 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 6837
321fd26f
SM
68382000-10-12 Stefan Monnier <monnier@cs.yale.edu>
6839
6840 * xfns.c (Fx_create_frame): Don't bother calling
6841 face-set-after-frame-default since the caller does it for us anyway.
6842
76832439
EZ
68432000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
6844
6845 * window.c (coordinates_in_window): Fix detection of vertical line
6846 on character terminals.
6847
2483cf58
GM
68482000-10-12 Gerd Moellmann <gerd@gnu.org>
6849
6850 * editfns.c (save_excursion_save): Additionally record the
6851 selected window.
6852 (save_excursion_restore): If buffer was visible in a window, and a
6853 different window was selected, and the old selected window is
6854 still live, restore point in that window.
6855
eb991b25
KH
68562000-10-12 Kenichi Handa <handa@etl.go.jp>
6857
8a0eba09
KH
6858 * xterm.c (x_produce_glyphs): Handle
6859 unibyte_display_via_language_environment correctly.
6860
20401fcc
KH
6861 * regex.c (regex_compile): Change the way of handling a range from
6862 unibyte char to multibyte char.
6863
6864 * syntax.c (skip_chars): Change the way of handling a range from
6865 unibyte char to multibyte char.
6866
eb991b25
KH
6867 * process.c (read_process_output): Cancel previous change.
6868
365dd325
EZ
68692000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
6870
c1b096cb
EZ
6871 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
6872
365dd325
EZ
6873 * charset.c (Ffind_charset_string): Doc fix.
6874 (Ffind_charset_region): Doc fix.
6875
eb483c2b
KH
68762000-10-11 Kenichi Handa <handa@mule.m17n.org>
6877
6878 * process.c (read_process_output): Fix previous change. Adjust
6879 multibyteness of text to insert in a buffer by
52283633 6880 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 6881
b40bfb99
AS
68822000-10-10 Andreas Schwab <schwab@suse.de>
6883
6884 * alloc.c (mark_object): Remove all workarounds installed on
6885 1993-08-08.
6886
caff31d4
KH
68872000-10-10 Kenichi Handa <handa@etl.go.jp>
6888
52283633 6889 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
6890 (base64_encode_1): Make it work for a text of multibyte form.
6891 (Fbase64_decode_region): Allocate sufficient memory for multibyte
6892 case. Don't call str_to_multibyte because base64_decode_1
6893 produces correct multibyte form for eight-bit codes.
52283633 6894 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
6895 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
6896 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
6897 codes.
6898
6899 * charset.h (CHAR_STRING): Optimized for single byte characters.
6900
cba026ef
AS
69012000-10-09 Andreas Schwab <schwab@suse.de>
6902
6903 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
6904 -1 after socket is closed, to fall through to error processing.
6905
1e21fe48
EZ
69062000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
6907
6908 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 6909 variables. If ALIST includes foreground-color or
1e21fe48
EZ
6910 background-color, change also the colors of the default face for
6911 this frame.
6912
a640322e
EZ
69132000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
6914
6915 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
6916 them extern (they are defined on xfaces.c).
6917 (syms_of_msdos): Don't intern and don't staticpro
6918 Qbackground_color and Qforeground_color.
6919
a115794c
EZ
69202000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
6921
6922 * frame.c (Fframe_parameter): For non-windowed frames, if
6923 f->param_alist says foreground or background color is unspecified,
6924 call tty_color_name to return the color name computed from the
6925 frame's current colors.
6926
f5533b63
DL
69272000-10-06 Dave Love <fx@gnu.org>
6928
6929 * terminfo.c (ospeed): Don't declare.
6930
6931 * sysdep.c: Don't include string.h.
6932 (h_errno): Declare conditional also on TRY_AGAIN.
6933
6934 * charset.c (Ffind_charset_string): Doc fix.
6935
52283633 6936 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
6937 (Fbase64_decode_region, Fbase64_decode_string): More explicit
6938 error messages.
6939
2b06561a
DL
69402000-10-05 Dave Love <fx@gnu.org>
6941
6942 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
6943 position like menu-bar.
6944
ca839c85
GM
69452000-10-05 Gerd Moellmann <gerd@gnu.org>
6946
6947 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
6948
6949 * xdisp.c (handle_single_display_prop): Use safe_call1.
6950 (safe_call): Renamed from call_function.
6951 (safe_call1): New function.
6952 (handle_fontified_prop): Use safe_call1 instead of call1.
6953 (safe_eval): Renamed from eval_form.
6954 (safe_eval_handler): Renamed from eval_handler.
6955 (handle_single_display_prop, display_mode_element): Use safe_eval
6956 instead of eval_form.
6957
6958 * xfaces.c (merge_face_heights): Use safe_call instead of
6959 call_function.
6960
6961 * keyboard.c (show_help_echo): Use safe_call instead of
6962 call_function; use safe_eval instead of eval_form.
6963
6964 * lisp.h (safe_call): Renamed from call_function.
6965 (safe_eval): Renamed from eval_form.
6966 (safe_call1): Add prototype.
6967
a3489ece
MB
69682000-10-05 Miles Bader <miles@lsi.nec.co.jp>
6969
6970 * xfns.c (image_ascent): Rearrange ascent calculation for the
6971 has-a-font case.
6972
35810b6f
SM
69732000-10-04 Stefan Monnier <monnier@cs.yale.edu>
6974
6975 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
6976 (where_is_internal_1): Don't bother ignoring menu-items any more.
6977
3dc78168
GM
69782000-10-04 Gerd Moellmann <gerd@gnu.org>
6979
6980 * keyboard.c (update_menu_bindings): New variable.
6981 (parse_menu_item): Use AREF. If update_menu_bindings
6982 is 0, don't update menu bindings.
6983 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
6984
1efc2bb9
EZ
69852000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
6986
6987 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
6988 to `mark_object'.
6989
3f679f55
SM
69902000-10-02 Stefan Monnier <monnier@cs.yale.edu>
6991
6992 * syntax.c (forw_comment): Match nestedness of ender/starter.
6993 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
6994 (prev_char_comstart_first): Remove.
6995 (back_comment): Check two-char comment markers more carefully
6996 to better handle overlapping cases like *//* or /* */* */ ...
6997 Match nestedness of ender/starter.
6998
2021ab61
DL
69992000-10-02 Dave Love <fx@gnu.org>
7000
7001 * config.in (HAVE_GAI_STRERROR): Add undef.
7002
7003 * process.c (Fopen_network_stream): Use it.
7004
7005 * m/alpha.h (NO_REMAP): Don't define.
7006
64e6cc18
GM
70072000-10-02 Gerd Moellmann <gerd@gnu.org>
7008
7009 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7010 return with a string converted to an integer or vice versa when
7011 Vmocklisp_arguments is t.
7012 (Fsignal): Likewise. The function can return for `quit'.
7013 (struct gcpro): Declare member `var' to point to a volatile
7014 Lisp_Object.
7015
7016 * eval.c (error): Prevent compiler warning.
7017
b1904cd9
SM
70182000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7019
7020 * keymap.c (keymap_memberp): New function.
7021 (Fset_keymap_parent): Use it.
7022 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7023 Use keymap_memberp to avoid creating cycles.
7024 (access_keymap): Use KEYMAPP.
7025
71c9ec51
GM
70262000-09-30 Gerd Moellmann <gerd@gnu.org>
7027
7028 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7029 gai_strerror. Make sure xerrno is set if connect fails. Improve
7030 error recovery.
71c9ec51 7031
c70c6b58
JR
70322000-09-29 Jason Rumney <jasonr@gnu.org>
7033
7034 * w32term.c (w32_char_font_type, w32_encode_char)
7035 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7036 (w32_bdf_per_char_metric): New function.
7037 (w32_per_char_metric): Use it.
7038 (x_draw_glyph_string_background): Always draw background for BDF
7039 glyphs.
7040
7041 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7042 GDI object which is a scarce resource.
7043
7044 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7045 (get_quoted_string): Fix limit on memchr search.
7046 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7047 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7048 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7049 (get_cached_font_char, cache_char_offset): Use macro
7050 BDF_CODEPOINT_RANGE_COVER_P.
7051 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7052 (clear_cached_bitmap_slots): New function.
7053 (GET_HEX_VALUE): G-Z, g-z are not hex.
7054 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7055 (get_bitmap_with_cache): Use new cache implementation.
7056 (create_offscreen_bitmap): New function.
7057 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7058
7059 * w32term.c (x_produce_glyphs): If the distance from the current
7060 position to the next tab stop is less than a canonical character
7061 width, use the tab stop after that.
7062 (x_draw_glyphs): Handle case START and END are out of bounds more
7063 carefully.
7064 (x_clear_mouse_face): Block/unblock input.
7065 (x_display_and_set_cursor): Don't show a hollow box cursor for
7066 buffers whose cursor_type is nil.
7067
fe01239f
GM
70682000-09-29 Gerd Moellmann <gerd@gnu.org>
7069
52283633 7070 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7071
7072 * dispextern.h (updating_frame): Declare extern.
7073
e7c52f1f
AS
70742000-09-29 Andreas Schwab <schwab@suse.de>
7075
7076 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7077
de6e1f7c
GM
70782000-09-29 Gerd Moellmann <gerd@gnu.org>
7079
25126faa
GM
7080 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7081 use its function definition.
7082 (tool_bar_items): Likewise.
7083
de6e1f7c 7084 * lisp.h (fatal): Declare NO_RETURN.
52283633 7085
454ee39b
KH
70862000-09-29 Kenichi Handa <handa@etl.go.jp>
7087
7088 * keymap.c: Remove the line "#undef NULL".
7089
96301c5f
GM
70902000-09-28 Gerd Moellmann <gerd@gnu.org>
7091
52283633 7092 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7093
efffeeb4
DL
70942000-09-28 Dave Love <fx@gnu.org>
7095
ecb8b666
DL
7096 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7097
dc3cd20f
DL
7098 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7099
7100 * .gdbinit (xreload): Note its need on GNU/Linux.
7101
efffeeb4
DL
7102 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7103 r_alloc, r_alloc_free.
7104
8610d903
KH
71052000-09-28 Kenichi Handa <handa@etl.go.jp>
7106
7107 * syntax.c (skip_chars): Handle negation correctly.
7108
8901d1ac
GM
71092000-09-27 Gerd Moellmann <gerd@gnu.org>
7110
6f22f1ad
GM
7111 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7112 with non-zero FORCE_P argument.
7113
52283633 7114 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7115 Add assertions.
7116
7117 * xdisp.c (window_box_height): Add an assertion.
7118
7119 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7120 tool-bar than is available.
7121 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7122
36f1966f
DL
71232000-09-27 Dave Love <fx@gnu.org>
7124
efffeeb4 7125 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7126
31d929e5
GM
71272000-09-26 Gerd Moellmann <gerd@gnu.org>
7128
c98863bf
GM
7129 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7130 instead of BITS_PER_INT.
7131 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7132 EMACS_UINT, respectively.
7133 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7134
7135 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7136
7137 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7138
77072ab1
GM
7139 * window.c (freeze_window_starts): Construct last argument for
7140 foreach_window differently.
7141
7142 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7143
7144 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7145 EMACS_UINT instead of `int' and `unsigned int'.
7146 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7147
7148 * frame.h (struct frame): Make the `nothing' member of union
7149 output_data an EMACS_INT.
7150
52283633 7151 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7152 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7153 size in the sdata structure.
7154 (SDATA_NBYTES, SDATA_DATA): New macros.
7155 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7156 differently for the different layout of the sdata structure.
7157 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7158 in sdata.
7159 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7160 Check that size recorded in the string size and size recorded in
7161 the sdata structure agree.
7162
3e60b029
DL
71632000-09-25 Dave Love <fx@gnu.org>
7164
7165 * buffer.c: Include stdio.h.
7166
7167 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7168
3e60b029
DL
7169 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7170
7171 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7172 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7173 (__malloc_extra_blocks): Declare as __malloc_size_t.
7174
8ff16b4e
GM
71752000-09-25 Gerd Moellmann <gerd@gnu.org>
7176
755a2ccd
GM
7177 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7178
d8b4516f
GM
7179 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7180 (read_char): If help-echo is showing, preserve the echo area
7181 when redisplaying.
7182
7183 * xdisp.c (help_echo_showing_p): New variable.
7184 (set_message): Reset it to 0.
7185 (init_xdisp): Initialize help_echo_showing_p.
7186
7187 * dispextern.h (help_echo_showing_p): Declare extern.
7188
7189 * config.in: Fix typo in __GNUC_MINOR__.
7190
7191 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7192
b11af2dd
GM
7193 * s/freebsd.h (POSIX_SIGNALS): Define.
7194
8ff16b4e
GM
7195 * xterm.c (x_clear_mouse_face): Block/unblock input.
7196
844eb643
DL
71972000-09-24 Dave Love <fx@gnu.org>
7198
7199 * fns.c (base64_encode_1): Fix last change.
7200
b30ab1b3
GM
72012000-09-22 Gerd Moellmann <gerd@gnu.org>
7202
7203 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7204
7205 * xdisp.c (try_window_reusing_current_matrix): More fixes
7206 for the case window has a header-line.
7207
c6cbe5f0
DL
72082000-09-22 Dave Love <fx@gnu.org>
7209
4c7c1f3f
DL
7210 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7211 a doc string.
7212
7213 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7214
c6cbe5f0
DL
7215 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7216
550a625e
GM
72172000-09-21 Gerd Moellmann <gerd@gnu.org>
7218
4c7c1f3f 7219 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7220 for GCC >= 2.5.
7221
52283633
SM
7222 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7223 Declare NO_RETURN.
fca99116 7224
80d26f99
GM
7225 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7226 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7227 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7228 warnings.
52283633 7229
80d26f99
GM
7230 * marker.c (byte_char_debug_check): Return void.
7231
623a0aae
GM
7232 * xfns.c (Fx_create_frame): Set default frame parameter value
7233 for tool-bar-lines to 1.
7234
7235 * dispnew.c (scrolling_window): Compare y-positions of rows
7236 equal at the start. Some simplification.
7237
7238 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7239 reused rows' y-position in the case window has a header-line, and
7240 new window start is greater than old window start.
7241
42ac0ae5
GM
7242 * process.c (process_sent_to): New variable.
7243 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7244 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7245 Declare more parameters volatile.
7246
550a625e
GM
7247 * lread.c (Vrecursive_load_depth_limit): New variable.
7248 (Fload): Check recursive loads whose recursion depth exceeds
7249 Vrecursive_load_depth_limit.
7250 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7251
8320414c
GM
72522000-09-20 Gerd Moellmann <gerd@gnu.org>
7253
f46c275e
GM
7254 * fileio.c (Fread_file_name): Doc fix.
7255
7256 * editfns.c (Fmessage_or_box): Doc fix.
7257
7258 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7259
b7e11c5b 7260 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7261
8320414c
GM
7262 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7263 symbols are specified, add color translations to the cache.
52283633 7264 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7265 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7266 xpm_cache_color.
7267 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7268 structures to xpm_init_color_cache.
7269
da1608d9
GM
72702000-09-19 Gerd Moellmann <gerd@gnu.org>
7271
52283633 7272 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7273
6badfa25
AI
72742000-09-19 Andrew Innes <andrewi@gnu.org>
7275
7276 * makefile.nt (bootstrap-emacs): Don't change directory.
7277
3a5f42bb
KH
72782000-09-19 Kenichi Handa <handa@etl.go.jp>
7279
1b7649bd
KH
7280 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7281
3a5f42bb
KH
7282 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7283 If output buffer is too small, signal an appropriated error.
7284
9f83cf0b
DL
72852000-09-18 Dave Love <fx@gnu.org>
7286
52283633 7287 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7288 (current_active_maps): Remove redundant get_local_map call.
7289
28c7826c
GM
72902000-09-18 Gerd Moellmann <gerd@gnu.org>
7291
5cefa566
GM
7292 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7293 cursor for buffers whose cursor_type is nil.
52283633 7294
6fed3546
GM
7295 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7296 a feature to implement that is already implemented.
7297 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7298 warnings.
7299
7300 * xfns.c (x_clear_image_1): New function.
7301 (x_clear_image): Use it.
52283633 7302 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7303
05b1f851
GM
7304 * dispnew.c (update_window): Move test for invisible lines
7305 at the top to update_window_line.
7306 (update_window_line): Handle invisible lines here.
7307
f4779de9
GM
7308 * xfns.c (clear_image_cache): Clear current matrices of all
7309 frames sharing an image cache. Block input while freeing
7310 images. Fix timestamp comparison.
7311 (x_clear_image): Also free the mask.
7312
28c7826c
GM
7313 * xfns.c (lookup_image): Block input while loading the image so
7314 that we won't get interrupted in a state where the image isn't yet
7315 set up completely.
7316 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7317 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7318 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7319 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7320
b7412313
GM
73212000-09-16 Gerd Moellmann <gerd@gnu.org>
7322
7323 * dispnew.c (update_window): Make sure to make desired rows
7324 current even if they are completely invisible at the top
7325 of a window.
7326
47e351a3
GM
73272000-09-15 Gerd Moellmann <gerd@gnu.org>
7328
7f8f1edc
GM
7329 * xfns.c (lookup_image): Build mask before applying an algorithm.
7330 Recognize algorithm `disabled'.
7331 (cross_disabled_images): New variable.
7332 (COLOR_INTENSITY): New macro.
7333 (x_detect_edges): Use COLOR_INTENSITY.
7334 (x_disable_image): New function.
7335 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7336
7337 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7338 disabled state, don't apply an image transformation algorithm if
7339 the user specified an image for the disabled state. Use
28c7826c 7340 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7341 user hasn't specified an image.
7342
ebb8f116
GM
7343 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7344 allocation functions with the XPM lib.
7345 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7346 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7347 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7348 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7349 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7350 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7351 functions, if possible, because these handle color allocation
7352 failure more gracefully.
7353 (Fimage_mask_p): New function.
7354
47e351a3
GM
7355 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7356 (Qedge_detection, Qheuristic): New symbols.
7357 (syms_of_xfns): Initialize new symbols.
7358 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7359 `algorithm (edge-detection ...)'.
7360 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7361 (tiff_format, gif_format, gs_format): Add `:mask'.
7362 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7363 (GIF_MASK, GS_MASK): New enumerators.
7364 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7365 (emboss_matrix, laplace_matrix): New variables.
7366 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7367 (x_edge_detection): New functions.
7368 (x_laplace): Rewritten in terms of x_detect_edges.
7369 (x_build_heuristic_mask): If image has a mask, free it.
7370
fe83b953
AI
73712000-09-14 Andrew Innes <andrewi@gnu.org>
7372
7373 * makefile.w32-in: Revert to Unix line endings.
7374
3021e816
AI
73752000-09-14 Andrew Innes <andrewi@gnu.org>
7376
7377 * makefile.w32-in: Standardize indentation somewhat.
7378 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7379 cater for differences between shells.
7380
7381 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7382
2a32b5ea
GM
73832000-09-14 Gerd Moellmann <gerd@gnu.org>
7384
7385 * xterm.c (x_produce_glyphs): If the distance from the current
7386 position to the next tab stop is less than a canonical character
7387 width, use the tab stop after that.
7388
b4331e96
DL
73892000-09-14 Dave Love <fx@gnu.org>
7390
7391 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7392
ef9e4345
GM
73932000-09-14 Gerd Moellmann <gerd@gnu.org>
7394
085536c2
GM
7395 * xdisp.c (handle_fontified_prop): While running fontification
7396 functions, bind `fontification-functions' and
7397 `after-change-functions' to nil.
7398
ef9e4345
GM
7399 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7400 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7401
7402 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7403
7404 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7405 USE_MMAP_FOR_BUFFERS.
7406
7407 * insdel.c (make_gap): Use enlarge_buffer_text.
7408
7409 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7410 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7411 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7412 from former r_alloc_* functions in ralloc.c.
52283633 7413 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
7414 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7415 (mmap_init) [REL_ALLOC_MMAP]: New function.
7416 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7417 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7418 BUFFER_FREE.
7419
7420 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7421 (enlarge_buffer_text): Add prototype.
7422
7423 * ralloc.c: Remove everything having to do with the use of mmap.
7424
f8608968
GM
74252000-09-13 Gerd Moellmann <gerd@gnu.org>
7426
2a494b2d
GM
7427 * sound.c (Fplay_sound): Doc fix.
7428
8c907a56
GM
7429 * keyboard.c: Avoid some more compiler warnings.
7430 (parse_tool_bar_item): Ignore cached key bindings.
7431
f8608968
GM
7432 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
7433 and allocation of Lisp data.
7434
6ab70e9a
GM
74352000-09-12 Gerd Moellmann <gerd@gnu.org>
7436
d12d0a9b
GM
7437 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
7438 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
7439 defaults first.
7440
6ab70e9a
GM
7441 * lread.c (Fload): Put code checking for recursive loads in #if 0.
7442
63c36c3c
KH
74432000-09-12 Miyashita Hisashi <himi@meadowy.org>
7444
7445 * ccl.c: Comment fixed.
7446 (MAX_MAP_SET_LEVEL): Increased to 30.
7447 (PUSH_MAPPING_STACK): Enclose with do-while block.
7448 (POP_MAPPING_STACK): Likewise.
7449 (stack_idx_of_map_multiple): New variable.
7450 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
7451 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 7452 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
7453 (ccl_driver) <CCL_MapSingle>: Likewise.
7454 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
7455 with the case where looking up process reaches to the end of
7456 map-set, and call CCL programs as the above change.
7457
7ee3bd7b
GM
74582000-09-11 Gerd Moellmann <gerd@gnu.org>
7459
8ec8a5ec
GM
7460 * xfns.c (png_load, jpeg_load): Declare some variables volatile
7461 that might be clobbered by longjmp.
7462 (check_x_display_info, x_decode_color, create_frame_xic)
7463 (Fx_display_backing_store, Fx_display_visual_class)
52283633 7464 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 7465
f74b0705
GM
7466 * lread.c (init_lread): Set Vloads_in_progress to nil.
7467 (Fload): Show list of recursively loaded files, when signaling an
7468 error.
7469
7ee3bd7b
GM
7470 * lread.c (Vloads_in_progress): New variable.
7471 (record_load_unwind): New function.
7472 (Fload): Check for recursive loads.
7473 (syms_of_lread): Initialize Vloads_in_progress.
7474 (read_integer, read1): Avoid some compiler warnings.
7475
7476 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7477 compiler warnings.
7478
974e1e5b
MB
74792000-09-11 Miles Bader <miles@gnu.org>
7480
7481 * editfns.c (Fbuffer_string): Doc fix.
7482
9824c4e3
GM
74832000-09-10 Gerd Moellmann <gerd@gnu.org>
7484
7485 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7486
6a72fdd1
KR
74872000-09-09 Ken Raeburn <raeburn@gnu.org>
7488
7489 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7490 whether to include other header files.
7491
28e6fb66
GM
74922000-09-09 Gerd Moellmann <gerd@gnu.org>
7493
52283633 7494 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 7495 by Fmemq as a boolean.
28e6fb66 7496
7f8b6551
SM
74972000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7498
7499 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7500
a8710abf
GM
75012000-09-08 Gerd Moellmann <gerd@gnu.org>
7502
d1a02881
GM
7503 * ralloc.c (mmap_fd): Remove initializer which can make it
7504 read-only in a dumped Emacs.
7505 (mmap_fd_1): New variable.
7506 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7507 restore it from there.
7508 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7509 unconditionally so that mmap_fd can be initialized there.
7510 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7511 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7512 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7513
c454aac1
GM
7514 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7515
7516 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 7517 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 7518
fc653ef2
GM
7519 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7520
3015eec0
GM
7521 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7522 inheritance.
7523
bfe0ee88
GM
7524 * xdisp.c (try_window_id): When trying to locate cursor in
7525 unchanged rows at the top, handle the case that we can't find it.
7526
a8710abf
GM
7527 * xterm.c (x_draw_glyphs): Handle case START and END are out
7528 of bounds more carefully.
7529
6b7d4ae4
DL
75302000-09-08 Dave Love <fx@gnu.org>
7531
423193c5
DL
7532 * s/sol2.h (REL_ALLOC_MMAP): Define.
7533 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7534
7535 * ralloc.c: Don't include string.h (redundant).
7536 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7537 [!MAP_ANON]: Include fcntl.h.
7538 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7539 (r_alloc, r_re_alloc, r_alloc_free)
7540 (mmap_enlarge, mmap_set_vars): Use it.
7541 (r_alloc_init_fd): New function.
7542 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7543 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7544 malloc type.
7545
7546 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7547 Remove vm-limit.o.
7548
6b7d4ae4
DL
7549 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7550 change to __NetBSD__.
7551
44d31981
KH
75522000-09-08 Kenichi Handa <handa@etl.go.jp>
7553
7554 * search.c (compile_pattern): Check the multibyteness of cached
7555 string and PATTERN.
7556
aad40737
MB
75572000-09-08 Miles Bader <miles@gnu.org>
7558
7559 * xfaces.c (default_face_vector): Function removed.
7560 (Finternal_merge_in_global_face): Restore old global/local
7561 attribute override order. Use inline loop instead of calling
7562 default_face_vector.
7563
91a211b5
GM
75642000-09-07 Gerd Moellmann <gerd@gnu.org>
7565
7566 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7567 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7568 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7569 where necessary, in case POINTER_TYPE is `void'.
7570
03419440
EZ
75712000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7572
7573 * frame.c (make_terminal_frame): Initialize frame foreground and
7574 background colors to unspecified, for the initial instance of an
7575 MSDOS frame.
7576
f46f845b
GM
75772000-09-07 Gerd Moellmann <gerd@gnu.org>
7578
24f76fbf
GM
7579 * ralloc.c (mmap_find): Fix overlap computation.
7580 (mmap_enlarge): Compute nbytes before trying to find an
7581 overlapping region.
7582
f46f845b
GM
7583 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7584 instead of `!='.
7585
7586 * lread.c (syms_of_lread): Change value of regexp
7587 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7588
7589 * xmenu.c (xdialog_show): When looking up the selection in
7590 menu_items, take `quote' boundaries into account; this corresponds
7591 to a nil ITEM in x-popup-dialog.
7592
3c014385
KH
75932000-09-07 Kenichi Handa <handa@etl.go.jp>
7594
fd6f711b
KH
7595 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7596 not 0x81.
7597 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7598
3c014385 7599 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
7600 encoding, not decoding. Fix the handling of latin-jisx0201.
7601 Check for the charset katakana-jisx0201 too.
3c014385 7602 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 7603 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 7604
0da3ecef
GM
76052000-09-07 Gerd Moellmann <gerd@gnu.org>
7606
ab0ee409
GM
7607 * xfaces.c (Vparam_value_alist): New variable.
7608 (syms_of_xfaces): Initialize it.
7609 (Finternal_set_lisp_face_attribute): Avoid more consing.
7610
7611 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
7612 specially.
7613 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
7614 (Qbackground_mode): New variable.
7615 (syms_of_frame_1): Initialize Qbackground_mode.
7616
7617 * lisp.h (Qdisplay): Declare extern.
1091dd67 7618
0da3ecef
GM
7619 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
7620 change face on all frames, and change the default for new frames.
7621
b14654b9
DL
76222000-09-07 Dave Love <fx@gnu.org>
7623
7624 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
7625
d24fd56f
KH
76262000-09-07 Kenichi Handa <handa@etl.go.jp>
7627
794f3670
KH
7628 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
7629
0fddd0dc
KH
7630 * charset.c: Include composite.h
7631 (lisp_string_width): New function.
7632 (Fstring_width): Call lisp_string_width instead of strwidth.
7633
7634 * Makefile.in (charset.o): Depends on composite.h.
7635
d24fd56f
KH
7636 * process.c (read_process_output): Before inserting the decoded
7637 text in the buffer, adjust the multibyteness.
7638
fa0b693c
GM
76392000-09-06 Gerd Moellmann <gerd@gnu.org>
7640
52283633 7641 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
7642 buffer's text buffer is null, map new memory.
7643
0a58f946
GM
7644 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
7645 POINTER_TYPE and size_t.
7646 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
7647 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7648 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7649 [REL_ALLOC_MMAP]: New macros.
7650 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7651 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7652 [REL_ALLOC_MMAP]: New functions.
7653
7654 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7655 before and after unexec.
7656
7657 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7658 text buffers if necessary.
7659
7660 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7661 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7662 in prototypes.
7663
fa0b693c
GM
7664 * config.in (HAVE_MMAP): Add #undef.
7665
877055f6
GM
76662000-09-05 Gerd Moellmann <gerd@gnu.org>
7667
08ba3862
GM
7668 * frame.c (Qdisplay_type): New variable.
7669 (syms_of_frame_1): Initialize it.
7670 (Fframe_parameter): New function that avoids consing.
7671 (syms_of_frame): Defsubr it.
7672
66ffe51c
GM
7673 * buffer.c (Fother_buffer): Consider buffers as invisible when
7674 they are displayed in a window on an invisible frame.
7675
877055f6
GM
7676 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7677 get-largest-window always return nil.
7678
bb970e67
GM
76792000-09-04 Gerd Moellmann <gerd@gnu.org>
7680
7681 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7682 variable; recognize Emacs 19 elc files.
7683
7a3d0e0e
MB
76842000-09-04 Miles Bader <miles@gnu.org>
7685
7686 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7687 before initially popping up the menu, so the menu doesn't flash
52283633 7688 when the face settings are significantly different from the defaults.
7a3d0e0e 7689
14473664
SM
76902000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7691
7692 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7693 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7694 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7695 (BIT_UNIBYTE): Remove.
7696 (re_match_2_internal): Delete corresponding code and streamline the
7697 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7698 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7699 (re_wctype_t): New type.
7700 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7701 (regex_compile): Use them and fix handling of overly long char classes.
7702
c1174479
AI
77032000-09-03 Andrew Innes <andrewi@gnu.org>
7704
f8803e97
AI
7705 * makefile.w32-in: Change to DOS line endings.
7706
c1174479
AI
7707 * s/ms-w32.h (ORDINARY_LINK): New define.
7708
7709 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7710 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7711
7712 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7713 (distclean): Delete them here instead.
7714
44ef7cf6
AI
7715 * w32proc.c (compare_env): Convert to uppercase for comparison,
7716 not lowercase, to match how the native Windows shell works.
7717
49b3bd82
JR
77182000-09-03 Jason Rumney <jasonr@gnu.org>
7719
7720 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7721 CVS changes the line-ends when checking in/out on DOS/Windows.
7722
7723 * makefile.nt (emacs): Do not change directory to run temacs, as
7724 the load-path is set relative to current directory.
7725
a3d35a39
MB
77262000-09-03 Miles Bader <miles@gnu.org>
7727
7728 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7729
d276b0cf
GM
77302000-09-02 Gerd Moellmann <gerd@gnu.org>
7731
715e84c9
GM
7732 * xdisp.c (redisplay_mode_lines): New function.
7733 (display_mode_lines): Return number of mode lines displayed.
7734 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7735 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7736
8892f40b
GM
7737 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7738 string.h and strings.h.
7739 (index) [HAVE_INDEX]: Add prototype.
7740
d276b0cf
GM
7741 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
7742 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
7743
7744 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
7745 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7746
38404229
GM
77472000-09-01 Gerd Moellmann <gerd@gnu.org>
7748
7749 * lread.c (read1): Accept `?' as symbol constituent, for
7750 compatiblity with XEmacs.
7751
c0f9ea08
SM
77522000-08-31 Stefan Monnier <monnier@cs.yale.edu>
7753
7754 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
7755 (struct re_pattern_buffer): Remove newline_anchor.
7756 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
7757 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
7758 (re_max_failures, fail_stack): Use size_t rather than unsigned.
7759 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
7760 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
7761 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
7762 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
7763 Get rid of references to newline_anchor.
7764 (regcomp): Allocate and precompute a fastmap.
7765
8c0f83fe
GM
77662000-08-31 Gerd Moellmann <gerd@gnu.org>
7767
7768 * lread.c (openp): GCPRO local variable `filename'.
7769
4bb91c68
SM
77702000-08-30 Stefan Monnier <monnier@cs.yale.edu>
7771
7772 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
7773
7774 * regex.c: Merge some changes from GNU libc. Add prototypes.
7775 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
7776 Use memcmp and memcpy instead of bcopy and bcmp.
7777 (init_syntax_once): Use ISALNUM.
7778 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
7779 (REG_UNSET_VALUE): Remove. Use NULL instead.
7780 (REG_UNSET, re_match_2_internal): Use NULL.
7781 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
7782 New macros.
7783 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
7784 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
7785 (regex_compile): In handle_interval, return an error rather than try to
7786 unfetch the interval if we can't find the closing brace.
7787 Obey the RE_NO_GNU_OPS syntax bit.
7788 (TOLOWER): New macro.
7789 (regcomp): Use it.
7790 (regexec): Allocate regs.start and regs.end as one block.
7791
5226a931
GM
77922000-08-30 Gerd Moellmann <gerd@gnu.org>
7793
868dd24b
GM
7794 * xdisp.c (echo_area_display): Check display_completed instead
7795 of calling detect_input_pending.
7796
7797 * dispnew.c (update_frame): Only set display_completed here; move
7798 the update_begin and update_end calls here from update_frame_1.
7799 (update_frame_1): Don't set display_completed here, don't call
7800 update_begin/update_end.
7801
5226a931
GM
7802 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
7803 instead of store_frame_param.
7804
2a8bd25f
GM
78052000-08-29 Gerd Moellmann <gerd@gnu.org>
7806
7807 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
7808 desired window matrix hasn't been displayed, use the current row
7809 instead. Make sure that only those frame rows are updated for
7810 which there exists a corresponding enabled desired row.
52283633 7811
ba3478d9
MB
78122000-08-29 Miles Bader <miles@gnu.org>
7813
7814 * xfaces.c (default_face_vector): New function.
7815 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
7816
87d0f685
GM
78172000-08-29 Gerd Moellmann <gerd@gnu.org>
7818
7819 * lread.c (openp): Prevent temporary string passed to
7820 Ffile_readable_p from being garbage collected.
7821
6fa86045
DL
78222000-08-28 Dave Love <fx@gnu.org>
7823
7824 * keymap.c (store_in_keymap): Add `static' to declaration.
7825
bb17930d
GM
78262000-08-28 Gerd Moellmann <gerd@gnu.org>
7827
7828 * emacs.c, callint.c, doc.c, editfns.c
7829 (toplevel) [HAVE_STRING_H]: Include string.h.
7830 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
7831 (index): Remove prototypes which might conflict with non-standard
7832 definitions of index/strchr.
7833
7834 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
7835 (rindex): Define only if !HAVE_RINDEX.
7836
7837 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
7838
7839 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
7840
87188200
MB
78412000-08-28 Miles Bader <miles@gnu.org>
7842
7843 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
7844 made inconsistent by a font-related attribute in FROM.
7845 (merge_face_inheritance): Add function comment.
7846
41a68aef
KH
78472000-08-28 Kenichi Handa <handa@etl.go.jp>
7848
7849 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
7850 the 4th arg (PREV_EVENT) Qt to suppress input method.
7851
f7c436c1
SM
78522000-08-27 Stefan Monnier <monnier@cs.yale.edu>
7853
0b32bf0e
SM
7854 * regex.c: Indent cpp directives and remove parens after `defined'.
7855 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
7856 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
7857 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
7858 (re_compile_pattern): Use size_t for length.
7859 (init_syntax_once): Move to a better place.
7860 * regex.h: Merge changes from GNU libc. Indent cpp directives.
7861 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
7862
f7c436c1
SM
7863 * syntax.c (back_comment): Detect cases where a comment-starter is
7864 actually inside another comment as in: /* a // b */ c // d \n.
7865 Make it clear that `comstart_pos' is unused for nested comments.
7866
7867 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
7868 (KEYMAPP): New macro.
7869 (Fkeymap_parent, Fset_keymap_parent): Use it.
7870 (fix_submap_inheritance): Mark it static.
7871 (define_as_prefix, describe_buffer_bindings, describe_command)
7872 (describe_translation, describe_map): Complete prototypes.
7873
7874 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
7875
7876 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
7877 to better match the key-lookup behavior.
7878
6288c62f
GM
78792000-08-27 Gerd Moellmann <gerd@gnu.org>
7880
7881 * xfaces.c (lface_fully_specified_p): Handle :inherit.
7882 (Finternal_set_lisp_face_attribute): Fix typo in error message.
7883
e931344e
EZ
78842000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
7885
7886 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
7887 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
7888 (xterm.o): Depend on coding.h
7889
d10dfeef
KH
78902000-08-26 Kenichi Handa <handa@etl.go.jp>
7891
7892 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
7893 the corresponding '#endif'.
7894
2d73e8d3
MB
78952000-08-26 Miles Bader <miles@gnu.org>
7896
7897 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
7898 * xfaces.c (QCinherit): New variable.
7899 (syms_of_xfaces): Initialize it.
7900 (LFACE_INHERIT): New macro.
7901 (Finternal_get_lisp_face_attribute)
52283633 7902 (merge_face_vector_with_property)
2d73e8d3
MB
7903 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
7904 (check_lface_attrs): Allow new types of face height. Check
7905 inherit attribute.
7906 (CYCLE_CHECK): New macro.
7907 (merge_face_inheritance): New function.
7908 (merge_face_vectors): Merge inherited faces too. Add F and
7909 CYCLE_CHECK arguments.
7910 (merge_face_vector_with_property, Finternal_merge_in_global_face)
7911 (lookup_named_face, lookup_derived_face, realize_named_face)
7912 (face_at_string_position, face_at_buffer_position): Supply
7913 new F and CYCLE_CHECK arguments to merge_face_vectors.
7914 (merge_face_heights): New function.
52283633 7915 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
7916 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
7917 handle relative face heights.
7918 (lface_same_font_attributes_p): Compare heights using EQ.
7919
6ce974d4
KH
79202000-08-26 Kenichi Handa <handa@etl.go.jp>
7921
7922 * charset.c (char_to_string): Check the character validity.
52283633 7923 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 7924
dc1e502d
SM
79252000-08-25 Stefan Monnier <monnier@cs.yale.edu>
7926
7927 * regex.c (PUSH_FAILURE_COUNT): New macro.
7928 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
7929 Handle popping of a register's or a counter's data.
7930 (POP_FAILURE_POINT): Use the new name.
7931 (re_match_2_internal): Push counter data on the stack for succeed_n,
7932 jump_n and set_number_at and remove misleading dead code in succeed_n.
7933
bd9d0f3f
GM
79342000-08-25 Gerd Moellmann <gerd@gnu.org>
7935
7936 * xdisp.c (redisplay_internal): If considering all windows on all
7937 frames, update the display for each frame as soon as possible,
7938 instead of first building all desired matrices for all frames, and
7939 then updating them all.
7940 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
7941
aa5b8e15
GM
79422000-08-24 Gerd Moellmann <gerd@gnu.org>
7943
17494071
GM
7944 * bytecode.c (mark_byte_stack): Add a comment.
7945
52283633
SM
7946 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
7947 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
7948 a graphical frame.
7949
c543db81
KH
79502000-08-24 Kenichi Handa <handa@etl.go.jp>
7951
d246d5f5
KH
7952 * minibuf.c (do_completion): Always use compare-string, not
7953 string-equal because the latter doesn't pay attention to
7954 multibyteness of strings.
7955
c543db81
KH
7956 * process.c (create_process): Don't setup raw-text coding here.
7957 (Fopen_network_stream): Don't set coding->src_multibyte and
7958 coding->dst_multibyte here.
7959 (read_process_output): For process filter, return unibyte string
7960 if default-enable-multibyte-characters is nil.
7961 (send_process): If OBJECT is multibyte text, be sure to encoded it
7962 by the specified coding system for the process. Otherwise, setup
7963 raw-text coding.
52283633 7964 (init_process): Don't initialize default-process-coding-system here.
c543db81 7965
9b47cfe0
EZ
79662000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
7967
7968 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
7969 <scroll-down-aggressively>: Likewise.
7970
f5a36960
KH
79712000-08-23 Kenichi Handa <handa@etl.go.jp>
7972
7973 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
7974 zero. Set coding->produced_char correctly.
7975
69a7ffa7
AI
79762000-08-22 Andrew Innes <andrewi@gnu.org>
7977
7978 * makefile.w32-in: New file.
7979
7980 * unexw32.c (unexec): Ignore old_name, and use the actual location
7981 of the current executable instead. Base new_name on this.
7982
7983 * w32proc.c (create_child): Remove reference to security
7984 descriptor, which isn't needed and doesn't compile with mingw32.
7985
7986 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7987 up dllimport attributes.
7988 (x_update_window_end): Update prototype.
7989
7990 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
7991 extern, which screws up dllimport attributes.
7992
7993 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7994 up dllimport attributes.
7995
7996 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7997 screws up dllimport attributes.
7998
7999 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8000 up dllimport attributes.
8001 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8002 screws up dllimport attributes.
8003
8004 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8005 up dllimport attributes.
8006
8007 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8008 screws up dllimport attributes.
8009
8010 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8011 screws up dllimport attributes.
8012
8013 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8014 up dllimport attributes.
8015
8016 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8017 unnecessary extern, which screws up dllimport attributes.
8018 (main): Ditto.
8019
8020 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8021 up dllimport attributes.
8022
8023 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8024 unnecessary extern, which screws up dllimport attributes.
8025
8026 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8027 screws up dllimport attributes.
8028
8029 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8030 up dllimport attributes.
8031
8032 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8033
52283633
SM
8034 * w32bdf.c (search_file_line):
8035 (set_bdf_font_info):
8036 (seek_char):
8037 (w32_get_bdf_glyph):
69a7ffa7
AI
8038 (w32_BDF_to_x_font): Fix compile warnings.
8039
52283633 8040 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8041
8042 * w32select.c: Include keyboard.h before frame.h.
8043
8044 * w32fns.c (max): Define macro.
8045 (JOHAB_CHARSET): Define if not known.
8046 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8047 (Fx_show_tip): Synch with X version.
8048
8049 * w32xfns.c: Include keyboard.h before frame.h.
8050
8051 * w32fns.c: Include keyboard.h before frame.h.
8052
8053 * w32term.c: Include keyboard.h before frame.h.
8054
8055 * fontset.c: Include keyboard.h before frame.h.
8056
8057 * w32inevt.c: Include keyboard.h before frame.h.
8058 (MOUSE_MOVED): Define if not known.
8059
8060 * minibuf.c: Include keyboard.h before frame.h.
8061
8062 * keyboard.c: Include keyboard.h before frame.h.
8063
8064 * indent.c: Include keyboard.h before frame.h.
8065
8066 * dispnew.c: Include keyboard.h before frame.h.
8067
8068 * buffer.c: Include keyboard.h before frame.h.
8069
8070 * alloc.c: Include keyboard.h before frame.h.
8071
8072 * print.c: Include keyboard.h before frame.h.
8073
8074 * process.c: Include keyboard.h before frame.h.
8075
8076 * scroll.c: Include keyboard.h before frame.h.
8077
8078 * sysdep.c: Include keyboard.h before frame.h.
8079
8080 * term.c: Include keyboard.h before frame.h.
8081
8082 * window.c: Include keyboard.h before frame.h.
8083
8084 * xdisp.c: Include keyboard.h before frame.h.
8085 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8086
8087 * frame.c: Include keyboard.h before frame.h.
8088
8089 * w32heap.h: Undefine min, max.
8090
8091 * w32gui.h: Undefine min, max.
8092
8093 * unexw32.c: Change PUCHAR to PCHAR.
8094 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8095 (relocate_offset):
8096 (get_section_info):
69a7ffa7
AI
8097 (copy_executable_and_dump_data): Remove unnecessary static defs.
8098 (copy_executable_and_dump_data): Fix compile warnings.
8099
8100 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8101
8102 * w32console.c (min): Define macro.
8103 (clear_frame, write_glyphs): Fix compile warning.
8104
52283633 8105 * w32proc.c (compare_env):
69a7ffa7
AI
8106 (find_child_console): Fix compile warning.
8107
8108 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8109 sys_errlist instead of _sys_errlist.
8110 (get_emacs_configuration_options): New function.
8111
8112 * s/ms-w32.h (sys_nerr): Provide default definition.
8113 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8114 name with _ prepended.
8115 (NSIG): Define if not known.
8116 (get_emacs_configuration): Provide extern declaration.
8117 (get_emacs_configuration_options): Provide extern declaration.
8118 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8119
8120 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8121 (map_w32_filename):
69a7ffa7
AI
8122 (read_unc_volume): Fix compile warning.
8123
8124 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8125 definitions from being used.
8126
8127 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8128
52283633 8129 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8130 (open_unc_volume): Make arg const.
8131
8132 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8133 (read_input_waiting): Remove excess parameter.
8134
8135 * w32.c (init_environment): Call _access.
8136 (check_windows_init_file): Call _close.
8137 (init_user_info): Call _putenv.
8138 (init_environment): Call _putenv and _strdup.
8139 (init_ntproc): Reset volume info cache on startup.
8140
8141 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8142 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8143 cannot override the CRT malloc.
8144
8145 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8146 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8147
8148 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8149 unless we are linking with a static CRT.
8150 (RVA_TO_PTR): Cast result to unsigned char*.
8151
8152 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8153 (add_volume_info): Use xstrdup.
8154
25060080
SM
81552000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8156
8157 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8158 (do_completion, Fminibuffer_complete_word): Use it.
8159 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8160 var so it can take non-boolean values.
8161
6917e6bb
GM
81622000-08-21 Gerd Moellmann <gerd@gnu.org>
8163
acb7cc89 8164 * editfns.c (find_field): Formatting changes.
52283633 8165 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8166 changed to prototypes, some new protypes added, some functions
8167 made static.
8168
8169 * lisp.h (set_time_zone_rule): Add prototype.
8170 (use_dialog_box): External declaration.
8171
0bbfdc25
GM
8172 * keyboard.c (gen_help_event): Add parameter SIZE.
8173 (kbd_buffer_events_waiting): Slightly rewritten.
8174 (clear_event): New function.
8175 (kbd_buffer_get_event): Use it, and clear the input_events of
8176 HELP_EVENTs.
8177 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8178 don't fill the newly created array with nils.
8179 (toplevel): Convert some old-style function forward declarations
8180 to prototypes.
8181
8182 * keyboard.h (gen_help_event): Change prototype.
8183
8184 * xterm.c (XTread_socket): Change calls to gen_help_event.
8185
8186 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8187
6917e6bb
GM
8188 * eval.c (Fmacroexpand): Doc fix.
8189
e5cd3d11
JR
81902000-08-20 Jason Rumney <jasonr@gnu.org>
8191
8192 * w32term.h (x_display_info_for_display): Remove as this function
8193 does not exist on W32.
8194
8195 * w32term.c (help_echo_window): New variable.
8196 (syms_of_w32term): staticpro it.
8197 (note_mode_line_highlight): Set it.
8198 (XTextExtents16): Removed as there is no equivalent on W32.
8199 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8200 the X way of doing this will not work for W32.
8201 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8202 (x_draw_image_foreground): Avoid drawing outside of the clip area
8203 when image doesn't have a mask.
8204 (note_mouse_highlight): Process overlays in the right order of
8205 priority. Set help_echo_window.
8206 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8207 because that's more visible for large images.
8208
8209 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8210 name to single_keymap_panes.
8211 (w32_menu_show): Set wv->title when dealing with titles.
8212 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8213
6e69ab8c
MB
82142000-08-21 Miles Bader <miles@gnu.org>
8215
8216 * minibuf.c (do_completion): Try again if we rewrite the input
8217 string, but no completion was done, so that any completion message
8218 will be correct.
8219
511bd4eb
GM
82202000-08-20 Gerd Moellmann <gerd@gnu.org>
8221
8222 * xfaces.c (lface_equal_p): Compare strings differently.
8223 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8224 (realize_tty_face): Use them.
8225 (syms_of_xfaces): Initialize new variables.
8226 (map_tty_color): New function, extracted from realize_tty_face.
8227 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8228 foreground or background color, store the new color name in the
8229 realized face; previous code trying to do this had no effect.
8230 (realize_tty_face): Use map_tty_color.
8231 (Fclear_face_cache): Set face_change_count and ensure thorough
8232 redisplay.
8233
1433385f
GM
82342000-08-19 Gerd Moellmann <gerd@gnu.org>
8235
511bd4eb
GM
8236 * undo.c (record_first_change, record_marker_adjustment): Don't
8237 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8238
419ac0a2
KH
82392000-08-18 Kenichi Handa <handa@etl.go.jp>
8240
8241 * coding.c (decode_coding_string): Set members consumed,
8242 consumed_char, produced, produced_char of *coding correctly. If
8243 decode_coding doesn't consume any byte, don't try anymore.
8244 (encode_coding_string): Likewise.
8245
7eb9e30d
GM
82462000-08-18 Gerd Moellmann <gerd@gnu.org>
8247
511bd4eb
GM
8248 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8249 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8250
8251 * xdisp.c (redisplay_internal): Compare windows for equality with
8252 EQ, instead of applying XWINDOW to something that might not
8253 be a window.
52283633 8254
dd34a735
KH
82552000-08-18 Kenichi Handa <handa@etl.go.jp>
8256
8257 * fontset.c (Finternal_char_font): Search only the selected frame
8258 for a window of the current buffer.
8259
385ff9e3
GM
82602000-08-18 Gerd Moellmann <gerd@gnu.org>
8261
511bd4eb 8262 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8263 Lisp_Objects.
8264
385ff9e3
GM
8265 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8266 second half of a HELP_EVENT is found at the start of kbd_buffer.
8267
d6abb4c7
MB
82682000-08-18 Miles Bader <miles@gnu.org>
8269
4618074a
MB
8270 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8271
d6abb4c7
MB
8272 * editfns.c (save_restriction_save): Rewrite to use markers.
8273 (save_restriction_restore): Rewrite to understand new form of data
8274 saved by save_restriction_save.
8275 (Fsave_restriction): Remove cautionary note in doc-string.
8276
a7b28523
GM
82772000-08-17 Gerd Moellmann <gerd@gnu.org>
8278
8279 * fileio.c (build_annotations): Add a comment explaining the
8280 return value of format-annotate-function. Replace a spurious call
8281 to Flength with a CONSP test. Call format-annotate-function with
8282 a fifth arg specifying how many times the function is been called
8283 in a row, to let it choose temporary buffers appropriately.
8284
03c9ed77
DL
82852000-08-17 Dave Love <fx@gnu.org>
8286
8287 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8288 declare make_temp_name twice.
8289
52283633 8290 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8291 (unreadpure): Give it an arg.
8292
8293 * unexalpha.c: Prototype fatal_unexec, mark_x,
8294 update_dynamic_symbols. Declare unexec as void.
8295
8296 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8297 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8298
8299 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8300 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8301
8302 * alloca.c: Use #error.
8303 [POINTER_TYPE]: Use it.
8304
8305 * eval.c (Fdefvar): Doc fix.
8306
8307 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8308 INITIALIZE_INTERVAL.
8309
8310 * buffer.h: Avoid DECLARE_INTERVALS.
8311
8312 * config.in: Add size_t.
8313
aae41d97
EZ
83142000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8315
8316 * w16select.c (set_clipboard_data): If there's not enough memory
8317 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8318 expects. In case of other failures, return 3.
8319 (system_error_msg): New error message.
8320 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8321 system_error_msg.
8322
65aa5e85
GM
83232000-08-16 Gerd Moellmann <gerd@gnu.org>
8324
8325 * term.c (write_glyphs): Also turn off inverse video after turning
8326 off other appearances in case TS_exit_attribute_mode is not equal
8327 to TS_end_standout_mode.
8328 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8329 with the same face.
8330 (turn_off_face): Reset standout_mode only if
8331 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8332 is equal to TS_end_standout_mode.
8333
ece23901
KH
83342000-08-16 Kenichi Handa <handa@etl.go.jp>
8335
9d7bcb2e
KH
8336 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8337 sequence at the end of the source block.
8338
ece23901
KH
8339 * ccl.c (Fccl_program_p): Docstring modified.
8340 (Fccl_execute): Likewise.
8341 (Fccl_execute_on_string): Likewise.
8342
5e30eaa2
EZ
83432000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8344
8345 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8346
290602fd
KH
83472000-08-16 Kenichi Handa <handa@etl.go.jp>
8348
8349 The following changes are mainly to fix bugs of
8350 encode/decode-coding-string failing if encoding/decoding return
8351 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8352 variable conversion_buffer.
8353
8354 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8355 decrement dst_end to avoid buffer overflow in the later call of
8356 string_as_multibyte
8357
8358 * coding.h (conversion_buffer_size, conversion_buffer)
8359 (get_conversion_buffer): Extern deleted.
8360
8361 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8362 (conversion_buffer, conversion_buffer_size): Variables deleted.
8363 (get_conversion_buffer): Function deleted.
8364 (struct conversion_buffer): New structure.
8365 (MAX_ALLOCA): New macro.
8366 (allocate_conversion_buffer): New macro.
8367 (extend_conversion_buffer, free_conversion_buffer): New functions.
8368 (ccl_coding_driver): Set coding->result.
8369 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8370 this is the last block of source.
8371 (encode_coding): Likewise. Handle the source block as the last
8372 one only when the whole source text is consumed.
8373 (decode_coding_string): Handle the case that the output buffer is
8374 too small to decode the whole source text. Use
8375 allocate_conversion_buffer, extend_conversion_buffer and
8376 free_conversion_buffer, not get_conversion_buffer.
8377 (encode_coding_string): Likewise.
8378 (init_coding): Function deleted.
52283633 8379 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8380
8381 * emacs.c (main): Don't call init_coding.
8382
52283633 8383 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8384
8385 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8386 (insert_glyphs): Likewise.
8387
8388 * w32console.c (write_glyphs): Use a locally declared
8389 conversion_buffer.
8390
b9f80d41
EZ
83912000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8392
8393 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8394 member of display_info is NULL.
8395
32dc52f7
GM
83962000-08-15 Gerd Moellmann <gerd@gnu.org>
8397
52283633 8398 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8399
32dc52f7 8400 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8401 appearances with capability `me'.
32dc52f7
GM
8402 (write_glyphs): Switch on inverse video before each face change.
8403
4eb22d33
DL
84042000-08-14 Dave Love <fx@gnu.org>
8405
8406 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8407 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8408 (lisp_free): Declare and make static.
8409
8410 * window.c: Fix embedded comment.
8411 (syms_of_window): Fix doc string.
8412
90cbf47e
GM
84132000-08-14 Gerd Moellmann <gerd@gnu.org>
8414
52283633 8415 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
8416 make sure to print `C-' before `M-', like in the manual.
8417
440fc135
GM
84182000-08-11 Gerd Moellmann <gerd@gnu.org>
8419
8420 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8421 since they aren't relocated anymore.
52283633 8422 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
8423
8424 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 8425 partially visible line which is smaller than the window's height.
440fc135 8426
6e264fad
KH
84272000-08-11 Kenichi Handa <handa@etl.go.jp>
8428
8429 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 8430 the multibyte form of eight-bit-control characters.
6e264fad
KH
8431 (Fccl_execute_on_string): Initialize ccl->multibyte.
8432
8433 * ccl.h (struct ccl_program): New member multibyte.
8434
8435 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
8436
c371f69a
KH
84372000-08-11 Kenichi Handa <handa@etl.go.jp>
8438
8439 * regex.c (regex_compile) <normal_char>: Pay attention to
8440 multibyteness.
8441 (analyse_first) <exactn>: Setup fastmap correctly for
8442 eight-bit-control characters.
8443
84442000-08-11 Kenichi Handa <handa@etl.go.jp>
8445
52283633 8446 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
8447
8448 * keyboard.c (make_lispy_event): Handle the new event type
8449 multibyte_char_keystroke.
8450
8451 * xterm.c: Include coding.h.
8452 (XTread_socket): Work around a bug of XmbLookupString. If the
8453 input is from XIM, decode it according to the current locale. In
8454 that case, generate multibyte_char_keystroke events.
8455
b8ddbe71
KH
84562000-08-11 Kenichi Handa <handa@etl.go.jp>
8457
8458 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
8459 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
8460
47589c8c
GM
84612000-08-10 Gerd Moellmann <gerd@gnu.org>
8462
8463 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
8464 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
8465 (move_it_in_display_line_to): Record iterator's ascent and descent
8466 before producing glyphs, and restore them when we know the glyph
8467 doesn't fit on the line.
8468 (move_it_to): Restructured so that it's easier to debug. If
8469 moving to a vpos, and not moving to an x or character position,
8470 stop as soon as the specified vpos is reached; don't move further
8471 into that line because that might change the computed line height.
8472 (try_cursor_movement): New function, extracted from the cursor
8473 movement branch of redisplay_window. If ending on a partially
8474 visible line, don't try to scroll if the cursor line is taller
8475 than the window.
8476 (redisplay_window): Use try_cursor_movement.
8477
8478 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8479 because that function doesn't cope with variable-height lines.
8480
8481 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8482 box cursor because that's better visible for large images.
52283633 8483
c51bacd6
MB
84842000-08-10 Miles Bader <miles@gnu.org>
8485
8486 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8487
bea56df7
GM
84882000-08-10 Gerd Moellmann <gerd@gnu.org>
8489
8490 * xdisp.c (Vmessages_buffer_name): New variable.
8491 (message_dolog): Use it.
8492 (syms_of_xdisp): Initialize it.
8493
99cd7364
EZ
84942000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8495
52283633 8496 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
8497 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8498 redundant now that keyboard.h is included.
8499
7d093d56
EZ
85002000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8501
8502 * keyboard.c (kbd_buffer_events_waiting): New function.
8503
8504 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8505
8506 * msdos.c: Include keyboard.h.
8507 (XMenuActivate): Empty no_event events from the event buffer. If
8508 no events are left after that, call clear_input_pending.
8509 (mouse_clear_clicks): New function, code moved from mouse_init.
8510 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8511 mouse driver to ``forget'' any past clicks.
8512
8513 * Makefile.in (msdos.o): Depend on keyboard.h.
8514
41e757a6
GM
85152000-08-09 Gerd Moellmann <gerd@gnu.org>
8516
8e7bd231
GM
8517 * lisp.h (input_pending): External declaration.
8518
8519 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8520
8e7bd231
GM
8521 * xdisp.c (echo_area_display): Display thoroughly if input is
8522 pending. Bind redisplay-dont-pause to t during the redisplay.
8523 in case input is pending.
8524
8525 * dispnew.c (Qredisplay_dont_pause): New variable.
8526 (syms_of_display): Initialize and staticpro it.
8527 (update_frame_1): Don't interrupt the display for pending input if
8528 redisplay_dont_pause is set.
52283633 8529
43028b7e
GM
8530 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8531
41e757a6
GM
8532 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8533
2f2174fa
KH
85342000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8535
8536 * callproc.c (Fcall_process): Terminate the unwind-protect around
8537 the post-read-conversion of coding system.
8538
0a6fd67e
MB
8539 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8540 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8541 * buffer.h (overlays_at): Update prototype.
8542 * xdisp.c (next_overlay_change): Update call to overlays_at.
8543 * xfaces.c (face_at_buffer_position): Likewise.
8544 * textprop.c (Fget_char_property): Likewise.
8545 * xterm.c (note_mouse_highlight): Likewise.
8546
0c80756e
MB
8547 * minibuf.c (do_completion): Don't consider a simple change of
8548 case as `completion'.
8549
975f250a
KR
85502000-08-08 Ken Raeburn <raeburn@gnu.org>
8551
52283633 8552 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8553 * undo.c (record_delete): Make sure last_point_position_buffer is
8554 a buffer before comparing pointers.
8555
8556 * coding.h (decode_coding_string): Declare.
8557
8558 * intervals.h (Fprevious_single_char_property_change): Declare.
8559
8560 * textprop.c (Fprevious_single_char_property_change): Don't do
8561 arithmetic directly on lisp objects.
8562
52283633 8563 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
8564
8565 * keyboard.h (menu_item_eval_property): Declare.
8566
8567 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8568 reuse as buffer name, instead of recreating (and discarding) every
8569 time a message is logged.
8570 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
8571 (current_message_1, truncate_message_1, set_message_1)
8572 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8573 (current_message, truncate_echo_area, display_echo_area)
8574 (resize_echo_area_axactly): Changed calls.
b347b3fd 8575
975f250a 8576 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 8577 Lisp object.
975f250a 8578 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 8579 must be an integer, not a Lisp object.
975f250a 8580
46dc9912
KH
85812000-08-08 Kenichi Handa <handa@etl.go.jp>
8582
8583 * charset.c (Fchar_width): Doc fix.
8584
9f6d1a6c
GM
85852000-08-08 Gerd Moellmann <gerd@gnu.org>
8586
8587 * charset.c (Fstring_width): Doc fix.
8588
ff3d9573
GM
85892000-08-07 Gerd Moellmann <gerd@gnu.org>
8590
41e757a6 8591 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
8592 line, clear ascent and descent members of the iterator structure;
8593 the height of the continued line does not affect the height of the
8594 continuation line.
8595 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8596 line taller than the window.
8597 (redisplay_window) <forced window start>: Handle case that the
8598 middle of the window is not found in any row.
8599 (dump_glyph_row): Show more information.
8600 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8601 first text line in a glyph matrix.
8602
8603 * xterm.c (x_draw_image_foreground): Avoid drawing outside
8604 of the clip area when image doesn't have a mask.
8605
70fc58b3
GM
8606 * fns.c (sweep_weak_table): Fix survival conditions for
8607 key-or-value and key-and-value weakness.
8608
8609 * .gdbinit (xhashtable): New command.
8610
ac0e96ee
GM
8611 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
8612 tables out of the list of all weak hash tables.
8613
ff3d9573
GM
8614 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
8615 a new buffer is created, make sure echo_area_buffer[] references
8616 the new buffer.
8617
e0d8827b
EZ
86182000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
8619
8620 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
8621 the doc string.
8622
c6f35378
KH
86232000-08-07 Kenichi Handa <handa@etl.go.jp>
8624
8625 * syntax.c (skip_chars): Fix previous change. Make the handling
8626 of unibyte string consistent with that of regex search.
8627
1fd4c450
GM
86282000-08-05 Gerd Moellmann <gerd@gnu.org>
8629
e49aa397
GM
8630 * xmenu.c (popup_get_selection): Use xfree instead of free.
8631
8632 * fileio.c (Finsert_file_contents): Use xfree instead of free.
8633
8634 * editfns.c (Ftranspose_regions): Use xfree instead of free.
8635
8636 * callproc.c (child_setup): Use xfree instead of free.
8637
8638 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
8639 instead of malloc.
8640 (run_mac_command, closedir): Use `xfree' instead of `free'.
8641
8642 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
8643
8644 * eval.c (error): Use xfree instead of free.
8645
1fd4c450
GM
8646 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
8647
8648 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8649 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8650
82d497fc
KH
86512000-08-05 Kenichi Handa <handa@etl.go.jp>
8652
8653 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8654 conversion.
8655
59f953a2
NF
86562000-08-04 Noah Friedman <friedman@splode.com>
8657
8658 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8659 docstring.
8660
688351f2
GM
86612000-08-04 Gerd Moellmann <gerd@gnu.org>
8662
8663 * syntax.c (skip_chars): Fix typo in error message.
8664
2dad51cc
AS
86652000-08-04 Andreas Schwab <schwab@suse.de>
8666
8667 * m/ia64.h: Moved from s/ia64.h.
8668
99bb2c60
KH
86692000-08-04 Kenichi Handa <handa@etl.go.jp>
8670
082a1df2
KH
8671 * process.c (read_process_output): Big simplification. Handle
8672 composition and post-read-conversion of coding system correctly.
8673 (send_process): Handle composition correctly.
8674
8675 * callproc.c (Fcall_process): Handle post-read-conversion of
8676 coding system if any.
8677
99bb2c60
KH
8678 * coding.c (decode_coding_iso2022): More strict check for handling
8679 single shifting.
082a1df2
KH
8680 (coding_restore_composition): Pay attention to the case that
8681 cmp_data is not set properly (because of invalid code in the
8682 source text).
8683 (run_pre_post_conversion_on_str): Include text properties in the
8684 resulting string.
8685 (decode_coding_string): Set members of coding correctly.
99bb2c60 8686
f4988be7
GM
86872000-08-03 Gerd Moellmann <gerd@gnu.org>
8688
8689 * s/ia64.h: New file.
8690
8691 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8692 Use NULL instead of 0 at the end of variable argument list of
8693 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8694 sizeof (int) < sizeof (void *).
8695
8696 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8697 of variable argument lists of XtVaGetValues and XtVaSetValues.
8698
8699 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8700 variable argument lists of XtVaGetValues and XtVaSetValues.
8701
ead53494
GM
87022000-08-02 Gerd Moellmann <gerd@gnu.org>
8703
8704 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8705 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8706
8707 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8708 prototype.
8709
8710 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8711 in call to Fsingle_key_description.
8712
8713 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8714 Callers changed.
8715
87162000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8717
8718 * window.c (display_buffer_reuse_frames): New variable.
8719 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8720 frames displaying BUFFER.
52283633 8721 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8722
10b0f752
MB
87232000-08-01 Miles Bader <miles@gnu.org>
8724
8725 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8726 when to constrain NEW_POS (they were pretty screwed up before).
8727
16425c4a
EZ
87282000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8729
8730 * msdos.c (run_msdos_command): Save and restore the master
8731 environment, for the case that child_setup signals an error.
8732 When mirroring slashes in DOS shell commands, don't fail when
8733 argv[2] has embedded blanks.
da288c14
EZ
8734 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8735 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8736 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8737
8738 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
8739 using alloca; free it after run_msdos_command returns.
8740
27f73852
DL
87412000-07-27 Dave Love <fx@gnu.org>
8742
52283633
SM
8743 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
8744 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
8745
8746 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
8747
c0261b5e
EZ
87482000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
8749
8750 * editfns.c (lisp_time_argument): Fix last change.
8751
b548072f
GM
87522000-07-27 Gerd Moellmann <gerd@gnu.org>
8753
3ab82477
GM
8754 * fns.c (Fdelete): Make it work on vectors and strings in addition
8755 to lists.
8756
b548072f
GM
8757 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
8758 (syms_of_fns): Initialize new variables.
52283633 8759 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
8760 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
8761 weakness, with t meaning the same as `key-and-value'.
8762
91ae8751
KH
87632000-07-27 Kenichi Handa <handa@etl.go.jp>
8764
8765 * coding.h (struct coding_system): Member safe_charset deleted.
8766
8767 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
8768 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
8769 New variables.
91ae8751
KH
8770 (coding_safe_chars): New function.
8771 (CODING_SAFE_CHAR_P): New macro.
8772 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 8773 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
8774 (detect_coding_iso2022): New local variable safe_chars.
8775 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
8776 safe_charsets member of the coding system.
8777 (decode_coding_iso2022): New local variable safe_chars.
8778 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
8779 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
8780 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
8781 (ENCODE_UNSAFE_CHARACTER): New macro.
8782 (encode_coding_iso2022): New local variable safe_chars. Check
8783 unsafe chars.
8784 (setup_coding_system): Delete the code to initialize
8785 coding->safe_charses
8786 (intersection, find_safe_codings): New functions.
8787 (Ffind_coding_systems_region_internal): New function.
8788 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
8789 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
8790 variable and initialize it.
8791
8792 * fns.c (char_table_ref_and_index): New function.
8793
8794 * lisp.h (char_table_ref_and_index): Add prototype.
8795
34a7a267
SS
87962000-07-26 Sam Steingold <sds@gnu.org>
8797
8798 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 8799 (Ffloat_time): New built-in Lisp function.
34a7a267 8800
a95cb10a
GM
88012000-07-26 Gerd Moellmann <gerd@gnu.org>
8802
3353ef5a
GM
8803 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
8804 for the character code.
8805
8806 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
8807 GNU/Linux.
8808
a95cb10a
GM
8809 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
8810 if called for a popup menu.
8811 (xmenu_show): Store help string in widget values.
8812
b4a12321
DL
88132000-07-26 Dave Love <fx@gnu.org>
8814
8815 * syswait.h: Move some definitions.
8816 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
8817 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
8818 perspicuous definitions.
8819 (WTERMSIG): Fix bit pattern used.
8820
13f5ad37
KH
88212000-07-26 Kenichi Handa <handa@etl.go.jp>
8822
8823 * print.c (print_object): If vector printing is truncated, print
8824 "..." to indicate it as well as the case of list printing.
8825
070fe99c
GM
88262000-07-25 Gerd Moellmann <gerd@gnu.org>
8827
969065c3
GM
8828 * xdisp.c (next_element_from_display_vector): Improve comments.
8829
8830 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
8831 for the character code, and the rest for the face id as in 20.x.
8832 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
8833
8834 * window.c (window_display_table): Cleaned up.
8835
070fe99c
GM
8836 * syntax.c (Fforward_word): Add last arg nil in call of
8837 Fconstrain_to_field.
8838
bad77ef7
EZ
88392000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
8840
969065c3 8841 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
8842 identical but for the letter-case, don't call
8843 barf_or_query_if_file_exists.
bad77ef7 8844
c28da489
MB
88452000-07-25 Miles Bader <miles@gnu.org>
8846
8847 * editfns.c (find_field): Honor special `boundary' fields.
8848 (Qboundary): New variables.
8849 (syms_of_editfns): Initialize Qboundary.
8850 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
8851 Use scan_buffer instead of find_before_next_newline, because it
8852 allows us to detect the boundary case where there's a newline at
8853 the search limit.
8854 * lisp.h (Fconstrain_to_field): Update external declaration.
8855
e3c31fd5
GM
88562000-07-24 Gerd Moellmann <gerd@gnu.org>
8857
8858 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
8859 if that is nil.
c28da489 8860
c66c29a2
DL
88612000-07-24 Dave Love <fx@gnu.org>
8862
8863 * s/sunos4-0.h, s/sol2.h:
8864 (LIBS_TERMCAP): Move from m/sparc.h.
8865
8866 * m/sparc.h (TERMINFO): Moved to system files (probably only
8867 relevant for sunos4 judging by its vintage).
8868 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
8869 __arch64__.
8870
fbe0a958
EZ
88712000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
8872
8873 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
8874 name to single_keymap_panes.
8875
7d88e5c9
AS
88762000-07-24 Andreas Schwab <schwab@suse.de>
8877
8878 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
8879
e024b101
GM
88802000-07-24 Gerd Moellmann <gerd@gnu.org>
8881
8882 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
8883 parameters instead of using int parameters. Expect FN to accept
8884 EMACS_INT parameters.
8885 (display_echo_area, resize_echo_area_axactly, current_message)
8886 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
8887 with new argument list.
8888 (resize_mini_window_1): New callback function.
8889 (current_message_1, truncate_message_1, set_message_1): Change
52283633 8890 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 8891
25c1a9ce
KH
88922000-07-24 Kenichi Handa <handa@etl.go.jp>
8893
8894 * fontset.c (fontset_ref): Remove INLINE declaration.
8895 (fontset_ref_via_base): Likewise.
8896 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
8897 to downcase.
8898
7f987ac0
EZ
88992000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
8900
8901 * msdos.c (IT_note_mouse_highlight): Process overlays in the
8902 correct order of priority. If help echo was found in an overlay,
8903 use that overlay as the object in which the help echo was found.
8904
e2db3069
MB
89052000-07-22 Miles Bader <miles@gnu.org>
8906
8907 * textprop.c (Fprevious_single_char_property_change): The initial
8908 property value should be from the position preceding POSITION, not
8909 following it.
8910
5e3203e4
EZ
89112000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
8912
8913 * coding.c (syms_of_coding): Doc fix for
8914 inhibit-iso-escape-detection.
8915
62145073
GM
89162000-07-21 Gerd Moellmann <gerd@gnu.org>
8917
c20aeb83
GM
8918 * xterm.c (note_mouse_highlight): Process overlays in the right
8919 order of priority.
34a7a267 8920
743934db
GM
8921 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
8922
8923 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 8924 overlay, use that overlay as the object in which the help was found.
743934db 8925
d1dc7e43 8926 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 8927
62145073
GM
8928 * window.c (foreach_window): Instead of a fake variable argument
8929 list, take one USER_DATA argument.
8930 (foreach_window_1): Likewise, and call callback functions with two
8931 args, the window and USER_DATA.
8932 (struct check_window_data): New struct.
8933 (check_window_containing): Use it.
8934 (window_from_coordinates): Set up a struct check_window_data for
8935 foreach_window.
8936 (add_window_to_list, freeze_window_start): Change parameters
8937 according to new calling convention.
8938
8939 * window.h (foreach_window): Change prototype.
8940
8941 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
8942
89432000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
8944
8945 * xmenu.c (menu_help_callback): Call show_help_echo with
8946 additional arguments OBJECT and POS.
8947
11270583
KH
89482000-07-21 Kenichi Handa <handa@etl.go.jp>
8949
07b14857
KH
8950 * data.c (Faset): Allow storing any multibyte character in a
8951 string. Convert unibyte string to multibyte if necessary.
8952
11270583
KH
8953 * xfns.c (x_encode_text): New function.
8954 (x_set_name): Use x_encode_text.
8955 (x_set_title): Likewise.
8956
8957 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
8958
8959 * xterm.h (x_encode_text): Add prototype.
8960
bc75b4fd
DL
89612000-07-20 Dave Love <fx@gnu.org>
8962
8963 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
8964 xfree, not free.
8965
48c14970
EZ
89662000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
8967
8968 * msdos.c (help_echo_window): New variable.
8969 (syms_of_msdos): Initialize and staticpro it.
8970 (IT_note_mode_line_highlight): Set help_echo_window.
8971 (IT_note_mouse_highlight): Ditto.
8972 (dos_rawgetc): Store help_echo_window in the second event produced
8973 for HELP_EVENTs.
8974
8975 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
8976 Record the object that generated the help echo and the position of
8977 that object in help_echo_object and help_echo_pos. Record that
8978 some glyphs in a row are displayed in mouse-face.
8979 (IT_update_begin): Don't clear mouse highlight unless one of the
8980 enabled glyph rows is marked as being displayed in mouse-face.
8981 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
8982 and position recorded in help_echo_object and help_echo_pos to the
8983 event queue.
8984 (IT_menu_display): Accept a new argument PN: the pane number of
8985 the current menu pane. Record the pane number and the item
8986 number of the item which has associated help string.
8987 (XMenuActivate): Update the prototype for help_callback in
8988 function declaration. Call IT_menu_display with the current menu
8989 pane number as an additional argument. Call help_callback with
8990 two additional arguments: the pane number and the item number of
8991 the menu item associated with the help text.
8992 (help_echo_object, help_echo_pos): New variables.
8993 (syms_of_msdos): Initialize them and staticpro help_echo_object.
8994
8995 * msdos.h (XMenuActivate): Update prototype.
8996
4279296d
GM
89972000-07-19 Gerd Moellmann <gerd@gnu.org>
8998
47db06aa
GM
8999 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9000 Add some more prototypes.
9001
9002 * xterm.c, xterm.h: Add some more prototypes.
9003
9004 * lisp.h (Fnext_single_char_property_change): Add prototype.
9005
9006 * dispnew.c (direct_output_for_insert): Remove confusing
9007 outer local variable mouse_face_overwritten_p.
9008 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9009
4279296d
GM
9010 * alloc.c (allocate_string_data): Don't copy old string contents.
9011
670acd62
KH
90122000-07-19 Kenichi Handa <handa@etl.go.jp>
9013
9014 * coding.c (code_convert_region): Delete text properties before
9015 shrinking the conversion region.
9016
7cea38bc
GM
90172000-07-18 Gerd Moellmann <gerd@gnu.org>
9018
dc1cac59
GM
9019 * dispnew.c (update_text_area): Write the whole row if it
9020 has mouse-face in it.
9021
85a8aca9
GM
9022 * xfaces.c (face-alternative-font-family-alist): Remove
9023 DEFVAR_LISP; staticpro instead.
9024
34a7a267 9025 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9026 new arguments.
9027
9028 * keyboard.c (show_help_echo): Add parameter WINDOW.
9029 (read_char): Call show_help_echo with window extracted from Lisp
9030 help event.
9031 (gen_help_event): Add parameter WINDOW.
9032
9033 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9034
9035 * xterm.c (help_echo_window): New variable.
52283633 9036 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9037 (XTread_socket): Pass help_echo_window to gen_help_event.
9038 (syms_of_xterm): Initialize and staticpro help_echo_window.
9039
f8276b77
DL
90402000-07-18 Dave Love <fx@gnu.org>
9041
52283633 9042 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9043
088831a6
GM
90442000-07-18 Gerd Moellmann <gerd@gnu.org>
9045
3d6cd763
GM
9046 * alloc.c (allocate_string_data): If string had already data
9047 assigned, copy old contents to new string data.
9048
9049 * coding.c (syms_of_coding): Fix typo in spelling of variable
9050 `inhibit-iso-escape-detection'.
9051
088831a6
GM
9052 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9053
9054 * Makefile.in: Add dependencies on dispextern.h.
9055 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9056 `free'; both can conflict with system header files.
9057
bc8a8d55
KH
90582000-07-18 Kenichi Handa <handa@etl.go.jp>
9059
9060 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9061 undefined.
9062
069f5950
DL
90632000-07-18 Dave Love <fx@gnu.org>
9064
9065 * window.c (Fwindow_list): Declare arg `window'.
9066
aa96c820
KH
90672000-07-18 Kenichi Handa <handa@etl.go.jp>
9068
9069 * coding.c (setup_coding_system): Don't override the explicitly
9070 specified designations.
9071
06be8d32
MB
90722000-07-15 Miles Bader <miles@gnu.org>
9073
9074 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9075 from `text_property_eq' and `text_property_stickiness', respectively.
9076 (find_field, Fconstrain_to_field, char_property_eq)
9077 (char_property_stickiness): Changed to call char-property functions
9078 instead of text-property-only ones.
9079
9080 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9081 `next_single_char_property_change'). Do more error checking, and
9082 cleanup limit behavior.
9083 (Fprevious_single_char_property_change): New function.
9084 (syms_of_textprop): Initialize new subrs.
9085
9086 * xdisp.c (display_prop_end, invisible_text_between_p):
9087 Call Fnext_single_char_property_change instead of
9088 next_single_char_property_change.
9089
3fddcdc3
JR
90902000-07-15 Jason Rumney <jasonr@gnu.org>
9091
9092 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9093 after menu is finished with.
9094 (add_menu_item): Only consider wv->title as a menu title.
9095 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9096
9097 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9098 null title.
9099 (FONT_REGEXP): Remove unused macro, and its sub-components.
9100 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9101
9102 * w32term.c (help_echo_object, help_echo_pos): New variables.
9103 (note_mode_line_highlight): Store additional information about the
9104 help-echo in help_echo_object and help_echo_pos. Check both
9105 `local-map' and `keymap' properties for changing the cursor
9106 (note_mouse_highlight): Store additional information about the
9107 help-echo in help_echo_object and help_echo_pos.
9108 (note_tool_bar_highlight): Set help_echo_object to nil and
9109 help_echo_pos to -1.
9110 (w32_read_socket): Use gen_help_event instead of filling
9111 input_events manually.
9112 (syms_of_w32term): Staticpro help_echo_object.
9113 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9114 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9115 (x_clear_mouse_face): New function.
9116 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9117 (x_update_window_begin): No need to turn off the mouse
9118 highlight here.
9119 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9120 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9121 (x_fill_stretch_glyph_string): Consume runs of stretch
9122 glyphs instead of a single one.
9123 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9124 with new argument list.
9125 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9126 (x_append_glyph, x_append_composite_glyph)
9127 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9128 changes in struct glyph starting 1999-12-27. See comments for
9129 xterm.c on 2000-07-05.
9130
178c5d9c
SS
91312000-07-14 Sam Steingold <sds@gnu.org>
9132
9133 * xfaces.c (realize_x_face): Fix the last patch:
9134 check `default_face' before dereferencing.
9135
6fe533f6
DL
91362000-07-14 Dave Love <fx@gnu.org>
9137
069f5950 9138 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9139
dd7b81cf
KH
91402000-07-14 Kenichi Handa <handa@etl.go.jp>
9141
0693904a 9142 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9143 default_face's fontset, not using the default fontset.
0693904a 9144
dd7b81cf
KH
9145 * coding.c (inhibit_iso_escape_detection): New variable.
9146 (syms_of_coding): Make it a Lisp variable.
9147 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9148 nonzero, ignore ISO2022's escape sequence.
9149
d5aa31d8
GM
91502000-07-14 Gerd Moellmann <gerd@gnu.org>
9151
e5acf0ca
GM
9152 * alloca.c (malloc) [emacs]: Define as xmalloc.
9153
bd23a692
GM
9154 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9155 use that instead of the mouse position. Add parameters DX and DY.
9156
9157 * dispextern.h (Fx_show_tip): Adjust number of parameters
9158 in prototype.
9159
9662da0b
GM
9160 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9161 if HELP is a function, call it with OBJECT and POS as parameters
9162 to get the help to display.
9163 (gen_help_event, kbd_buffer_store_help_event): New functions.
9164 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9165 (read_char): Call show_help_echo with new parameters.
9166
178c5d9c 9167 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9168 Add prototypes.
9169
9170 * xterm.c (help_echo_object, help_echo_pos): New variables.
9171 (note_mode_line_highlight): Store additional information about the
9172 help-echo in help_echo_object and help_echo_pos. Check both
9173 `local-map' and `keymap' properties for changing the cursor
9174 (note_mouse_highlight): Store additional information about the
9175 help-echo in help_echo_object and help_echo_pos.
9176 (note_tool_bar_highlight): Set help_echo_object to nil and
9177 help_echo_pos to -1.
9178 (XTread_socket): Use gen_help_event instead of filling
9179 input_events manually.
9180 (syms_of_xterm): Staticpro help_echo_object.
9181
9182 * xmenu.c (menu_highlight_callback): Use
9183 kbd_buffer_store_help_event instead of setting up and input_event
9184 structure manually.
9185
9186 * xdisp.c (eval_form): GCPRO argument sexpr.
9187 (call_function): New function.
9188 (handle_single_display_prop): Use call_function and FUNCTIONP
9189 instead of checking whether if font_height is a symbol and
9190 using eval_form.
9191
9192 * eval.c (internal_condition_case_2): New function.
9193
9194 * lisp.h (FUNCTIONP): New macro.
9195 (internal_condition_case_2, call_function): Add prototypes.
9196
d5aa31d8
GM
9197 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9198 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9199 Always set `arg' member of input_events.
9200 (construct_menu_click): Unused function removed.
9201
9202 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9203
9204 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9205 (construct_drag_n_drop, x_scroll_bar_handle_click)
9206 (w32_read_socket): Always set `arg' member of input_events.
9207
9208 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9209
9210 * lisp.h (eval_form): Add prototype.
9211
9212 * xdisp.c (eval_form): Make it externally visible.
9213
0f1a9b23
GM
92142000-07-13 Gerd Moellmann <gerd@gnu.org>
9215
9216 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9217 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9218 consing. For prefix events, store the frame in the `arg' slot of
9219 the event, otherwise store the key there.
9220 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9221 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9222
9223 * xmenu.c (menu_highlight_callback): Store help string in the
9224 `arg' member of the input event; don't cons.
9225 (menubar_selection_callback): Use the `arg' slot of input events
9226 to queue additional information, instead of consing.
9227
9228 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9229
9230 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9231 TOOL_BAR_EVENTs.
9232 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9233
9234 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9235 input events to queue additional information, instead of consing.
9236
9237 * keyboard.c (kbd_buffer_gcpro): Renamed from
9238 kbd_buffer_frame_or_window. Now used for all Lisp objects
9239 referenced from the input queue.
9240 (kbd_buffer_store_event): Always use structure assignment for
9241 copying input events. Record all Lisp objects referenced from
9242 events in kbd_buffer_gcpro.
9243 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9244 differently from input events. Test for prefix menu_bar_events
9245 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9246 event in kbd_buffer_gcpro to nil.
9247 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9248 frame_or_window is equal to its arg member as prefix events.
9249 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9250 used by an input event to nil.
9251 (init_keyboard): Use two times the size of the input queue
9252 for kbd_buffer_gcpro.
9253 (syms_of_keyboard): Likewise.
9254
52283633
SM
9255 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9256 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9257
9258 * termhooks.h (struct input_event): Add member `arg'.
9259 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9260 (USER_SIGNAL_EVENT): Renamed from user_signal.
9261
9262 * xfaces.c (ASET): Remove definition.
9263
9264 * lisp.h (AREF, ASET, ASIZE): New macros.
9265
9266 * fontset.c (AREF, ASIZE): Remove definitions.
9267
9268 * fns.c (AREF): Remove definition.
178c5d9c 9269
0f1a9b23
GM
9270 * composite.c (AREF): Remove definition.
9271
712eaef2
GM
92722000-07-12 Gerd Moellmann <gerd@gnu.org>
9273
d8ee7803
GM
9274 * dispnew.c (redraw_overlapped_rows): Add missing local.
9275 (scrolling_window): Remove debug code.
9276
712eaef2
GM
9277 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9278 Before scrolling, turn off a mouse-highlight in the window
9279 being scrolled.
9280
9281 * xterm.c (x_update_window_end): Add parameter
9282 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9283 redisplay in XTframe_up_to_date.
9284 (x_clear_mouse_face): New function.
9285 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9286
9287 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9288 current glyph row.
9289 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9290 it when any row is written to that contains glyphs highlighted in
9291 mouse-face.
9292 (update_window): Call the window update end hook with new
9293 parameter MOUSE_FACE_OVERWRITTEN_P.
9294 (direct_output_for_insert): Give up if row contains mouse-face.
9295
9296 * dispextern.h (struct redisplay_interface): Add parameter
9297 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9298 (clear_mouse_face): New function pointer member.
9299
02010917
SM
93002000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9301
9302 * syntax.c (back_comment): Use one switch rather than a few `if's.
9303 Obey open_paren_in_column_0_is_defun_start.
9304 When reverting to the `slow' method, try to nicely handle the case
9305 of nested comments by checking that the comment-starter we found
9306 does indeed match the comment-ender.
9307 (scan_sexps_forward, scan_sexps_forward):
9308 Ignore excessive opening parenthesis rather than throwing an error.
9309
d76c03ea
GM
93102000-07-11 Gerd Moellmann <gerd@gnu.org>
9311
9312 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9313 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9314
9315 * dispnew.c (direct_output_forward_char): Give up if currently
9316 displaying a message instead of the minibuffer contents.
9317
9318 * xterm.c (x_update_window_begin): No need to turn off the mouse
9319 highlight here.
9320 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9321 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9322
9323 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9324 compare the mouse_face_p flags of both rows.
9325
9326 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9327
d55ead18
EZ
93282000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9329
9330 * keyboard.c (show_help_echo): Accept additional parameter
9331 ok_to_overwrite_keystroke_echo.
9332 (read_char): Call show_help_echo with a zero
9333 ok_to_overwrite_keystroke_echo argument.
52283633 9334 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9335 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9336 ok_to_overwrite_keystroke_echo argument.
9337 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9338 non-zero ok_to_overwrite_keystroke_echo argument.
9339
df75b1a3
GM
93402000-07-10 Gerd Moellmann <gerd@gnu.org>
9341
4b92c49a
GM
9342 * xdisp.c (try_window_id): If changes are all below what is
9343 displayed in the window, and point is in the window, we still
9344 might have to find point on the display.
9345
9346 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9347 glyphs instead of a single one.
9348 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9349 with new argument list.
9350 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9351
df75b1a3
GM
9352 * keymap.c (get_keymap_1): Add comment that this function can GC.
9353 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9354 comment that functions can GC.
9355 (Fset_keymap_parent): GCPRO arg KEYMAP.
9356
4314cf3e
EZ
93572000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9358
9359 * msdos.c (XMenuActivate): After exiting the menu, restore the
9360 echo area message and erase it.
9361
ab49ce15
KH
93622000-07-10 Kenichi Handa <handa@etl.go.jp>
9363
9364 * fontset.c (Ffontset_info): Make the return value more compatible
9365 with that of Emacs 20.
9366
090a072f
GM
93672000-07-07 Gerd Moellmann <gerd@gnu.org>
9368
9369 * eval.c (Fsignal): Handle case that backtrace_list is null.
9370
f92de4a6
KH
93712000-07-07 Kenichi Handa <handa@etl.go.jp>
9372
9373 * ccl.c (Fccl_execute): Typo fixed.
9374
dd8888a1
GM
93752000-07-06 Gerd Moellmann <gerd@gnu.org>
9376
e5c81191 9377 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9378
dd8888a1
GM
9379 * window.c (Fwindow_list): Reverse list at the end.
9380 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9381 means allow windows on OWINDOW's frame, only.
9382 (window_loop): Simplified; use Fwindow_list.
9383
9384 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9385
485266d0
GM
93862000-07-05 Gerd Moellmann <gerd@gnu.org>
9387
9388 * xterm.c (XTread_socket): Increment handling_signal at the start,
9389 decrement it at the end.
9390
9391 * eval.c (handling_signal): New variable.
9392 (Fsignal): Abort if handling_signal is non-zero.
9393
9394 * lisp.h (handling_signal): External declaration.
178c5d9c 9395
485266d0
GM
9396 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9397
80fcd514
KR
93982000-07-05 Ken Raeburn <raeburn@gnu.org>
9399
9400 Sound support for NetBSD through "Linux emulation" support:
9401 * config.in (HAVE_SOUNDCARD_H): Undef.
9402 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9403 * Makefile.in (LIBSOUND): New variable.
9404 (LIBES): Include it.
52283633
SM
9405 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9406 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9407 (vox_open): Use DEFAULT_SOUND_DEVICE.
9408 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9409
d5c5cddd
GM
94102000-07-05 Gerd Moellmann <gerd@gnu.org>
9411
9412 * print.c (print_error_message): If Vsignaling_function is set,
9413 show it in *Messages*.
9414
9415 * lisp.h (Vsignaling_function): External declaration.
9416
9417 * eval.c (Vsignaling_function): New variable.
9418 (Fsignal): Compute it.
9419 (syms_of_eval): Staticpro it.
9420
65171e3a
DL
94212000-07-05 Dave Love <fx@gnu.org>
9422
9423 * syswait.h: Use the autoconf recommended approach. Old code
9424 #if'd out in case we need to revert.
9425
178c5d9c 9426 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 9427
e2c46326
AI
94282000-07-05 Andrew Innes <andrewi@gnu.org>
9429
9430 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
9431 when non-NULL instead of __morecore, to take account of buffer
9432 memory. This also solves a problem with spurious memory warnings
9433 on Windows.
9434
9435 * ralloc.c: Make real_morecore non-static.
9436
9437 * eval.c (internal_condition_case): Comment out abort if
9438 interrupt_input_blocked is not zero.
9439
9440 * makefile.nt: Add support for `bootstrap' and related targets.
9441 Include minimal debug info in emacs.exe in release build.
9442 Remove all dependencies on lisp.h, and fixup some others.
9443
9444 * w32.c (init_environment): Install code from 20.7 for providing
9445 default values for environment variables, based on the
9446 executable's own location.
52283633 9447 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
9448 (sys_socket): Install socket inheritance bug fix from 20.7.
9449
9450 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
9451 here via blockinput.h).
9452
a027a91b
SM
94532000-07-05 Stefan Monnier <monnier@cs.yale.edu>
9454
e4b31601
SM
9455 * w32menu.c (w32_menu_display_help):
9456 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
9457
9458 * keyboard.h (show_help_echo): Declare.
9459
9460 * keyboard.c (show_help_echo): New function, extracted from read_char.
9461 Feval its `msg' argument if it's a cons cell.
9462 (read_char): Use it.
4cf8d9d5 9463 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 9464
178c5d9c 9465 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 9466 (note_tool_bar_highlight, XTread_socket):
178c5d9c 9467 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
9468 (dos_rawgetc):
9469 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9470 (note_tool_bar_highlight, w32_read_socket):
9471 Do not gratuitously ignore non-string `help-echo' properties.
9472
88d75730
GM
94732000-07-05 Gerd Moellmann <gerd@gnu.org>
9474
969f7e79
GM
9475 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9476
71201b00
GM
9477 * window.c (delete_all_subwindows): Reset Vwindow_list.
9478
88d75730
GM
9479 * xterm.c (x_append_glyph, x_append_composite_glyph)
9480 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9481 changes in struct glyph starting 1999-12-27. Some bit-fields of
9482 struct glyph were not set, which made glyphs unequal when compared
9483 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9484 effects were the result. This also depended on the contents of
9485 memory returned by xmalloc. If flickering happens again, activate
9486 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9487 gone with that, chances are that it is caused by something similar.
88d75730
GM
9488
9489 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9490
88d75730
GM
9491 * dispextern.h: Add some comments.
9492
9493 * window.c (add_window_to_list): Add parameter LIST.
9494 (window_list): Order list so that, for each frame, windows are
9495 in canonical order, and so that frames appear in the list in
9496 the order given by Vframe_list.
9497 (next_window): Reverse the handling of NEXT_P.
9498
53654733
GM
94992000-07-04 Gerd Moellmann <gerd@gnu.org>
9500
87efd256
GM
9501 * window.c (Vwindow_list): New variable.
9502 (make_window, delete_window): Set Vwindow_list to nil.
9503 (check_window_containing): New function.
9504 (window_from_coordinates): Rewritten.
9505 (add_window_to_list, window_list, candidate_window_p)
9506 (decode_next_window_args, next_window): New functions.
52283633 9507 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
9508 (Fwindow_list): New function.
9509 (Fother_window): Cleaned up.
9510 (foreach_window): Add a longer "variable argument list". Let
9511 callback function return 0 to indicate that cycling over windows
9512 should stop.
9513 (foreach_window_1): Likewise.
9514 (freeze_window_start): Return int.
9515 (init_window): New function.
9516 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9517
9518 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9519 input_event with bzero.
9520 (main): Call init_window.
9521
53654733
GM
9522 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9523 a menu filter.
9524
4a8c194f
KH
95252000-07-04 Kenichi Handa <handa@etl.go.jp>
9526
9527 * composite.h (make_composition_value_copy): Extern it.
9528
9529 * composite.c (make_composition_value_copy): New function.
9530
9531 * editfns.c (Fformat): While copying text properties, make each
9532 composition property value a copy.
9533
9534 * fns.c (concat): While copying text properties, make each
9535 composition property value a copy.
9536
831a6cb0
GM
95372000-07-03 Gerd Moellmann <gerd@gnu.org>
9538
2f516940
GM
9539 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9540
178c5d9c 9541 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9542 marked already.
9543
831a6cb0
GM
9544 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9545 include those frames as candidates which have their focus
9546 redirected to the minibuffer frame.
9547
d9c4f922
SM
95482000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9549
9550 * fns.c (Fputhash): Return `value' rather than nil.
9551
3780bc22
GM
95522000-06-30 Gerd Moellmann <gerd@gnu.org>
9553
97d176db
GM
9554 * frame.c (next_frame): Don't check focus redirection in case
9555 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9556 unless their focus is redirected, which contradicts the
9557 specification of next-frame, and leads to infinite loops in
9558 certain situations when cycling through windows with next-window.
9559
dca9961d
KH
95602000-06-30 Kenichi Handa <handa@etl.go.jp>
9561
9562 * coding.c (code_convert_region): Even if the length of text is
9563 zero, try to convert it if coding->type is coding_type_ccl.
9564 (decode_coding_string, encode_coding_string): Likewise.
9565
d5483ab1
GM
95662000-06-28 Gerd Moellmann <gerd@gnu.org>
9567
af5c25e1 9568 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 9569 the display if windows_or_buffers_changed.
af5c25e1
GM
9570
9571 * dispnew.c (struct row_entry): New structure.
9572 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9573 (row_table_size, old_lines, new_lines, old_lines_size)
9574 (new_lines_size, run_pool, runs_size, runs): New variables.
9575 (add_row_entry): New function.
9576 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 9577 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
9578 holding them in local variables. Use a larger hash table whose
9579 size depends on glyph matrix sizes. Don't use bzero to clear the
9580 hash table; instead, clear used slots only.
9581
9582 * fns.c (next_almost_prime): Make it externally visible.
9583
9584 * lisp.h (next_almost_prime): Add prototype.
9585
d5483ab1
GM
9586 * s/isc4-0.h (sigunblock): Define.
9587
9588 * s/sco5.h (sigunblock): Define.
9589
93e40f40
DL
95902000-06-27 Dave Love <fx@gnu.org>
9591
9592 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9593 (moved to osf5-0.h).
9594 [!NOT_C_CODE]: Protect string.h stuff.
9595
9596 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9597 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9598
3c4b7685
GM
95992000-06-27 Gerd Moellmann <gerd@gnu.org>
9600
97d176db 9601 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
9602 below the last line from the needed window height.
9603
32cad0aa
SM
96042000-06-26 Stefan Monnier <monnier@cs.yale.edu>
9605
9606 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
9607 (Fwidget_get): Use it.
9608 (syms_of_fns): Defsubr it.
9609
2c69ced2
GM
96102000-06-26 Gerd Moellmann <gerd@gnu.org>
9611
178c5d9c 9612 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
9613 display info for XIM.
9614 (xim_open_dpy): Likewise.
9615 (xim_close_dpy): Don't free the display info's XIM.
9616
9617 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
9618
9619 * config.in (USE_XIM): New define.
9620
3fc720e4
GM
9621 * keymap.c (get_keyelt): For menu-items containing a `:filter
9622 FILTER', apply FILTER to the menu-item's definition to get the
9623 real definition to use.
9624
9625 * lisp.h (QCfilter): External declaration.
9626
2c69ced2
GM
9627 * xfns.c (Fimage_size): New function.
9628 (syms_of_xfns): Defsubr it.
9629
f978b2a2
AS
96302000-06-26 Andreas Schwab <schwab@suse.de>
9631
9632 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
9633 Fstring_as_unibyte.
9634
94cc7892
DL
96352000-06-25 Dave Love <fx@gnu.org>
9636
52283633 9637 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
9638
9639 * Makefile.in (blockinput.h): Depend on atimer.h.
9640 (atimer.h): Depend on systime.h.
9641
52283633 9642 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 9643
52283633 9644 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
9645
9646 * lisp.h (swap_in_global_binding): Declare.
9647
b8c24556
KR
96482000-06-24 Ken Raeburn <raeburn@gnu.org>
9649
9650 * process.c (Fopen_network_stream): Turn off atimers for duration
9651 of call to connect. (Patch from Gerd.)
9652
8cf8560b
DL
96532000-06-23 Dave Love <fx@gnu.org>
9654
511c7541
DL
9655 * ralloc.c: Maybe include unistd.h
9656
8cf8560b
DL
9657 * emacs.c (setgrp): Undefine before defining.
9658 (malloc_warning, set_time_zone_rule, index): Prototype.
9659
9660 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9661 HAVE_STRUCT_TIMEZONE.
9662
9663 * s/osf1.h: Move string.h hack here from alpha.h and make it
9664 conditional.
9665 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9666 _XOPEN_SOURCE.
9667 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9668 (SOCKLEN_TYPE): Don't define.
9669
9670 * m/alpha.h: Remove string.h hack.
9671
9672 * s/osf5-0.h: New file.
9673
9674 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9675 include time.h, done by systime.h.
9676 [__FreeBSD__]: Remove redundant includes.
9677
3fc720e4 9678 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9679 (delete_temp_file): Return Qnil to avoid warning.
9680
9681 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9682
9683 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9684 HAVE_X_WINDOWS.
9685
9686 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9687
9688 * composite.h (compose_text): Declare.
9689
9690 * xterm.c: Don't include sys/types.h unconditionally. Don't
9691 protect its inclusion with !USG (following xmenu.c).
9692
ea055732
GM
96932000-06-23 Gerd Moellmann <gerd@gnu.org>
9694
9695 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9696 in x_create_frame.
9697
74b01b80
EZ
96982000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9699
9700 * coding.c (decode_eol_post_ccl): Special handling for undecided
9701 and inconsistent EOL types.
9702
64f3a166
GM
97032000-06-22 Gerd Moellmann <gerd@gnu.org>
9704
16cf31f7
GM
9705 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9706 trough color and main window's background color.
9707
52283633 9708 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9709
9710 * xterm.h (Xt_app_con): External declaration.
9711
9712 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9713
486a103d
GM
9714 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9715
64f3a166
GM
9716 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9717 (handle_invisible_prop): Record the start of invisible text in
9718 it->add_overlay_start.
9719 (struct overlay_entry): Add member `overlay'.
9720 (handle_overlay_change): Simplify.
9721 (next_overlay_string): After having processed overlay strings at the
9722 end of the buffer, record that fact in
9723 it->overlay_strings_at_end_processed_p.
9724 (compare_overlay_entries): If before- and after-strings come
9725 from the same overlay, let before-strings come first.
9726 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9727 (load_overlay_strings): Take it->add_overlay_start into account
9728 when adding overlay strings.
9729
9730 * dispextern.h (struct it): Add member add_overlay_start.
9731
bb746ea6
DL
97322000-06-22 Dave Love <fx@gnu.org>
9733
9734 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9735
9736 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9737
a8f573f3
KH
97382000-06-22 Kenichi Handa <handa@etl.go.jp>
9739
9740 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
9741 is greater than 0.
9742
9f2bbc92
DL
97432000-06-21 Dave Love <fx@gnu.org>
9744
178c5d9c 9745 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 9746
3ee5041c
SM
97472000-06-21 Stefan Monnier <monnier@cs.yale.edu>
9748
9749 * syntax.c (back_comment): Simplify string-parity counting (with
9750 the added benefit of handling multiple string-styles as long as
9751 they are not intertwined).
9752 Jump to the slow code as soon as a comment starter is found in
9753 a "string_lossage" position. Fixes the case: " /* " /* " */.
9754
4c343001
DL
97552000-06-21 Dave Love <fx@gnu.org>
9756
9757 * Makefile.in: Use GETLOADAVG_LIBS.
9758
9759 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
9760 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
9761
e6365855
SM
97622000-06-20 Stefan Monnier <monnier@cs.yale.edu>
9763
9764 * syntax.c (describe_syntax): Recognize the `n'estable bit.
9765 (Fforward_comment, scan_lists):
9766 Check the comstyle of single-char comment-starters.
9767 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
9768 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
9769 Check the comstyle of single-char comment-starters.
9770 Clarify control-flow around the Scomment case.
e6365855 9771
5700d2cc
DL
97722000-06-20 Dave Love <fx@gnu.org>
9773
d355bd8a
SM
9774 * fns.c (make_hash_table, maybe_resize_hash_table):
9775 Cast arg of next_almost_prime.
5700d2cc 9776
178c5d9c 9777 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
9778
9779 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
9780 and unistd.h.
9781
4a27bdfb
GM
97822000-06-20 Gerd Moellmann <gerd@gnu.org>
9783
a61d762c 9784 * keyboard.c (adjust_point_for_property): Check if display
52283633 9785 property should be treated as intangible by looking at its value.
a61d762c 9786
178c5d9c 9787 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
9788 (display_prop_intangible_p): New functions.
9789
9790 * dispextern.h (display_prop_intangible_p): Add prototype.
9791
9792 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 9793
4a27bdfb
GM
9794 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
9795 argument to sigprocmask.
9796
9797 * s/sco5.h (sigblock): Redefined to pass a pointer as second
9798 argument to sigprocmask.
9799
9800 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
9801 sigprocmask_set, and pass a pointer to it to sigprocmask.
9802
9803 * sysdep.c (sigprocmask_set): New variable.
9804
9805 * fileio.c (make_temp_name): Don't use `%s' in string passed to
9806 report_file_error.
9807
427ec082
SS
98082000-06-20 Sam Steingold <sds@gnu.org>
9809
9810 * xrdb.c: Don't declare xmalloc, xrealloc.
9811
8972fe79 98122000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
9813
9814 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
9815 (re_comp): Cast gettext return value to avoid complaints when
9816 !HAVE_LIBINTL.
9817
074b6efe
DL
98182000-06-20 Dave Love <fx@gnu.org>
9819
52283633 9820 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 9821
5700d2cc 9822 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 9823
d355bd8a 9824 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
9825
9826 * m/alpha.h: Don't declare xmalloc, xrealloc.
9827
0af4f205
DL
9828 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
9829
9830 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
9831
9832 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
9833
9834 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
9835 HAVE_GETWD.
9836
074b6efe
DL
9837 * keyboard.h (poll_for_input_1): Declare.
9838
9839 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
9840
9841 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
9842
9843 * doprnt.c: Don't declare xmalloc, xrealloc.
9844
9845 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
9846 (getenv, ctime, getwd): Removed.
9847 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
9848
9849 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
9850 x_set_tool_bar_lines.
9851
9852 * config.in: Add HAVE_GETWD. Move some definitions above
9853 machine/system includes.
9854
68a5e97b
KH
98552000-06-20 Kenichi Handa <handa@etl.go.jp>
9856
95417e1e
KH
9857 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
9858
68a5e97b
KH
9859 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
9860 contain information about ENCODING.
9861
9862 * fontset.c (FONTSET_ASCII): Use the first element of char table
9863 for an ASCII font, not defalt slot.
9864 (fontset_ref_via_base): If FONTSET doesn't contain information for
9865 C, try the default fontset.
9866 (make_fontset): Don't copy the default fontset.
9867 (fontset_font_pattern): Likewise.
9868 (accumulate_font_info): If ELT is nil, use the corresponding
9869 element in the default fontset.
9870
3b4fa1b2
DL
98712000-06-19 Dave Love <fx@gnu.org>
9872
943e731c
DL
9873 * syntax.c (Fparse_partial_sexp): Doc fix.
9874
9875 * regex.h: Test PROTOTYPES as well as __STDC__.
9876
3b4fa1b2
DL
9877 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
9878 errno, strerror. Put text after #endif in comment.
9879
52283633 9880 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
9881
9882 * xterm.c (x_frame_of_widget): Likewise.
9883
cdf0357b
GM
98842000-06-19 Gerd Moellmann <gerd@gnu.org>
9885
9886 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
9887 to Vfundamental_mode_abbrev_table.
9888
9889 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
9890 bogus objects are marked. This slows down GC by ~80 percent, but
9891 it might be worth trying when debugging GC-related problems.
9892 This feature requires conservative stack marking to be enabled.
9893
9894 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
9895 returns XLookupChars, reset `modifiers' to zero.
9896
998e9f8c
DL
98972000-06-19 Dave Love <fx@gnu.org>
9898
9899 * mktime.c: Unprotoized.
9900
18e21ce8 99012000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
9902
9903 * data.c (set_internal): If variable is frame-local,
9904 store the new value immediately into the frame parameter alist.
9905
140c4ac6
KR
99062000-06-19 Ken Raeburn <raeburn@gnu.org>
9907
14358466
KR
9908 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
9909 in the custom handler pointer.
9910
140c4ac6
KR
9911 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
9912 value, or checks for CHAR_META can fail when Lisp_Object is a
9913 union type.
9914 * keymap.c (get_keyelt): Likewise.
9915
10d7bf84
KH
99162000-06-19 Kenichi Handa <handa@etl.go.jp>
9917
9918 * ccl.h (struct ccl_program): New member eol_type.
9919 (struct ccl_spec): New member cr_carryover.
9920
9921 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
9922 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
9923
9924 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
9925 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
9926 (decode_eol_post_ccl): New function.
9927 (decode_coding): Don't detect EOL format here for CCL based coding
9928 systems.
9929 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
9930 decode_eol_post_ccl after running the CCL program.
9931 (code_convert_region): Don't detect EOL format here for CCL based
9932 coding systems.
9933 (decode_coding_string): Likewise.
9934
52e386c2
KR
99352000-06-18 Ken Raeburn <raeburn@gnu.org>
9936
9937 * charset.c (update_charset_table): Use XINT on "iso_final_char"
9938 when treating it as an integer.
9939
9940 * coding.h (encode_coding_string): Declare.
9941
9942 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
9943 it as an integer.
9944
9945 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
9946 "xkeymap" to avoid shadowing the "enum map_type" value that needs
9947 to be passed to get_local_map.
9948
9949 * sound.c (Fplay_sound): Don't call make_number on
9950 Frun_hook_with_args count argument.
9951
9952 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
9953 for lisp objects in X event structure data field, when lisp
9954 objects are represented with unions.
9955 (x_scroll_bar_to_input_event): Ditto.
9956
b357b9d4
KR
99572000-06-16 Ken Raeburn <raeburn@gnu.org>
9958
9959 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
9960 termination of string. Fix sense of test whether
9961 Vline_number_display_limit is an integer.
b357b9d4 9962
a871441d
GM
99632000-06-16 Gerd Moellmann <gerd@gnu.org>
9964
a9021acd
GM
9965 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
9966 only if HAVE_X_WINDOWS.
9967
6344985d
GM
9968 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
9969 of titles.
9970
427ec082 9971 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
9972 out of bounds.
9973
228b083e
EZ
99742000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
9975
9976 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
9977 of its headers.
9978
c25b53a2
KH
99792000-06-15 Kenichi Handa <handa@etl.go.jp>
9980
9981 * coding.c (decode_coding_emacs_mule): Always set src_base at the
9982 start of the while loop.
9983
a6981b11
GM
99842000-06-15 Gerd Moellmann <gerd@gnu.org>
9985
e9924e52
GM
9986 * atimer.c (alarm_signal_handler): Add forward declaration.
9987
a6981b11
GM
9988 * data.c (set_internal): Remove debug code.
9989
25fa6deb
GM
99902000-06-14 Gerd Moellmann <gerd@gnu.org>
9991
dce6b995
GM
9992 * Makefile.in (bootstrap-temacs): Add `-I../src'.
9993
9f817ea4
GM
9994 * unexec.c (toplevel) [COFF]: Include coff.h.
9995
9996 * s/lynxos.h: New file.
9997
9998 * keymap.c (Fsingle_key_description): Enclose function key and
9999 event symbol names in angle brackets.
10000
8a4e3c0c
GM
10001 * xdisp.c (setup_echo_area_for_printing): Call
10002 message_log_maybe_newline if message_buf_print is not set.
10003
10004 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10005 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10006 function does something useful even when message_buf_print is
10007 already set.
10008
52283633
SM
10009 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10010 New variables.
25fa6deb
GM
10011 (ensure_echo_area_buffers): Initialize echo buffer's
10012 truncate lines setting to nil.
10013 (with_echo_area_buffer): Don't set the echo buffer's truncate
10014 lines setting here.
8a4e3c0c 10015 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10016 of message_truncate_lines.
10017 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10018 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10019 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10020
10021 * keyboard.c (read_char): Bind message-truncate-lines to t
10022 while displaying a help-echo.
10023
10024 * lisp.h (Qmessage_truncate_lines): External declaration.
10025
163dcff3
GM
100262000-06-13 Gerd Moellmann <gerd@gnu.org>
10027
1681ead6
GM
10028 * xdisp.c (Vline_number_display_limit): Renamed from
10029 line_number_display_limit.
10030 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10031 Extend documentation string. Initialize
10032 Vline_number_display_limit to nil meaning no limit.
10033 (decode_mode_spec): Use Vline_number_display_limit with its new
10034 meaning.
10035
163dcff3
GM
10036 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10037
18e21ce8 100382000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10039
10040 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10041
163dcff3
GM
10042 * xfns.c (x_set_frame_parameters): Comment fix.
10043
10044 * frame.c (store_frame_param): Call swap_in_global_binding if the
10045 variable's current binding was chosen based on this frame.
10046
10047 * data.c (swap_in_global_binding): New function.
10048
a704139d
EZ
100492000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10050
10051 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10052 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10053
9b6610db
EZ
100542000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10055
10056 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10057
c68833d2
JR
100582000-06-12 Jason Rumney <jasonr@gnu.org>
10059
10060 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10061
10062 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10063
10064 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10065
10066 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10067
ed1056b3
GM
100682000-06-12 Gerd Moellmann <gerd@gnu.org>
10069
10070 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10071 (syms_of_xfaces): Defsubr Sdump_colors.
10072 (x_free_colors): Don't treat b&w specially on default visual.
10073 (x_free_dpy_colors): New function.
10074 (free_face_colors): Don't check visual class; it's done
10075 in x_free_colors.
10076
10077 * xterm.c (x_frame_of_widget): New function.
10078 (x_alloc_nearest_color_for_widget): Use it.
10079 (x_copy_dpy_color): New function.
10080 (x_destroy_window): Free various colors.
10081
5050a2ef
KH
100822000-06-12 Kenichi Handa <handa@etl.go.jp>
10083
10084 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10085
10086 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10087
10088 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10089
10090 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10091
10092 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10093
fb1b041d
DL
100942000-06-11 Dave Love <fx@gnu.org>
10095
10096 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10097
ff96b5f4
EZ
100982000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10099
10100 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10101
db8eeecd
GM
101022000-06-11 Gerd Moellmann <gerd@gnu.org>
10103
ed1056b3 10104 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10105 to `XEvent *'.
10106
49b71c5f
KH
101072000-06-10 Kenichi Handa <handa@etl.go.jp>
10108
c479bd55
KH
10109 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10110 (regex_compile): Fix the code for handling the case of single byte
10111 char and multibyte char being mixed in a range within [...].
10112
ff6a65c2
KH
10113 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10114 and dst_multibyte members of coding.
10115
49b71c5f
KH
10116 * charset.c (update_charset_table): Update the table
10117 bytes_by_char_head.
10118 (init_charset_once): Initialize elements of bytes_by_char_head to
10119 1 except for leading codes for private charases.
10120
10121 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10122 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10123
9e80b57d
KR
101242000-06-09 Ken Raeburn <raeburn@gnu.org>
10125
10126 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10127 access the data it doesn't point to.
10128
f83fe4b4
GM
101292000-06-08 Gerd Moellmann <gerd@gnu.org>
10130
10131 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10132 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10133 event queue. This is necessary because Emacs otherwise won't
10134 perform a switch-frame to a new frame until some other event, for
10135 example a keystroke event, forces it to do so. This has various
10136 effects, one visible being that the cursor of a frame created with
10137 C-x 5 2 or switched to with a window manager key binding like
10138 A-TAB stays hollow because selected_window isn't on the newly
10139 focused frame until the switch-frame is performed.
10140
10141 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10142 generating a switch-frame event if necessary.
10143
10144 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10145
10146 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10147 it's an integer.
10148
0890801b
KH
101492000-06-08 Kenichi Handa <handa@etl.go.jp>
10150
52283633 10151 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10152
173cbca8
GM
101532000-06-07 Gerd Moellmann <gerd@gnu.org>
10154
3091c2a6
GM
10155 * window.c (displayed_window_lines): Take empty lines at
10156 the bottom of a window into account.
427ec082 10157
f38952fe
GM
10158 * window.c (displayed_window_lines): New function.
10159 (Fmove_to_window_line): Use displayed_window_lines to determine
10160 the number of lines to move, instead of using the window's height.
10161
10162 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10163 to stop reading, even if the form read sets point to a different
10164 value when evaluated.
10165
427ec082 10166 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10167 put the cursor.
10168
6ba6c818
KH
101692000-06-07 Kenichi Handa <handa@etl.go.jp>
10170
10171 * fileio.c (e_write): Free composition data if stored in
10172 coding->cmp_data.
10173
5f1aea9a
GM
101742000-06-06 Gerd Moellmann <gerd@gnu.org>
10175
666852af
GM
10176 * xdisp.c (display_line): Set row's and iterator's
10177 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10178 Set cursor even if row ends in the middle of a character.
10179 (dump_glyph_row): Print values of new flags.
10180 (redisplay_window) <cursor movement in unchanged window>: When
10181 point has been moved forward, and PT is at the end of the cursor
10182 row, don't place the cursor in the next row if the cursor row ends
10183 in the middle of a character or at ZV.
10184
10185 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10186 (struct glyph_row): Add starts_in_middle_of_char_p and
10187 ends_in_middle_of_char_p.
10188 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10189 ends_in_middle_of_char_p flag.
10190 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10191
d13f3e2e
GM
10192 * term.c (append_glyph): Revert change of 2000-06-06.
10193
10194 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10195 padding glyph not fitting on line as whole character not
10196 fitting on line.
10197
5f1aea9a
GM
10198 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10199 this isn't true for images with `:ascent 100'.
10200
10cda9b0
KH
102012000-06-06 Kenichi Handa <handa@etl.go.jp>
10202
ed00559d
KH
10203 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10204 as modified if it is originally unmodified.
10205
10cda9b0
KH
10206 * term.c (encode_terminal_code): Change the way to check if
10207 terminal coding does any conversion.
10208 (append_glyph): Set glyph->pixel_width correctly.
10209
10210 * xdisp.c (display_line): While checking line continuation, pay
10211 attention to a padding glyph.
10212
1969fae2
GM
102132000-06-05 Gerd Moellmann <gerd@gnu.org>
10214
10215 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10216
162ccef4
DL
102172000-06-05 Dave Love <fx@gnu.org>
10218
f19f32dd
DL
10219 * xdisp.c: Include fontset.h.
10220
10221 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10222
10223 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10224
10225 * dispnew.c: Conditionally include term.h.
10226
10227 * coding.h: Declare code_convert_string_norecord.
10228
10229 * frame.h (struct frame): Use volatile unconditionally.
10230
10231 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10232
10233 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10234
10235 * systime.h: Protect against multiple inclusion.
10236 (timezone) [USG5_4]: Define as time_t.
10237
10238 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10239 (Foptimize_char_table, make_temp_name): Declare.
10240
10241 * Makefile.in (xdisp.o): Depend on fontset.h.
10242
10243 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10244
10245 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10246 (Foptimize_char_table, make_temp_name): Declare.
10247
427ec082 10248 * s/irix4-0.h:
162ccef4
DL
10249 * s/irix5-0.h:
10250 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10251
2082fe81
DL
102522000-06-02 Dave Love <fx@gnu.org>
10253
10254 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10255
dcf671d2
GM
102562000-06-02 Gerd Moellmann <gerd@gnu.org>
10257
10258 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10259 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10260 be freed.
10261
10262 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10263 glyph, use the ASCII NUL character to determine the face.
10264
d42122a3
DL
102652000-06-02 Dave Love <fx@gnu.org>
10266
10267 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10268 (VFORK_RETURN_TYPE): Remove.
427ec082 10269
d42122a3
DL
10270 * config.in: Add NO_MATHERR.
10271
dd432f16
DL
102722000-06-01 Dave Love <fx@gnu.org>
10273
90aa4ea8
DL
10274 * cmds.c (internal_self_insert): Don't check
10275 Vbefore_change_function, Vafter_change_function.
10276
10277 * insdel.c (signal_before_change, signal_after_change): Likewise.
10278
10279 * buffer.c (Vbefore_change_function, Vafter_change_function):
10280 Variables and their initializations deleted.
10281
2330c9d4
DL
10282 * callint.c (Fcall_interactively): Doc fix.
10283
dd432f16
DL
10284 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10285
bf9e8804
DL
102862000-05-31 Dave Love <fx@gnu.org>
10287
10288 * textprop.c: Revert last change -- duplicated.
10289
3694b4ab
GM
102902000-05-31 Gerd Moellmann <gerd@gnu.org>
10291
10292 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10293 in #if 0.
10294
10295 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10296
f14156cd
JR
102972000-05-31 Jason Rumney <jasonr@gnu.org>
10298
8119aab8
JR
10299 * search.c (Fre_search_forward, Fre_search_backward)
10300 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10301
f14156cd
JR
10302 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10303
4aab9be3
JR
103042000-05-30 Jason Rumney <jasonr@gnu.org>
10305
10306 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10307 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10308
52283633 10309 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10310
10311 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10312 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10313 expand a nil default_filename.
10314
10315 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10316 pointer to glyph_to_pixel_coords, not a frame.
10317
10318 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10319 coding.h to dependencies.
10320
10321 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10322
10323 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10324 window pointer to be consistent with w32term.c and xterm.c.
10325
10326 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10327 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10328 (Qline_spacing, Qcenter): New variables.
10329 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10330 (x_set_line_spacing): New function.
52283633 10331 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10332 (x_specified_cursor_type): New function.
10333 (x_set_cursor_type): Use it.
10334 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10335 and icon strings.
10336 (validate_x_resource_name, x_get_resource_string): Measure lengths
10337 of external strings in bytes.
10338 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10339 GetTextExtentPoint32 with NULL title.
10340 (Fx_create_frame): Initialize Qline_spacing.
10341 (w32_load_system_font): Initialize font->double_byte_p.
10342 (x_to_w32_charset): Use Vw32_charset_info_alist.
10343 (Image, busy cursor, tooltip functions): Merged changes from
10344 xfns.c. Not yet functional on Windows.
10345
10346 * w32gui.h (W32FontStruct): Add double_byte_p member.
10347
10348 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10349 (emacs_button_translation): Use it.
10350 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10351 in `mask' to be set.
10352
10353 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10354 menu strings.
10355
10356 * w32term.c: Format and doc changes to bring closer to xterm.c.
10357 (w32_char_font_type): New enum.
10358 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10359 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10360 (w32_encode_char): New function.
10361 (x_encode_char): Removed.
10362 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10363 x_encode_char and w32_font_is_double_byte.
10364 (x_produce_image_glyph): Use image_ascent.
10365 (x_produce_glyphs): Use new version of w32_per_char_metric and
10366 handle NULL return value. Allow extra line spacing.
10367 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10368 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10369 w32_font_type member of glyph instead.
10370 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10371 (fast_find_position): Make sure not to consider rows not visible
10372 in the window.
10373 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10374 w32_menu_display_help with input blocked, as it can abort.
10375 (x_display_and_set_cursor): Choose cursor depending
10376 on buffer-local value of cursor_type.
10377 (x_draw_bar_cursor): Add parameter WIDTH.
10378
10379 * w32term.h (CP_DEFAULT): Define.
10380 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10381
10fc3187
GM
103822000-05-30 Gerd Moellmann <gerd@gnu.org>
10383
10384 * search.c (Fre_search_forward, Fre_search_backward)
10385 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10386
d0555360
KH
103872000-05-30 Kenichi Handa <handa@etl.go.jp>
10388
10389 * coding.c (detect_coding_iso2022): Fix code for checking
10390 CODING_CATEGORY_MASK_ISO_8_2.
10391
f1ad044f
SM
103922000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10393
10394 * regex.c (PREFETCH_NOLIMIT): New function.
10395 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10396
84ec3b4b
GM
103972000-05-29 Gerd Moellmann <gerd@gnu.org>
10398
66254a13
GM
10399 * syntax.c (find_defun_start): Move test for
10400 open_paren_in_column_0_is_defun_start outside of the loop.
10401
49e70dec
GM
10402 * xdisp.c (redisplay_window): Really switch buffers when
10403 displaying mode lines, and temporarily set selected_frame to the
10404 frame of the window that's redisplayed.
10405
84ec3b4b
GM
10406 * xfaces.c (free_realized_faces): Block/unblock input.
10407 (free_realized_multibyte_face): Ditto.
10408
869a3a14
DL
104092000-05-29 Dave Love <fx@gnu.org>
10410
10411 * textprop.c (Qkeymap): New variable.
10412 (syms_of_textprop): Intern it.
10413
10414 * keymap.c: Include intervals.h.
10415 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10416
10417 * Makefile.in (keymap.o): Depend on intervals.h.
10418
10419 * keyboard.c (menu_bar_items, tool_bar_items)
10420 (Fexecute_extended_command): Deal with `keymap' property.
10421 (read_key_sequence): Track map from `keymap' property as well as
10422 `local_map'.
10423
10424 * intervals.c (get_local_map): Extra arg to allow looking for
10425 `keymap' too.
10426
10427 * intervals.h (map_property): New enum.
10428 (get_local_map): Extra arg using it.
10429 (Qkeymap): Declare.
10430
84ec3b4b 10431 * lisp.h (get_local_map): Don't declare here.
869a3a14 10432
89d0c844
KH
104332000-05-29 Kenichi Handa <handa@etl.go.jp>
10434
10435 * Makefile.in (callproc.o): Depend on composite.h.
10436
10437 * callproc.c: Include composite.h.
10438 (Fcall_process): Handle composition correctly.
10439
10440 * coding.h (coding_allocate_composition_data): Extern it.
10441 (coding_restore_composition): Likewise.
10442
10443 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
10444 yet allocated, finish decoding with result
10445 CODING_FINISH_INSUFFICIENT_CMP.
10446 (coding_allocate_composition_data): Make it non-static.
10447 (coding_restore_composition): Likewise.
10448
797a084a
EZ
104492000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
10450
10451 * charset.c (syms_of_charset): Revert last change.
10452
cf872af5
EZ
104532000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10454
10455 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
10456 charsets as unibyte, with 1-column screen width. Sent by Kenichi
10457 Handa.
cf872af5 10458
5b1ae051
EZ
104592000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10460
10461 * charset.c (syms_of_charset): Set width of character sets
10462 eight-bit-control and eight-bit-graphic to 1 column.
10463
34ec9ebe
GM
104642000-05-26 Gerd Moellmann <gerd@gnu.org>
10465
10466 * config.in (HAVE_SPEED_T): New define.
10467
10468 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10469 `extern speed_t'.
10470
dd854dc2
DL
104712000-05-26 Dave Love <fx@gnu.org>
10472
10473 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10474
10475 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10476 (Fsubr_arity): New function.
10477 (syms_of_data): Install them.
10478
ba9f8f95
KH
104792000-05-26 Kenichi Handa <handa@etl.go.jp>
10480
0f3e0672
KH
10481 * charset.c (init_charset_once): Set the table bytes_by_char_head
10482 correctly.
10483
cebefb44
KH
10484 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10485 the default fontset to what Emacs uses by default.
0f3e0672
KH
10486 (check_registry_encoding): This function deleted.
10487 (Fset_fontset_font): Remove the adhoc condition for the default
10488 fontset. Allow cons in FONTNAME.
cebefb44 10489
0f3e0672
KH
10490 * fns.c (map_char_table): Ignore char-table entries for
10491 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 10492
7a18af49
KR
104932000-05-25 Ken Raeburn <raeburn@gnu.org>
10494
10495 * emacs.c (main): Initialize keyboard syms before initializing
10496 window code, so face names are available.
10497
d2af47df
SM
104982000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10499
10500 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10501 of an anchor at the beginning of a shy-group.
10502
fc6a6a4e
GM
105032000-05-25 Gerd Moellmann <gerd@gnu.org>
10504
10505 * xdisp.c (handle_invisible_prop): Don't try to skip over
10506 invisible text if end of text is already reached.
10507
005f0d35
DL
105082000-05-25 Dave Love <fx@gnu.org>
10509
02513cdd
DL
10510 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10511
005f0d35
DL
10512 * coding.c (encode_eol): Add null statement after label.
10513
89f6ca4e
EZ
105142000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10515
10516 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10517 2000-05-20.
10518
a4e1759e
KH
105192000-05-25 Kenichi Handa <handa@etl.go.jp>
10520
10521 * ccl.c (ccl_driver): Fix previous change.
10522
eacfd7fe
KH
105232000-05-25 Kenichi Handa <handa@etl.go.jp>
10524
46ab33a9
KH
10525 * coding.c (run_pre_post_conversion_on_str): Set point to the
10526 beginning of buffer before calling coding->post_read_conversion.
10527 (decode_coding_string): Give correct args to
10528 run_pre_post_conversion_on_str.
10529 (encode_coding_string): Likewise.
10530
eacfd7fe
KH
10531 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10532 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10533 eight-bit-graphic correctly.
10534
f8569325
DL
105352000-05-24 Kenichi HANDA <handa@etl.go.jp>
10536
10537 * fileio.c (Finsert_file_contents): Even if a file is not found,
10538 execute codes for setting up coding system. Call
10539 after-insert-file-functions unconditionally.
10540
04545643
GM
105412000-05-24 Gerd Moellmann <gerd@gnu.org>
10542
10543 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10544 BSD_PGRPS are not defined.
10545
747d90ea
KH
105462000-05-24 Kenichi Handa <handa@etl.go.jp>
10547
10548 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10549 DESCRIPTION.
10550 (syms_of_charset): Avoid building same strings.
10551
716e3b88
GM
105522000-05-23 Gerd Moellmann <gerd@gnu.org>
10553
10554 * lread.c (Fload): Add a comment about the meaning of
10555 Vuser_init_file being t.
10556
10557 * puresize.h (BASE_PURESIZE): Increase to 675000.
10558
10559 * s/gnu-linux.h (setpgrp): Don't define it here because this
10560 prevents compilation on GNU/Linux systems with glib 2.2.
10561
10562 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10563 as setpgid.
427ec082 10564
9aeb39fa
EZ
105652000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10566
10567 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10568 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10569 version.
10570 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10571
29ced61b
KH
105722000-05-23 Kenichi Handa <handa@etl.go.jp>
10573
52283633 10574 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 10575
3d80f24d
KH
10576 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10577
52283633 10578 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 10579
29ced61b
KH
10580 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10581
d7e00792
KH
105822000-05-22 Kenichi Handa <handa@etl.go.jp>
10583
c9d80d38
KH
10584 * keyboard.c (read_char): Allow character codes 128..255 to be
10585 handled by input-method-function.
10586
d7e00792
KH
10587 * insdel.c (adjust_markers_for_replace): Fix previous change.
10588 (adjust_after_replace): If PREV_TEXT is nil, call
10589 adjust_markers_for_insert, not adjust_markers_for_replace.
10590
087121cc 105912000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 10592
087121cc
GM
10593 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10594 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10595 [HAVE_GRANDPT]: Define.
10596 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10597
10598 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10599 like SYSV_PTYS.
10600
10601 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10602
10603 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
10604
c9671f81
KH
106052000-05-20 Kenichi Handa <handa@etl.go.jp>
10606
10607 The following changes are to handle 8-bit characters in a
10608 multibyte buffer/string without facing with byte combining
10609 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
10610 eight-bit-graphic (for 0xA0..0xFF) are introduced.
10611
10612 * Makefile.in (fns.o): Depend on charset.h.
10613
10614 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
10615 convert it to unibyte.
10616 (make_string): Use parse_str_as_multibyte, not chars_in_text.
10617
10618 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
10619 apparent char boundary.
10620 (Fset_buffer_multibyte): Convert 8-bit characters in the range
10621 0x80..0x9F to/from multibyte form.
10622
10623 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
10624 to unibyte.
10625
10626 * callproc.c (Fcall_process): Always encode an argument string if
10627 it is multibyte. Setup src_multibyte and dst_multibyte members of
10628 process_coding properly.
ce75fd23 10629
c9671f81
KH
10630 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
10631 SPLIT_NON_ASCII_CHAR.
10632
10633 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
10634 as is.
10635 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
10636
52283633 10637 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 10638 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 10639 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
10640 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
10641 and eight-bit-graphic.
10642 (char_to_string): Likewise. Signal an error for too large
10643 character code.
10644 (char_printable_p): Return 0 for 8-bit characters.
10645 (update_charset_table): Update iso_charset_table only when a final
10646 character is non-negative.
10647 (find_charset_in_text): Renamed from find_charset_in_str.
10648 Arguments and return value changed. Callers changed.
10649 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10650 be -1 if CHARSET is used only internally.
10651 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10652 eight-bit-graphic.
10653 (Fcharset_after): Simplified.
10654 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10655 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10656 (multibyte_chars_in_text): Simplified by assuming there's no
10657 invalid multibyte sequence.
52283633
SM
10658 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10659 (str_as_unibyte): New functions.
10660 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10661 (init_charset_once): Initialization for
10662 LEADING_CODE_8_BIT_CONTROL.
10663 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10664 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10665 eight-bit-control and eight-bit-graphic.
10666
52283633
SM
10667 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10668 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10669 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10670 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10671 (CHARSET_REVERSE_CHARSET): Likewise.
10672 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10673 eight-bit-graphic.
10674 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10675 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10676 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10677 encounter an invalid multibyte sequence.
10678 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10679 sequence is always valid.
10680 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10681 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10682 (CHAR_STRING): For 8-bit characters, call char_to_string.
10683 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10684 multibyte sequence is always valid.
10685 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10686 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10687 (str_as_unibyte): Extern them.
c9671f81 10688 (BCOPY_SHORT): Fix a bug.
52283633 10689 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10690 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10691 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10692 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10693
bd4bde7f 10694 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10695 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10696 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10697 (EMIT_BYTES): New macros.
10698 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10699 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10700 macros deleted.
10701 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10702 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10703 check the validity of multibyte sequence.
10704 (decode_coding_emacs_mule): New function.
10705 (encode_coding_emacs_mule): New macro.
10706 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10707 the source.
10708 (DECODE_ISO_CHARACTER): Just return a character code.
10709 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10710 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10711 EMIT_CHAR to produced decoded characters. Exit the loop only by
10712 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10713 block here.
10714 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10715 only position codes for an invalid character.
10716 (encode_designation_at_bol): Return new destination pointer. 5th
10717 arg DSTP is changed to DST.
10718 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10719 from the source by ONE_MORE_CHAR. Don't handle the case of last
10720 block here.
10721 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10722 macros deleted.
52283633
SM
10723 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10724 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10725 TWO_MORE_BYTES to fetch a byte from the source.
10726 (encode_eol): Pay attention to coding->src_multibyte.
10727 (detect_coding, detect_eol): Preserve members src_multibyte and
10728 dst_multibyte.
10729 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10730 (encoding_buffer_size): Set magnification to 3 for all coding
10731 systems that require encoding.
10732 (ccl_coding_driver): For decoding, be sure that the result is
10733 valid multibyte sequence.
10734 (decode_coding): Initialize coding->errors and coding->result.
10735 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10736 and raw-text, always call decode_eol. Handle the case of last
10737 block here. If not coding->dst_multibyte, convert the resulting
10738 sequence to unibyte.
10739 (encode_coding): Initialize coding->errors and coding->result.
10740 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
10741 and raw-text, always call encode_eol. Handle the case of last
10742 block here.
10743 (shrink_decoding_region, shrink_encoding_region): Detect cases
10744 that we can't skip data more rigidly.
10745 (code_convert_region): Setup src_multibyte and dst_multibyte
10746 members of coding. For decoding, if the buffer is multibyte,
10747 convert the source sequence to unibyte in advance. For encoding,
10748 if the buffer is multibyte, convert the resulting sequence to
10749 multibyte afterward.
10750 (run_pre_post_conversion_on_str): New function.
10751 (code_convert_string): Deleted and divided into the following two.
10752 (decode_coding_string, encode_coding_string): New functions.
10753 (code_convert_string1, code_convert_string_norecord): Call one of
10754 above.
10755 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
10756 MAKE_NON_ASCII_CHAR.
52283633
SM
10757 (Fset_terminal_coding_system_internal)
10758 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
10759 and dst_multibyte members.
10760 (init_coding_once): Initialize iso_code_class with new enum
10761 ISO_control_0 and ISO_control_1.
10762
10763 * coding.h (enum iso_code_class_type): Member ISO_control_code is
10764 devided into ISO_control_0 and ISO_control_1.
10765 (struct coding_system): New members src_multibyte, dst_multibyte,
10766 errors, and result. Delete member fake_multibyte.
10767 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
10768 nonzero.
10769 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
10770 nonzero.
10771
10772 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
10773 (Faset): Likewise.
10774
10775 * editfns.c (Fformat): Be sure to convert 8-bit characters to
10776 multibyte form.
10777 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
10778 combining occurs.
10779 (Ftranspose_region): Delete codes for handling byte combining.
10780
10781 * fileio.c (Finsert_file_contents): Setup src_multibyte and
10782 dst_multibyte members of coding. On handling REPLACE on unibyte
10783 buffer, convert the result of decode_coding to unibyte. On
10784 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 10785 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
10786 multibyteness of the source (buffer or string).
10787
10788 * fns.c (concat): Handle 8-bit characters correctly.
10789 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
10790 unibyte in the result.
10791 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
10792 valid multibyte form in the result.
10793 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
10794 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
10795 return -1, signal an error.
10796 (base64_encode_1): New arg MULTIBYTE. Get each character by
10797 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
10798 character is found, return -1.
10799 (Fbase64_decode_region): Delete codes for handling byte-combining.
10800 Treat each decoded byte as a unibyte character.
10801 (Fbase64_decode_string): Return unibyte string.
10802 (Fcompare_strings, concat, string_byte_to_char): Use
10803 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
10804 FETCH_STRING_CHAR_ADVANCE.
10805 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10806 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
10807
10808 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
10809 SPLIT_NON_ASCII_CHAR.
10810 (fontset_ref_via_base, fontset_set): Likewise
10811
10812 * insdel.c (adjust_markers_for_record_delete): Deleted.
10813 (adjust_markers_for_insert): Argument changed. Caller changed.
10814 (adjust_markers_for_replace): Likewise.
52283633
SM
10815 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
10816 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
10817 (copy_text): Delete unused local varialbe c_save. For converting
10818 to multibyte, be sure to make all 8-bit characters in valid
10819 multibyte form.
10820 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
10821 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10822 (adjust_after_replace, replace_range, del_range_2)
c9671f81 10823 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
10824 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10825 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
10826 handling byte combining.
10827 (adjust_before_replace): Deleted.
427ec082 10828
c9671f81
KH
10829 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
10830 SPLIT_NON_ASCII_CHAR.
10831 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 10832 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10833 (Fkey_description): Likewise.
10834
10835 * lread.c (read1): On reading multibyte string, be sure to make
10836 all 8-bit chararacters in valid multibyte form.
10837 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10838
10839 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
10840 unconditionally.
10841
10842 * process.c (Fstart_process): GCPRO current_dir before calling
10843 Ffind_operation_coding_system. Encode arguments here.
10844 (create_process): Don't encode arguments here. Setup
10845 src_multibyte and dst_multibyte members of struct coding.
10846 (read_process_output): Setup src_multibyte and dst_multibyte
10847 members of struct coding. If the output is to multibyte buffer,
10848 always decode the output of the process. Adjust the
52283633 10849 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
10850 (send_process): Setup coding->src_multibyte according to the
10851 multibyteness of the source.
10852
52283633 10853 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10854 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
10855 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
10856
52283633 10857 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
10858
10859 * w16select.c (Fw16_set_clipboard_data): Setup members
10860 src_multibyte and dst_multibyte of coding. Adjusted for the
10861 change for find_charset_in_str.
10862 (Fw16_get_clipboard_data): Likewise.
10863
10864 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
10865 dst_multibyte of coding.
10866 (x_to_w32_font): Likewise.
10867
10868 * w32select.c (Fw32_set_clipboard_data): Setup members
10869 src_multibyte and dst_multibyte of coding. Adjusted for the
10870 change for find_charset_in_str.
10871 (Fw32_get_clipboard_data): Likewise.
10872
10873 * xdisp.c (get_next_display_element): Handle 8-bit characters
10874 correctly.
52283633
SM
10875 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
10876 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
10877
10878 * xselect.c (selection_data_to_lisp_data): Setup members
10879 src_multibyte and dst_multibyte of coding. Adjusted for the
10880 change for find_charset_in_str.
10881 (lisp_data_to_selection_data): Likewise.
10882
5f64c9e0
GM
108832000-05-19 Gerd Moellmann <gerd@gnu.org>
10884
52283633 10885 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 10886
5f64c9e0
GM
10887 * dispextern.h (Vimage_types): Add extern declaration.
10888
10889 * xdisp.c (Vimage_types): Moved here from xfns.c.
10890 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
10891
10892 * xfns.c (Vimages_types): Moved to xdisp.c.
10893 (syms_of_xfns): Move `image-types' to xdisp.c.
10894
10895 * w32fns.c (Vimage_types): Removed.
10896 (syms_of_w32fns): Remove `image-types'.
10897
813086ea
KH
108982000-05-18 Kenichi Handa <handa@etl.go.jp>
10899
10900 * fns.c (map_char_table): Pay attention to character number of
10901 charset. Check the validity of charset at the first level. For
10902 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
10903 the default value.
10904
10905 * fontset.c: Include "buffer.h".
10906 (fs_load_font): If the face has fontset, record the face ID in
10907 that fontset.
10908 (Finternal_char_font): New function.
10909 (accumulate_font_info): New function.
10910 (Ffontset_info): Rewritten for the new fontset implementation.
10911 (syms_of_fontset): Register Vdefault_fontset in the first element
10912 of Vfontset_table. Include Vdefault_fontset in
10913 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
10914 function.
10915
bdaebbf0
DL
109162000-05-16 Dave Love <fx@gnu.org>
10917
10918 * m/iris5d.h: Deleted -- unused.
10919
cb613bb8
GM
109202000-05-16 Gerd Moellmann <gerd@gnu.org>
10921
b15f3b77
GM
10922 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
10923 `invalid' instead of `illegal'.
10924
10925 * indent.c (Fmove_to_column): When ending within a tab, insert
10926 spaces first so that markers at the end of the tab get adjusted.
10927
835c1b36
GM
10928 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
10929 buffer list that wasn't selected in that frame.
10930
cb613bb8
GM
10931 * filelock.c (get_boot_time): To obtain an 8 char file name, which
10932 is needed on mescaline, use a 2 char prefix, and call
10933 make_temp_name with second arg non-zero.
10934
10935 * fileio.c (make_temp_name): New function, extracted from
10936 Fmake_temp_name.
10937 (Fmake_temp_name): Use it.
10938
f685bea9
EZ
109392000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10940
52283633 10941 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 10942
a1b8d58b
GM
109432000-05-15 Gerd Moellmann <gerd@gnu.org>
10944
10945 * Makefile.in (lisp): Add env.elc.
10946
10947 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
10948
a265079f
GM
109492000-05-12 Gerd Moellmann <gerd@gnu.org>
10950
10951 * search.c (Freplace_match): Handle case of `\N' in the
10952 replacement when there's no group N.
10953
da4496b6
GM
109542000-05-11 Gerd Moellmann <gerd@gnu.org>
10955
0ace421a
GM
10956 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
10957 of the message to message_dolog.
10958
1172eb8d
GM
10959 * keyboard.c (read_char): Don't clear current message for help
10960 events; let the code handling help events handle this. Change
10961 code detecting help events that should be ignored.
10962
da4496b6
GM
10963 * xdisp.c (handle_single_display_prop): Don't try to set PT if
10964 we're interating over a string.
10965
0623e40f
DL
109662000-05-09 Dave Love <fx@gnu.org>
10967
10968 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
10969 that offset before writing. Move gcpro region past call of
10970 Ffile_regular_p.
10971
bae2503b
DL
109722000-05-04 Dave Love <fx@gnu.org>
10973
10974 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
10975
ec82fb2f
GM
109762000-05-04 Gerd Moellmann <gerd@gnu.org>
10977
10978 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
10979 of inserted characters when BUF equals the current buffer, and PT
10980 is in front of or equal to FROM.
10981
cbf18892
GM
109822000-05-03 Gerd Moellmann <gerd@gnu.org>
10983
4ff40dd0
GM
10984 * xdisp.c (handle_single_display_prop): If display property value
10985 is invalid, or something not supported on the frame, restore
10986 iterator's position to what it was initially. Make sure to return
10987 0 for invalid and unsupported property values.
10988
cbf18892
GM
10989 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
10990 that x_per_char_metric returns null.
10991
1b0672c3
GM
109922000-05-02 Gerd Moellmann <gerd@gnu.org>
10993
576da55d
GM
10994 * xterm.h (struct face): Add forward declaration.
10995 (struct image): Ditto.
10996 (image_ascent): Add prototype.
10997
10998 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10999 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11000 image_ascent instead of using IMAGE_ASCENT.
11001
11002 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11003 (IMAGE_ASCENT): Removed.
11004
11005 * xfns.c (Qcenter): New variable.
11006 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11007 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11008 (image_ascent): New function.
11009 (lookup_image): Recognize `:ascent center'.
11010 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11011 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11012 (xbm_load): Don't set image's ascent here.
11013 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11014 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11015 check ascent values here.
11016 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11017 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11018 (syms_of_xfns): Initialize Qcenter.
11019
1b0672c3
GM
11020 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11021 to the limits, increase the limits.
11022
0d7811ed
KH
110232000-05-01 Kenichi Handa <handa@etl.go.jp>
11024
11025 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11026 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11027
a943a5ca
GM
110282000-04-28 Gerd Moellmann <gerd@gnu.org>
11029
11030 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11031 taller than the window.
11032
5dba1e29
KH
110332000-04-28 Kenichi Handa <handa@etl.go.jp>
11034
11035 * xfaces.c (realize_x_face): Fix the argument of the second
11036 xassert. BASE_FACE may not be a face for ASCII.
11037
353964e3
GM
110382000-04-27 Gerd Moellmann <gerd@gnu.org>
11039
c76e04a8
GM
11040 * print.c (print_object): Treat print-length < 0 as nil.
11041
11042 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11043
11044 * s/freebsd.h (TERMCAP_OBJ): Removed.
11045 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11046
11047 * lread.c (read1): Don't treat period followed by certain
11048 characters as symbol start.
11049
11050 * xfns.c (slurp_file): New function.
11051 (xbm_image_p): Handle case of in-memory XBM files.
11052 (xbm_scan): Rewritten to work on memory buffers instead of files.
11053 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11054 Work on memory buffers instead of files. If DATA is null test
11055 if buffer looks like an in-memory XBM file.
11056 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11057 memory buffers instead of files.
11058 (xbm_file_p): New function.
11059 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11060
353964e3
GM
11061 * lread.c (end_of_file_error): New function.
11062 (read1): Call it instead of signaling `end-of-file' directly.
11063
427ec082 11064 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11065 with Fprinc instead of Fprin1.
11066
24d744ac
KR
110672000-04-26 Ken Raeburn <raeburn@gnu.org>
11068
11069 * window.c (freeze_window_start): Check that minibuffer scroll
11070 window isn't nil before extracting the window structure pointer
11071 from it.
11072
11073 * undo.c (record_delete): If we hit the end of the undo list, stop
11074 picking elements apart.
11075
7464346d
GM
110762000-04-26 Gerd Moellmann <gerd@gnu.org>
11077
11078 * xdisp.c (display_line): If lines are continued, restore
11079 iterator's ascent/descent information to the values before the
11080 first glyph not fitting on the line.
11081
612839b6
GM
110822000-04-25 Gerd Moellmann <gerd@gnu.org>
11083
11084 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11085 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11086
11087 * dispnew.c (increment_matrix_positions): Renamed from
11088 increment_glyph_matrix_buffer_positions.
11089 (increment_row_positions): Renamed from
11090 increment_glyph_row_buffer_positions.
11091
11092 * dispextern.h: Change names of renamed functions from dispnew.c
11093 in prototypes.
11094
cc181e95
GM
110952000-04-24 Gerd Moellmann <gerd@gnu.org>
11096
abfcc168
GM
11097 * fileio.c (Fdo_auto_save): Create directories for auto-save
11098 list file if necessary.
11099
cc181e95
GM
11100 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11101 from buffer or frame.
11102 (automatic_hscrolling_p): New variable.
11103 (hscroll_windows): Scroll windows horizontally only if automatic
11104 hscrolling is allowed.
11105 (syms_of_xdisp): New variable `automatic-hscrolling'.
11106
11107 * frame.h (struct frame): Add member extra_line_spacing.
11108
11109 * xfns.c (x_set_line_spacing): New function.
11110 (Fx_create_frame): Set line spacing from resources.
11111 (Qline_spacing): New variable.
11112 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11113
cc181e95
GM
11114 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11115
11116 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11117 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11118 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11119 extra_line_spacing from default value.
11120 (init_buffer_once): Initialize default value of extra_line_spacing.
11121
11122 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11123 and extra3.
11124
11125 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11126 prompt_width. Add extra line spacing.
11127
11128 * term.c (produce_glyphs): Remove reference to struct it's
11129 prompt_width.
11130
11131 * dispextern.h (struct it): Remove member prompt_width, add
11132 extra_line_spacing.
11133
58827478
GM
111342000-04-22 Gerd Moellmann <gerd@gnu.org>
11135
11136 * dispnew.c (update_frame_line): When writing a whole line, make
11137 sure cursor is in the right row afterwards, otherwise a use of
11138 capability `ch' in cmgoto might leave the cursor in the row below.
11139
25a87f42
GM
111402000-04-21 Gerd Moellmann <gerd@gnu.org>
11141
11142 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11143
11144 * keyboard.c (timer_check): Fix typo in comment.
11145
54edf5c2
KH
111462000-04-21 Kenichi Handa <handa@etl.go.jp>
11147
11148 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11149 name change: ch -> character.
11150
3a64eef5
GM
111512000-04-20 Gerd Moellmann <gerd@gnu.org>
11152
11153 * keyboard.c (echo_message_buffer): New variable.
11154 (echo_now): Set echo_message_buffer to the echo area buffer used
11155 to display the echo.
11156 (cancel_echoing): Reset echo_message_buffer to nil.
11157 (read_char): Code rewritten that handles canceling an echo or
11158 echoing a dash, respectively.
11159
11160 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11161 directory doesn't exist.
11162
6142fdcb
DL
111632000-04-19 Dave Love <fx@gnu.org>
11164
11165 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11166 (concat): Don't allow numeric args.
11167 (Fconcat): Doc change.
6142fdcb 11168
ac6b5352
SM
111692000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11170
11171 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11172 instead define end_match(1|2) more carefully.
11173 Use GET_CHAR_BEFORE_2 for `begline'.
11174
cb9215e4
GM
111752000-04-19 Gerd Moellmann <gerd@gnu.org>
11176
5e3dac3f
GM
11177 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11178 on 64-bit systems where NULL is defined as `0'.
11179
11180 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11181 the `variable argument list' to make it work on Alpha.
11182
cb9215e4
GM
11183 * m/alpha.h (_LP64) [!_LP64]: Define.
11184 (ORDINARY_LINK): Define for NetBSD.
11185
11186 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11187
f532dca0
DL
111882000-04-19 Dave Love <fx@gnu.org>
11189
c750667e
DL
11190 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11191 change.
11192
11193 * Makefile.in (LIBS): Don't use.
11194 (GETLOADAVG_OBJ): Define again.
11195 (otherobj): Add GETLOADAVG_OBJ.
11196
f532dca0
DL
11197 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11198
1c7e22fd
GM
111992000-04-18 Gerd Moellmann <gerd@gnu.org>
11200
f6d3257b
GM
11201 * lread.c (read_filtered_event): Cancel and start busy cursor.
11202
427ec082 11203 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11204 that the per-character metrics may be null.
11205
e10f64e7
GM
112062000-04-17 Gerd Moellmann <gerd@gnu.org>
11207
0daee095
GM
11208 * buffer.c (clone_per_buffer_values): New function.
11209 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11210 clone_per_buffer_values if CLONE is not nil.
11211
e10f64e7
GM
11212 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11213
38687d43
DL
112142000-04-16 Dave Love <fx@gnu.org>
11215
11216 * Makefile.in: Remove obsolete localcpp stuff.
11217 (GETLOADAVG_OBJ): Don't define.
11218 (obj): Move LIBOBJS...
11219 (otherobj): ... to here.
11220 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11221 whitespace-only lines after the continuation (Irix).
11222
c21c7262
GM
112232000-04-14 Gerd Moellmann <gerd@gnu.org>
11224
11225 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11226
11227 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11228
314767c0
DL
112292000-04-14 Dave Love <fx@gnu.org>
11230
11231 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11232 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11233 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11234 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11235 NLIST_STRUCT.
11236
11237 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11238 autoconfiscated HAVE_GETLOADAVG.
11239
11240 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11241 BROKEN_MKTIME.
11242
a2522dca
GM
112432000-04-14 Gerd Moellmann <gerd@gnu.org>
11244
11245 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11246 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11247
33744b5d
DL
112482000-04-14 Dave Love <fx@gnu.org>
11249
c21c7262 11250 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11251 (INTERVAL_SRC): Convert to make variable.
11252 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11253 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11254 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11255 add LIBOBJS.
11256 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11257 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11258 (shortlisp): Add facemenu, float-sup, frame.
11259 (SOME_MACHINE_LISP): Remove them from here.
11260 (LIBES): Change unused LDLIBS to autoconf LIBS.
11261
11262 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11263
9d3d5916
KH
112642000-04-14 Kenichi Handa <handa@etl.go.jp>
11265
11266 * composite.c (update_compositions): If FROM and TO are not in a
11267 valid range, do nothing.
11268
198e3c7a
GM
112692000-04-13 Gerd Moellmann <gerd@gnu.org>
11270
52283633 11271 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11272
52283633 11273 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11274
11275 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11276 as TERMCAP_OBJ.
11277
055a28c9
EZ
112782000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11279
11280 * fileio.c (a_write): Remove redundant semi-colons.
11281 (e_write): Return -1 if failed to write all the data.
11282 This fixes the changes made at 1999-12-15.
11283
f5c75033
DL
112842000-04-12 Dave Love <fx@gnu.org>
11285
11286 * fns.c (mapcar1): Test for null vals to support mapc.
11287 (Fmapc): New function.
11288
0c3cfc51
EZ
112892000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11290
11291 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11292 (IT_frame_up_to_date): Support the buffer local value of
11293 cursor-type, if defined.
11294
33465a31
DL
112952000-04-10 Dave Love <fx@gnu.org>
11296
11297 * editfns.c (preceding-char, following-char): Doc fix.
11298
6ed56568
KR
112992000-04-10 Ken Raeburn <raeburn@gnu.org>
11300
11301 * Makefile.in (temacs): Revert 2000-03-12 change.
11302
7cf80d4e
JR
113032000-04-10 Jason Rumney <jasonr@gnu.org>
11304
11305 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11306
34f3f342
GM
113072000-04-10 Gerd Moellmann <gerd@gnu.org>
11308
1a1b1895
GM
11309 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11310 area buffer, if it's not set up yet.
11311
34f3f342
GM
11312 * indent.c (compute_motion): Set immediate_quit.
11313
be0dbdab
GM
113142000-04-09 Gerd Moellmann <gerd@gnu.org>
11315
52283633 11316 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11317 (realize_tty_face): Suppress boldness if colors are the inverse of
11318 the default colors, and tty_suppress_bold_inverse_default_colors_p
11319 is set.
11320 (Ftty_suppress_bold_inverse_default_colors): New function.
11321 (syms_of_xfaces): Defsubr it.
11322
be0dbdab
GM
11323 * buffer.c (Frestore_buffer_modified_p): New function.
11324 (syms_of_buffer): Defsubr it.
11325
e8413c3b
KR
113262000-04-08 Ken Raeburn <raeburn@gnu.org>
11327
87f67317
KR
11328 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11329 charset id (int) argument, not a charset (Lisp_Object).
11330
e8413c3b
KR
11331 * coding.h (code_convert_string): Declare.
11332 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11333 object, as the fourth argument to code_convert_string.
11334
52283633 11335 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11336 (Fset_fontset_font): Use EQ to compare lisp objects.
11337
7c752c80
KR
113382000-04-05 Ken Raeburn <raeburn@gnu.org>
11339
c0333abc
KR
11340 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11341 a pointer that looks like a lisp object.
11342 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11343 zero, instead see whether it's an integer object, since they can't
11344 have intervals.
11345 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11346
52283633
SM
11347 * dispnew.c (allocate_matrices_for_frame_redisplay)
11348 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11349 to convert between (unsigned) int values and lisp integers.
11350 * keyboard.c (read_key_sequence): Likewise.
11351 * lread.c (substitute_object_recurse): Likewise.
11352 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11353 * minibuf.c (do_completion, Fminibuffer_complete_word)
11354 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11355 * term.c (produce_special_glyphs): Likewise.
11356
11357 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11358 * print.c (print_preprocess, print_object): Likewise.
11359
11360 * search.c (compile_pattern): Use NILP when checking for nil.
11361
74e49b38
KR
11362 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11363 __OPTIMIZE__]: Provide a GNU C macro version that handles
11364 lisp-object unions.
11365 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11366 field, to better cope with ENABLE_CHECKING and calls that modify a
11367 Lisp_Object using its old value.
11368
685e5ed2
GM
113692000-04-04 Gerd Moellmann <gerd@gnu.org>
11370
c407c570
GM
11371 * window.c (compare_window_configurations): Signal an error
11372 if parameters C1 or C2 aren't window configurations.
11373
685e5ed2
GM
11374 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11375 AFTER_POTENTIAL_GC calls around calls to functions that can
11376 signal an error and thus invoke the debugger.
11377
587a49ab
GM
113782000-04-03 Gerd Moellmann <gerd@gnu.org>
11379
62f20204
GM
11380 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11381 an error if decoding fails.
11382
587a49ab
GM
11383 * keyboard.c (lispy_mouse_names): Variable removed.
11384 (Vlispy_mouse_stem): New variable.
11385 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11386 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11387 for any mouse button number. Increase size of mouse_syms and
11388 button_down_location as needed. Call modify_event_symbol with
11389 different arguments.
11390 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11391 Call modify_event_symbol with different arguments.
11392 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11393 for any button number. Call modify_event_symbol with different
11394 arguments.
11395 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11396 Accept a string for NAME_ALIST_OR_STEM.
11397
11398 * lisp.h (larger_vector): Add prototype.
11399
11400 * fns.c (larger_vector): Make externally visible.
11401
11402 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11403
2d1675e4
SM
114042000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11405
11406 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11407 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11408 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11409 we are between str1 and str2.
11410 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11411 (PATFETCH): Use `TRANSLATE'.
11412 (PATFETCH_RAW): Fetch multibyte char if applicable.
11413 (PATUNFETCH): Remove.
11414 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11415 When writing a char, write it directly into the pattern buffer rather
11416 than going needlessly through a temp char-array.
11417 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11418 multibyte magic and remove the useless `#ifdef emacs'.
11419 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11420 buffer.
11421
11422 * regex.h (struct re_pattern_buffer): Make field `multibyte'
11423 conditional on `emacs'.
11424
11425 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
11426
cc2d8c6b
KR
114272000-04-01 Ken Raeburn <raeburn@gnu.org>
11428
11429 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
11430 non-union-type versions of XMARK and friends here, because XMARK
11431 and friends won't work on an integer field if NO_UNION_TYPE is not
11432 defined.
52283633 11433 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 11434
52283633 11435 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
11436 (syms_of_composite): Delete local var NARGS, pass an int as first
11437 argument to Fmake_hash_table.
11438
2387b382
KR
11439 * editfns.c (text_property_stickiness): Use NILP to test
11440 Lisp_Object boolean value.
11441 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
11442 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
11443 problems reading from and changing the same lisp value in an
11444 XSETSTRING call.
11445
27660e89
GM
114462000-04-01 Gerd Moellmann <gerd@gnu.org>
11447
11448 * term.c (TN_no_color_video): New variable.
11449 (term_init): Intitialize TN_no_color_video.
11450 (enum no_color_bit): New enumeration.
11451 (MAY_USE_WITH_COLORS_P): New macro.
11452 (turn_on_face): Use it to determine if attributes may be used
11453 combined with colors.
11454
3578db3c
KR
114552000-04-01 Ken Raeburn <raeburn@gnu.org>
11456
11457 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 11458 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
11459 (enlarge_window): Variable sizep now points to Lisp_Object. Use
11460 proper accessor macros.
11461 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
11462 (grow_mini_window): Fix typo getting int value of root->height.
11463
6fc556fd
KR
11464 * xdisp.c (compute_string_pos): Fix order of arguments to
11465 string_pos_nchars_ahead.
11466 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
11467 count arg to variable-arg routines like Frun_hook_with_args and
11468 Fformat.
587a49ab
GM
11469 (back_to_previous_visible_line_start)
11470 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
11471 fixed-arg routines like Fget_char_property and Fmake_string.
11472 (reconsider_clip_changes): Use XINT when comparing integer lisp
11473 objects, or passing them as int arguments.
587a49ab
GM
11474 (mark_window_display_accurate, insert_left_trunc_glyphs)
11475 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11476 storing or passing integer values as lisp objects.
11477 (set_cursor_from_row, highlight_trailing_whitespace): Use
11478 INTEGERP, not implicit test against zero, for glyph object.
11479 (try_window_id): Don't use make_number when we want an int value.
11480
11481 * xfaces.c (xlfd_symbolic_value): Make last argument a
11482 Lisp_Object, to be consistent with callers.
11483 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11484 (lface_hash): Apply XFASTINT to lisp values before folding in.
11485
11486 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11487 fill in window width and height. Pass an int, not a lisp object,
11488 as first arg to Finsert.
11489
6e7b2457
GM
114902000-04-01 Gerd Moellmann <gerd@gnu.org>
11491
610d841e
GM
11492 * xfaces.c (realize_basic_faces): Block input while realizing
11493 the faces.
11494
6e7b2457
GM
11495 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11496
11497 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11498
aa110c0c
GM
114992000-03-31 Gerd Moellmann <gerd@gnu.org>
11500
11501 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 11502 or ASCII, handle case that per-char metric is null.
aa110c0c 11503
8801a864
KR
115042000-03-30 Ken Raeburn <raeburn@gnu.org>
11505
c6129d7e
KR
11506 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11507
52283633
SM
11508 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11509 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
11510 pointer, using eassert.
11511 * frame.h (XFRAME): Likewise.
11512
52283633
SM
11513 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11514 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11515 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 11516 * data.c (set_internal): Likewise.
52283633
SM
11517 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11518 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
11519 * fileio.c (auto_save_1): Likewise.
11520 * insdel.c (check_markers): Likewise.
11521 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11522 * undo.c (record_insert): Likewise.
11523 * vmsproc.c (child_sig): Likewise.
11524 * window.c (unshow_buffer, window_loop): Likewise.
11525 * xterm.c (x_erase_phys_cursor): Likewise.
11526
8e7af858
GM
115272000-03-30 Gerd Moellmann <gerd@gnu.org>
11528
11529 * xfns.c (free_image_cache): Free the cache structure itself
11530 last, after all its members have been freed.
11531
11532 * lisp.h (xstrdup): Add prototype.
11533
11534 * alloc.c (xstrdup): Moved here from xfaces.c.
11535 (allocating_for_lisp): Variable removed.
52283633 11536 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11537
11538 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11539 of Fsymbol_value.
11540 (xstrdup): Moved to alloc.c.
11541
e0b8c689
KR
115422000-03-29 Ken Raeburn <raeburn@gnu.org>
11543
b96f9fb7
KR
11544 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11545
11546 * emacs.c (main): Fix sense of no-loadup test.
11547
e0b8c689
KR
11548 * config.in (ENABLE_CHECKING): Undef.
11549
11550 * lisp.h (struct interval): Replace "parent" field with a union of
11551 interval pointer and Lisp_Object; add new bitfield to use as
11552 discriminant. Change other flag fields to bitfields.
11553 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11554 is defined and the supplied test fails, print a message and abort.
11555 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11556
11557 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11558 pointers; abort if the value looks like a lisp object.
52283633
SM
11559 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11560 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11561 Modify for new interval parent definition.
11562
52283633
SM
11563 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11564 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
11565 addressable lisp object in the interval structure.
11566 (die): New function.
11567 (suppress_checking): New variable.
11568
11569 * intervals.c (interval_start_pos): Just return 0 if there's no
11570 parent object.
11571
f83c5440
GM
115722000-03-29 Gerd Moellmann <gerd@gnu.org>
11573
11574 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11575 and earlier Emacs versions.
11576
11577 * keyboard.c (Ftop_level): Cancel busy-cursor.
11578
11579 * eval.c (call_debugger): Cancel busy-cursor.
11580
fdce64ff
KH
115812000-03-29 Kenichi Handa <handa@etl.go.jp>
11582
11583 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 11584 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 11585
f6a3f532
SM
115862000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11587
11588 * regex.c (analyse_first): New function obtained by ripping out most
11589 of re_compile_fastmap and generalizing it a little bit so that it
11590 can also just return whether a given (sub)pattern can match the empty
11591 string or not.
11592 (regex_compile): Use `analyse_first' to decide whether the loop-check
11593 needs to be done or not for *, +, *? and +? (the loop check is costly
11594 for non-greedy repetition).
11595 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11596
e9b309ac
DL
115972000-03-28 Dave Love <fx@gnu.org>
11598
52283633 11599 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 11600
e9b309ac
DL
11601 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11602
ed0767d8
SM
116032000-03-27 Stefan Monnier <monnier@cs.yale.edu>
11604
11605 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
11606 an expression.
11607 (enum re_opcode_t): Update description of succeed_n.
11608 (PATFETCH): Always define.
11609 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
11610 operators, char classes, shy-groups and intervals).
11611 Optimize special cases of intervals so as to only use succeed_n and
11612 jump_n when really needed.
11613 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
11614 that we don't have to handle the special cases any more.
11615 Simplify on_failure_jump handling as well.
11616
e11e7e46
JR
116172000-03-28 Jason Rumney <jasonr@gnu.org>
11618
11619 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
11620
88faab89
GM
116212000-03-27 Gerd Moellmann <gerd@gnu.org>
11622
182ff242
GM
11623 * s/freebsd.h (GC_SETJMP_WORKS): Define.
11624
11625 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 11626
182ff242
GM
11627 * alloc.c (mark_maybe_object): New function.
11628 (mark_memory): Use it.
11629 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
11630 (setjmp_tested_p, longjmp_done): New variables.
11631 (test_setjmp): New function.
11632 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
11633 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
11634
c1005d06
GM
11635 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
11636 to DEC_TEXT_POS and INC_TEXT_POS.
11637
11638 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
11639 with parameter MULTIBYTE_P.
11640
52283633 11641 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 11642
7439e5b9 11643 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
11644 buffers because it looks for multibyte character byte sequences
11645 which don't exist in unibyte text.
7439e5b9 11646
d9c545da
GM
11647 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11648
11fd416e 11649 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11650 [DEBUG_X_COLORS]: New functions.
11651 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11652
11653 * xfns.c (x_set_cursor_color): Get color reference counts right.
11654
11655 * xterm.c (x_copy_color): New function.
11656 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11657
11658 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11659 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11660 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11661 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11662 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11663 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11664 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11665 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11666 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11667 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11668
11fd416e
GM
11669 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11670 names for handling per-buffer variables.
d9c545da
GM
11671
11672 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11673 instead of MAX_BUFFER_LOCAL_VARS.
11674 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11675
11676 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11677
88faab89
GM
11678 * xfns.c (x_specified_cursor_type): New function.
11679 (x_set_cursor_type): Use it.
11680
11681 * buffer.h (struct buffer): Add cursor_type.
11682
d80f42b7
SM
116832000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11684
11685 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11686 (print_partial_compiled_pattern, re_compile_fastmap):
11687 Handle new opcode.
d80f42b7
SM
11688 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11689 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11690 executing it as well as when popping it off the stack to find infinite
11691 loops in non-greedy repetition operators.
11692
89e80928
GM
116932000-03-26 Gerd Moellmann <gerd@gnu.org>
11694
3d4ff2dd
GM
11695 * doc.c (Qfunction_documentation): New variable.
11696 (syms_of_doc): Initialize Qfunction_documentation.
11697 (Fdocumentation): If FUNCTION is a symbol with non-nil
11698 `function-documentation' property, return a documentation derived
11699 from that.
11700
bd96bd79
GM
11701 * buffer.c (syms_of_buffer): Add default-cursor-type.
11702 (init_buffer_once): Don't let cursor_type have a local value
11703 in every buffer.
11704
19d1bc27
GM
11705 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11706 on buffer-local value of cursor_type.
11707 (x_draw_bar_cursor): Add parameter WIDTH.
11708
11709 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11710 (init_buffer_once): Set default cursor_type value to t.
11711 Mark cursor_type as local everywhere.
11712 (syms_of_buffer): New per-buffer variable cursor-type.
11713
89e80928
GM
11714 * buffer.h (struct buffer): Remove member local_var_flags,
11715 add local_flags.
11716 (MAX_BUFFER_LOCAL_VARS): New macro.
11717 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11718 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11719 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11720 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11721
52283633 11722 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11723
11724 * category.c (Fset_category_table): Use new macros for per-buffer
11725 variables.
11726
11727 * buffer.c (buffer_permanent_local_flags): Make a char array.
11728 (max_buffer_local_idx): New variable.
11729 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11730 for new handling of per-buffer variables.
11731 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11732 (init_buffer_once): Initialize per-buffer vars differently.
11733 Set max_buffer_local_idx.
11734
11735 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11736 variables.
11737
52283633 11738 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
11739
11740 * data.c (do_symval_forwarding, store_symval_forwarding)
11741 (find_symbol_value, set_internal, default_value, Fset_default)
11742 (Fkill_local_variable, Flocal_variable_p): Use new macros for
11743 per-buffer variables.
11744
11745 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
11746
9a0dd3dc
GM
117472000-03-24 Gerd Moellmann <gerd@gnu.org>
11748
b68c375f
GM
11749 * xterm.c (x_term_init): Unblock input around call1 of
11750 Qvendor_specific_keysyms.
11751
9a0dd3dc
GM
11752 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
11753 (find_defun_start): Consider an open parenthesis in column 0
11754 a defun start only if open_paren_in_column_0_is_defun_start is set.
11755 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
11756
7973e637
SM
117572000-03-24 Stefan Monnier <monnier@cs.yale.edu>
11758
11759 * eval.c (Fautoload): Add entry in load-history (if after dump).
11760 * lread.c (load-history): Update docstring.
11761
39210e90
GM
117622000-03-24 Gerd Moellmann <gerd@gnu.org>
11763
11764 * indent.c (Fvertical_motion): Always use the current buffer.
11765 Temporarily change the window's buffer, if necessary.
11766
72db3ab5
GM
117672000-03-23 Gerd Moellmann <gerd@gnu.org>
11768
11769 * xterm.c (fast_find_position): Make sure not to consider rows
11770 not visible in the window.
11771
990b2375
SM
117722000-03-22 Stefan Monnier <monnier@cs.yale.edu>
11773
11774 * regex.c (enum syntaxcode): Provide default for non-Emacs.
11775 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
11776
ff4df011
JR
117772000-03-22 Jason Rumney <jasonr@gnu.org>
11778
11779 * w32menu.c (single_submenu): Set help string to NULL if none.
11780 (w32_menu_show): Set help string correctly.
11781 (add-menu-item): Set help string in MIIM_DATA for menu item.
11782 Load SetMenuItemInfoA explicitly.
11783 (w32_menu_display_help): New function.
427ec082 11784
ff4df011
JR
11785 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
11786 (QCdata): Moved to xdisp.c.
11787
11788 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
11789 (Vw32_charset_to_codepage_alist): Removed.
11790 (Vw32_charset_info_alist): New variable.
52283633
SM
11791 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
11792 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
11793 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
11794 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
11795 with TODO comment.
11796 (w32_codepage_for_font): Use Vw32_charset_info_alist.
11797 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
11798 Define Vw32_charset_info_alist and w32_charset symbols.
11799
118002000-03-22 Jason Rumney <jasonr@gnu.org>
11801
11802 * makefile.nt (w32bdf.obj): Update dependencies.
11803
11804 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
11805
11806 * w32fns.c: Include fontset.h after dispextern.h.
11807 (Fx_create_frame): Do not create fontset.
11808 (w32_load_system_font): Doc fix.
11809 (Fx_close_connection): Free full_name if it is not shared.
11810
11811 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
11812 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
11813 Callers updated.
ff4df011
JR
11814 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
11815 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
11816 (w32_font_is_double_byte): New function, needs body.
11817 (x_append_glyph): Set glyph->glyph_not_available_p.
11818 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11819 it->charset. If it->multibyte_p is zero and it->c is a multibyte
11820 character, convert it to a unibyte character.
11821 (struct glyph_string): Delete member `charset'.
11822 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
11823 calculating it is found.
11824 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11825 the case that per char metric is not available correctly.
11826 (x_fill_glyph_string): Handle the case that the specific glyph is
11827 not available correctly.
11828 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11829 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11830 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11831 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11832 fontset. Don't call FS_LOAD_FONT.
11833
439d5cb4
KR
118342000-03-22 Ken Raeburn <raeburn@gnu.org>
11835
11836 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
11837 (INT_LISPLIKE): New macro.
11838 (NULL_INTERVAL_P): Use it.
52283633
SM
11839 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
11840 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
11841 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
11842
11843 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
11844 explicit references to "parent" field of struct interval and
11845 associated unclean type conversions.
52283633
SM
11846 * intervals.c (create_root_interval, root_interval, rotate_right)
11847 (rotate_left, balance_possible_root_interval, split_interval_right)
11848 (split_interval_left, interval_start_pos, find_interval)
11849 (next_interval, previous_interval, update_interval)
11850 (adjust_intervals_for_insertion, delete_node, delete_interval)
11851 (adjust_intervals_for_deletion, merge_interval_right)
11852 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
11853 (copy_intervals_to_string): Likewise.
439d5cb4
KR
11854 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
11855 Likewise.
11856 * syntax.c (update_syntax_table): Likewise.
11857
11858 * intervals.c (reproduce_tree_obj): New function, like
11859 reproduce_tree but takes a Lisp_Object for the parent. Declare
11860 with prototype.
11861 (graft_intervals_into_buffer): Use it when appropriate.
11862 (reproduce_tree): Declare with prototype.
11863 (balance_possible_root_interval): Check that the parent is a lisp
11864 object before trying to examine its type.
11865
ee1c5b21
GM
118662000-03-22 Gerd Moellmann <gerd@gnu.org>
11867
11868 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
11869 as strings only if both are known to be strings.
11870
11871 * s/openbsd.h (LIBS_TERMCAP): Undef.
11872
1fb352e0
SM
118732000-03-21 Stefan Monnier <monnier@cs.yale.edu>
11874
11875 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
11876 definitions for non-Emacs compilation.
11877 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
11878 outside of `#ifdef emacs'.
11879 (print_partial_compiled_pattern): Update.
11880 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
11881 (re_compile_fastmap): Merge handling of charset and charset_not (for
11882 emacs and non-emacs compilation as well).
11883 Similarly for (not)categoryspec and (not)syntaxspec.
11884 Don't use the fastmap when reaching `anychar' since the added
11885 complexity is not justified.
11886 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
11887 and (not)syntaxspec. Merge (not)categoryspec.
11888
fdaa1f77
KH
118892000-03-22 Kenichi Handa <handa@etl.go.jp>
11890
52283633
SM
11891 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
11892 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 11893 --without-x.
fdaa1f77 11894
d152fb46
DL
118952000-03-21 Dave Love <fx@gnu.org>
11896
11897 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
11898 doc string.
11899
d2cafc8c
GM
119002000-03-21 Gerd Moellmann <gerd@gnu.org>
11901
11902 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
11903 (lface_fully_specified_p): Don't check contents of
11904 LFACE_FONT_INDEX because that attribute is optional.
11905 (realize_x_face): Remove now unwarranted xassert.
11906
9111d4b5
KH
119072000-03-21 Kenichi HANDA <handa@etl.go.jp>
11908
11909 The following changes are to make font selection based on
11910 characters, not charset. In addition, they recover fontset
11911 facilities while utilizing the new font selection mechanism.
11912
6c4bfdc0
KH
11913 * Makefile.in (fontset.o): Depend on dispextern.h.
11914
11915 * alloc.c (mark_face_cache): Don't mark face->registry.
11916
9111d4b5
KH
11917 * dispextern.h (struct glyph): New member glyph_not_available_p.
11918 Use 22 bits for face_id.
11919 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
11920 (struct face): Delete member registry, new member ascii_face.
11921 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
11922 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
11923 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 11924 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
11925
11926 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
11927 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
11928 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
11929 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 11930 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
11931 (fs_free_face_fontset, fontset_font_pattern)
11932 (face_suitable_for_char_p, face_for_char)
11933 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
11934 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
11935 (FS_LOAD_FACE_FONT): New macro.
11936
11937 * fontset.c: All codes rewritten or adjusted for the change of
11938 fontset implementation. Now fontset is represented by char table.
52283633
SM
11939 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
11940 Variables removed.
9111d4b5 11941 (my_strcasecmp): Function removed.
52283633 11942 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 11943 (AREF, ASIZE): New macros.
52283633
SM
11944 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
11945 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
11946 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
11947 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
11948 (fontset_id_valid_p, font_family_registry, fontset_name)
11949 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
11950 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
11951 New functions.
11952 (fs_load_font): New arg FACE. Caller changed.
11953 (fs_query_fontset): Argument changed. Caller changed.
11954 (Fquery_fontset): call fs_query_fontset.
11955 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
11956 Functions removed.
52283633
SM
11957 (clear_fontset_elements, check_registry_encoding)
11958 (check_fontset_name): New functions.
9111d4b5
KH
11959 (syms_of_fontset): Set char-table-extra-slots property of fontset
11960 to 3. Staticpro and initialize Vfontset_table and
11961 Vdefault_fontset. Defsubr fontset_font and fontset_list.
11962
11963 * frame.h (struct frame): Member `fontset_data' removed.
11964 (FRAME_FONTSET_DATA): Macro removed.
11965
11966 * frame.c (make_frame): Don't allocate f->fontset_data.
11967 (Fdelete_frame): Don't free f->fontset_data.
11968
6c4bfdc0
KH
11969 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
11970
9111d4b5
KH
11971 * xdisp.c (charset_at_position): Function removed.
11972 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
11973 (handle_face_prop, reseat_to_string, set_iterator_to_next)
11974 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
11975 Likewise.
11976 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
11977 FACE_FOR_CHARSET.
52283633
SM
11978 (get_next_display_element, append_space)
11979 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
11980
11981 * xfaces.c (Qx_charset_registry, Vface_default_registry):
11982 Variables removed.
11983 (clear_font_table, frame_update_line_height, load_face_font):
11984 Adjusted for the change of fontset implementation.
11985 (load_face_fontset_font): Function removed.
11986 (pixel_point_size): New function.
11987 (font_list): Argument type changed. Caller changed.
11988 (LFACE_FONT): New macro.
11989 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
11990 (set_lface_from_font_name): Type of arg FONTNAME is changed to
11991 Lisp_Object. Determine the font name by actually loading a font
11992 by the specified pattern. Set LFACE_FONT (lface) to the specified
11993 pattern. Even if a font is not found, don't try alternatives.
11994 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
11995 (set_font_frame_param): If `font' is specified in lface, use it.
11996 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11997 (lface_same_font_attributes_p): Likewise.
11998 (make_realized_face): Arguent changed. Caller changed. Set
11999 face->ascii_face to face itself.
12000 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12001 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12002 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12003 (free_realized_multibyte_face): New function.
12004 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12005 changed. Caller changed.
12006 (try_font_list): Argument type changed.
12007 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12008 (choose_face_font): Argument changed. Handle fontset properly.
12009 (choose_face_fontset_font): Function removed.
12010 (realize_default_face, realize_named_face): Don't remove the
12011 former face here.
12012 (realize_face): Argument changed. Caller changed. Remove face
52283633 12013 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12014 (realize_x_face): Argument changed. Caller changed. For a
12015 multibyte character, share fontset with base_face. For a single
52283633 12016 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12017 (realize_tty_face): Argument changed. Caller changed.
12018 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12019 (face_at_buffer_position): Don't check multibyte_p for returning
12020 DEFAULT_FACE_ID.
12021 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12022 FACE_SUITABLE_FOR_CHARSET_P.
12023 (syms_of_xfaces): Remove code for Qx_charset_registry and
12024 Vface_default_registry.
12025
6c4bfdc0
KH
12026 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12027 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12028 (x_per_char_metric): Don't try FONT->default_char. Even if
12029 pcm->width is zero, glyph bits may exist.
12030 (x_encode_char): Always initialize char2b->byte1.
12031 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12032 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12033 (x_append_glyph): Set glyph->glyph_not_available_p.
12034 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12035 it->charset. Handle the case that per char metric is not
12036 available. If it->multibyte_p is zero and it->c is a multibyte
12037 character, convert it to a unibyte character.
12038 (struct glyph_string): Delete member `charset'.
12039 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12040 the case that per char metric is not available correctly.
12041 (x_fill_glyph_string): Handle the case that the specific glyph is
12042 not available correctly.
12043 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12044 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12045 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12046 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12047 fontset. Don't call FS_LOAD_FONT.
12048
12049 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12050 (x_create_tip_frame): Likewise.
12051 (Fx_close_connection): Free full_name of font_info.
12052
12053 * fns.c (optimize_sub_char_table): New function.
12054 (Foptimize_char_table): New function.
12055 (syms_of_fns): Defsubr Soptimize_char_table.
12056
b33dd3b0
GM
120572000-03-20 Gerd Moellmann <gerd@gnu.org>
12058
12059 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12060 only if buffer is displayed in some window.
12061
12062 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12063 (try_window_reusing_current_matrix): Don't call scroll run
12064 function if run's current and desired position are the same;
12065 this prevents cursor flickering.
12066
4e8a9132
SM
120672000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12068
12069 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12070
12071 * regex.c (RE_STRING_CHAR): New macro.
12072 (GET_CHAR_AFER_2): Remove.
12073 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12074 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12075 (print_partial_compiled_pattern, re_compile_fastmap)
12076 (re_match_2_internal): Remove on_failure_jump_exclusive.
12077 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12078 optimization only need to work for * (ie. can use of_keep_string_jump).
12079 Remove the special case for .*\n since it is now covered by the general
12080 optimization.
12081 (re_search_2): Don't bother with `room'.
12082 (skip_one_char): New function.
12083 (skip_noops): Simplify since `memory' is not needed any more.
12084 (mutually_exclusive_p): Restructure slightly to use `switch' and
12085 add handling for "all" remaining cases.
12086 (re_match_2_internal): Change on_failure_jump_smart to use
12087 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12088 rather than on_failure_jump_exclusive.
12089
2136fdd4
GM
120902000-03-19 Gerd Moellmann <gerd@gnu.org>
12091
12092 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12093 number of bits per RGB because it's everywhere used as the depth
12094 of the visual.
12095
12096 * term.c (calculate_costs): Remove code dealing with X frames.
12097
18e21ce8 120982000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12099
12100 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12101
d7b511c4
GM
121022000-03-18 Gerd Moellmann <gerd@gnu.org>
12103
12104 * lread.c (read_integer): Unread the last char not consumed.
12105
16b5d424
GM
121062000-03-17 Gerd Moellmann <gerd@gnu.org>
12107
12108 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12109 which are in the process of being deleted.
16b5d424 12110
1fa28578
GM
121112000-03-16 Gerd Moellmann <gerd@gnu.org>
12112
83488cce
GM
12113 * Makefile.in (mostlyclean): Add `*.core'.
12114 (clean): Add `bootstrap-emacs'.
12115
1fa28578
GM
12116 * lread.c (read_integer): New function.
12117 (read1): Support read syntax #o, #x, #b, #r.
12118
99633e97
SM
121192000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12120
1fa28578
GM
12121 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12122 make sure POINTER_TO_OFFSET gives the same value before and after
12123 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12124 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12125 (debug): Now only active if > 0 rather than if != 0.
12126 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12127 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12128 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12129 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12130 (store_op1, store_op2, insert_op1, insert_op2)
12131 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12132 (group_in_compile_stack): Move to after its arg's types are
12133 declared and add a prototype.
99633e97 12134 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12135 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12136 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12137 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12138 indentation of the greedy-op and shy-group code.
99633e97
SM
12139 (at_(beg|end)line_loc_p): Fix argument's types.
12140 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12141 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12142 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12143 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12144 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12145 QUIT unconditionally.
99633e97 12146
699238d9
GM
121472000-03-15 Gerd Moellmann <gerd@gnu.org>
12148
12149 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12150 a sole completion.
12151
12152 * process.c (send_process): Add a hint that the function
12153 can call Lisp code to its comment.
12154
12155 * lread.c (load_dangerous_libraries): New variable.
12156 (Vbytecomp_version_regexp): New variable.
12157 (safe_to_load_p): New function.
12158 (Fload): Handle files not compiled with Emacs specially.
12159 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12160
34e23e5a
GM
121612000-03-14 Gerd Moellmann <gerd@gnu.org>
12162
9c763cca
GM
12163 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12164
12165 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12166 support functions only if HAVE_X11R6_XIM is defined.
12167 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12168
12169 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12170
12171 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12172 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12173 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12174
12175 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12176 (HAVE_X11R6_XIM): Define.
12177
12178 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12179
34e23e5a
GM
12180 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12181 If set, call XSynchronize.
12182
66f0296e
SM
121832000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12184
34e23e5a
GM
12185 * regex.c: Declare a new type `re_char' used throughout the code
12186 for the string char type. It's `const unsigned char' to match the
12187 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12188 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12189 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12190 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12191 code duplication.
66f0296e
SM
12192
12193 * charset.h (GET_CHAR_AFTER_2): Remove.
12194 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12195
854a025c
KR
121962000-03-12 Ken Raeburn <raeburn@gnu.org>
12197
12198 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12199 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12200 of them try to use backquotes.
12201
b9d2c7e2
DL
122022000-03-12 Dave Love <fx@gnu.org>
12203
12204 * unexelf.c: Restore changes of 1999-10-19.
12205 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12206 fix its type and alignment; copy it from current process.
12207
5e5dff44
GM
122082000-03-12 Gerd Moellmann <gerd@gnu.org>
12209
9b2f3c38
GM
12210 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12211 has been found. Fix bug not computing timer's predecessor.
12212
427ec082 12213 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12214 file name.
12215
e1cff360
GM
12216 * window.c (Fsave_window_excursion): Doc fix.
12217
52283633 12218 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12219
e411ce4b
EZ
122202000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12221
12222 * msdos.c (vga_installed): New function, code moved from
12223 dos_set_window_size.
12224 (Qbar, Qcursor_type, outside_cursor): New variables.
12225 (syms_of_msdos): Intern and staticpro them.
12226 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12227 shape used outside Emacs when called for the first time.
12228 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12229 cursor shape used outside Emacs.
12230 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12231 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12232 type has changed.
12233 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12234 parameters specify the cursor. Make qreverse a global
12235 variable (renamed to Qreverse).
12236
80460654
GM
122372000-03-09 Gerd Moellmann <gerd@gnu.org>
12238
12239 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12240
95cd4c40
SM
122412000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12242
12243 This is a big redesign of failure-stack and register handling, prompted
12244 by bugs revealed when trying to add shy-groups. Overall, what happened
12245 is that loops are now structured a little differently, groups can be
12246 shy and the code is a little simpler.
12247
12248 * regex.h: Update the copyright.
12249 (RE_SHY_GROUPS): New value.
12250 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12251 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12252
80460654
GM
12253 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12254 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12255 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12256 for (start|stop)_memory since they now only take one argument (the
12257 second has becomes unnecessary).
52283633 12258 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12259 (print_compiled_pattern): Use %ld to printf long ints and flush to
12260 make debugging a little easier.
95cd4c40
SM
12261 (union fail_stack_elt): Make the integer unsigned.
12262 (struct fail_stack_type): Add a `frame' element.
12263 (INIT_FAIL_STACK): Init `frame' as well.
12264 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12265 (DEBUG_PUSH, DEBUG_POP): Remove.
12266 (NUM_REG_ITEMS): Remove.
12267 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12268 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12269 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12270 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12271 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12272 New macros.
80460654
GM
12273 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12274 address pushed is not the destination of the jump but the source
12275 of it instead.
95cd4c40
SM
12276 (NUM_FAILURE_ITEMS): Remove.
12277 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12278 registers before the actual failure point). Don't hardcode any
12279 meaning for str==NULL anymore.
95cd4c40 12280 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12281 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12282 Remove.
95cd4c40
SM
12283 (REG_UNSET_VALUE): Use NULL (why not?).
12284 (compile_range): Remove declaration since it doesn't exist.
12285 (struct compile_stack_elt_t): Remove inner_group_offset.
12286 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12287 (regex_grow_registers): Remove dead code.
12288 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12289 (regex_compile): Add shy-groups Change loops to use
12290 on_failure_jump_smart&jump instead of
12291 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12292 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12293 variable to me). Use `jump' instead of `jump_past_alt' and don't
12294 bother with push_dummy_failure in alternatives since it is now
12295 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12296 emacs' for (re)allocating the stack.
12297 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12298 from loop when bufp->can_be_null rather than jumping to `done'.
12299 Avoid jumping backwards so as to ensure termination. Use
12300 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12301 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12302 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12303 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12304 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12305 (lowest_active_reg, highest_active_reg)
12306 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12307 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12308 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12309 variables. Push register (in `start_memory') on the stack rather
12310 than storing it in old_reg(start|end). Remove the cycle detection
12311 from `stop_memory', replaced by the use of on_failure_jump_loop
12312 for greedy loops. Add code for the new on_failure_jump_<foo>.
12313 Remove ad-hoc code in `on_failure_jump' to push more registers in
12314 the case of a loop. Take out code from `maybe_pop_jump' into
12315 separate functions and adapt it to the semantics of
12316 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12317 and push_dummy_failure. Remove dummy_failure handling and
12318 handling of `failures to jump to on_failure_jump' (this last one
12319 was already dead code, it seems).
12320 (group_match_null_string_p, alt_match_null_string_p)
12321 (common_op_match_null_string_p): Remove.
95cd4c40 12322
7397acc4
DL
123232000-03-08 Dave Love <fx@gnu.org>
12324
12325 * config.in: Don't depend on __STDC__ for volatile.
12326 Add POINTER_TYPE, PTR, PROTOTYPES.
12327
12328 * hftctl.c, strftime.c: Use PROTOTYPES.
12329 * eval.c (find_handler_clause): Likewise.
12330
12331 * mem-limits.h: Use POINTER_TYPE.
12332
12333 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12334 (memory_warnings): Declare using POINTER_TYPE.
12335
5e91ff9e
GM
123362000-03-08 Gerd Moellmann <gerd@gnu.org>
12337
feab4fba
GM
12338 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12339
52283633 12340 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12341
5e91ff9e
GM
12342 * xfns.c: Remove obsolete code in #if 0.
12343 (Fx_focus_frame): New function.
12344
a735b7e1
KH
123452000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12346
12347 * coding.c (coding_category_name): Add coding-category-utf-8,
12348 coding-category-utf-16-be, coding-category-utf-16-le.
12349 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12350 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12351 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12352 (detect_coding_utf_8): New function.
12353 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12354 UTF_16_LOW_SURROGATE_P): New macros.
12355 (detect_coding_utf_16): New function
12356 (detect_coding_mask): When priorities are specified, skip any
12357 categories that have `nil' coding-system. Fix bug of returning
12358 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12359 returns a mask not set in PRIORITIES.
12360 (detect_eol_type_in_2_octet_form): New function.
12361 (detect_eol): selects detect_eol_type_XXX to call according to
12362 cooding->category_idx.
12363 (detect_coding_system): Remove `nil' coding-system in the result.
12364 (Fupdate_coding_systems_internal): Update all coding-categories.
12365
52283633
SM
12366 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12367 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12368 New macros.
12369 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12370 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12371 (CODING_CATEGORY_IDX_UTF_16_LE)
12372 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12373 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12374 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12375 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12376
9994cc69
GM
123772000-03-07 Gerd Moellmann <gerd@gnu.org>
12378
e9b4e5ff
GM
12379 * doc.c (Fdocumentation_property): If value is not a string,
12380 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12381
f7daf1e1
GM
12382 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12383 close the display with XtCloseDisplay. This caused a bus error
12384 on OpenWindows.
12385
9994cc69
GM
12386 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12387 complete but not unique.
12388
4336c705
GM
123892000-03-06 Gerd Moellmann <gerd@gnu.org>
12390
18bb0684
GM
12391 * process.c (send_process): Remove local variable `procname' that
12392 might become invalid when a GC happens. Instead, access the
12393 process name slot directly.
12394
4336c705
GM
12395 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12396 orig_height if set.
12397
12398 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12399 orig_height if set.
12400
515d0d0e
EZ
124012000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12402
12403 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12404 glyph matrices have been freed.
12405
100b3cbb
GM
124062000-03-05 Gerd Moellmann <gerd@gnu.org>
12407
50df5e5a 12408 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 12409 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
12410
12411 * xfns.c (QCdata): Moved to xdisp.c.
12412
12413 * xdisp.c (QCdata): Moved here from xfns.c.
12414 (syms_of_xdisp): Initialize QCdata.
12415
12416 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12417
12418 * window.c (coordinates_in_window): Use
12419 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12420 FRAME_INTERNAL_BORDER_WIDTH.
12421
100b3cbb 12422 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 12423 it is obviously invalid.
100b3cbb
GM
12424
12425 * xterm.c (x_term_init): Create a colormap if not using the
12426 default visual.
12427
12428 * xterm.h (select_visual): Change prototype.
12429
12430 * xfns.c (select_visual): Rewritten. Recognize user-specified
12431 visual classes.
12432 (visual_classes): New variable.
12433
64d739c4
GM
124342000-03-04 Gerd Moellmann <gerd@gnu.org>
12435
12436 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
12437 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
12438 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 12439 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
12440 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
12441 XtNcolormap resources.
12442 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
12443 (Fx_create_frame): Initialize color members of x_output structure.
12444 (xpm_load): Pass colormap to XPM lib.
12445
12446 * xfaces.c (x_free_colors): Access colormap of frame using
12447 FRAME_X_COLORMAP. Be paranoid about freeing black and white
12448 when default colormap is used.
12449
12450 * xterm.c (x_term_init): Set Colormap member of x_display_info
12451 structure. Copy colormap if resource `privateColormap' is
12452 specified (PseudoColor only).
12453 (x_setup_relief_color): Access colormap of frame using
12454 FRAME_X_COLORMAP.
12455
12456 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
12457 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
12458
c3cee013
JR
124592000-03-04 Jason Rumney <jasonr@gnu.org>
12460
12461 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
12462 other non-platform-specific equivalents.
64d739c4 12463 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
12464 specific functions and macros as their w32 equivalents where
12465 non-platform-specifics are not available.
12466 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
12467 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
12468 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12469 (frame_update_line_height): Use macros to access f->output_data.
12470 (defined_color): Remove FIXME comments; fixed.
12471 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12472 into #ifdef blocks. Add WINDOWSNT blocks.
12473 (Fx_list_fonts): Use macros for accessing font data.
12474 (set_lface_from_font_name): Different default fonts for X and
12475 WINDOWSNT.
12476 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12477 scalable for backward compatibility.
64d739c4 12478 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12479 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12480
64d739c4 12481 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12482 syms_of_w32faces.
12483
12484 * makefile.nt (w32faces.obj): Remove.
12485 (xfaces.obj): Add.
12486
807cc41c
JR
124872000-03-03 Jason Rumney <jasonr@gnu.org>
12488
12489 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12490 correct parameters.
12491
0007072a
KR
124922000-03-03 Ken Raeburn <raeburn@gnu.org>
12493
12494 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12495 standard ELF definitions here if the system header does not.
12496
71a6ba55
GM
124972000-03-03 Gerd Moellmann <gerd@gnu.org>
12498
12499 * xterm.c (PER_CHAR_METRIC): Removed.
12500 (x_per_char_metric_1, x_default_char): New functions.
12501 (x_per_char_metric): If font's default char is invalid, return
12502 metrics of a suitably chosen usable default char.
12503 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
12504 char, replace occurrences of unprintable chars with a suitably
12505 chosen usable default char.
71a6ba55 12506
900fa1f1
GM
125072000-03-02 Gerd Moellmann <gerd@gnu.org>
12508
42f55fe0
GM
12509 * xterm.c (note_mouse_highlight): Return quickly if frame's
12510 glyph matrices have been freed.
12511
12512 * dispnew.c (free_glyphs): Block input while freeing matrices.
12513
900fa1f1
GM
12514 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12515
52283633
SM
12516 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12517 Use x_free_colors.
900fa1f1
GM
12518
12519 * dispextern.h (x_free_colors): Add prototype.
12520
12521 * xfaces.c (x_free_colors): New function.
12522 (unload_color, free_face_colors): Use it.
12523
2f950292
EZ
125242000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12525
12526 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12527
12528 * window.c [MSDOS]: Include msdos.h.
12529
54d04320
DL
125302000-03-02 Dave Love <fx@gnu.org>
12531
12532 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12533
12534 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12535 set C_OPTIMIZE_SWITCH for gcc.
12536
0ba93ac4
KH
125372000-03-02 Kenichi Handa <handa@etl.go.jp>
12538
12539 * coding.c (coding_save_composition): Be sure to allocate
12540 composition data area in coding even if there's no composition in
12541 the current run.
12542
a2bc11d4
JR
125432000-03-01 Jason Rumney <jasonr@gnu.org>
12544
12545 * w32term.c: Equivalent changes to those made to xterm.c on
12546 2000-02-25 and 2000-02-24.
12547
12548 * w32fns.c: Equivalent changes to those made to xfns.c on
12549 2000-02-25 and 2000-02-21.
12550
12551 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12552 correct line-end convention is followed.
12553
12554 * w32menu.c [HAVE_BOXES]: Remove #undef.
12555 (single_keymap_panes): Remove code for simulating checkmarks.
12556 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12557 Remove code for drawing simulated checkmarks.
12558 (w32_menu_show): make unibyte help string correctly.
12559 (add_menu_item): draw standard Windows checkmarks. Draw radio
12560 buttons as radio buttons if possible.
12561
72d19d75
GM
125622000-03-01 Gerd Moellmann <gerd@gnu.org>
12563
2df636f4
GM
12564 * sysdep.c (start_of_text): Don't define this function for NetBSD
12565 with ELF.
12566
427ec082 12567 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
12568 Don't define.
12569 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12570 (LINKER): Don't undef if __NetBSD__ is defined.
12571
12572 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12573
12574 * fileio.c [__NetBSD__]: Define `unix'.
12575
72d19d75
GM
12576 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12577
ed4d0512
GM
125782000-02-29 Gerd Moellmann <gerd@gnu.org>
12579
50b1039f
GM
12580 * atimer.c (start_atimer): Don't abort when timers are stopped.
12581 (append_atimer_lists): New function.
12582 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12583 arbitrary lists of stopped and running atimers.
12584
ed4d0512
GM
12585 * atimer.c (cancel_atimer): Handle canceling an atimer when
12586 some timers are stopped.
12587
12588 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12589 after canceling it.
12590
12591 * fns.c (maybe_resize_hash_table): Handle case of new size
12592 coming out as being the same as old size.
12593
387023ee
JR
125942000-02-27 Jason Rumney <jasonr@gnu.org>
12595
12596 * makefile.nt: Add atimer.h to dependencies.
12597 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12598 * w32console.c: Only disable window system features for dispextern.h
12599 (initialize_w32_display): Build a display info for the console.
12600 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12601 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12602 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
12603 as 2 button mice.
12604 * w32gui.h (struct W32FontStruct): Revert last change after change
12605 to xdisp.c.
12606 * w32menu.c (single_submenu): Set up help string.
12607 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
12608 (w32_dialog_show): Set up help string.
12609 * w32term.c (w32_display_info_for_display): Remove unused function.
12610 (w32_draw_bitmap): Use pre-built bitmaps.
12611 (w32_initialize_display_info): New function to initialize parts of
12612 display info that are common to both GUI and console frames.
12613 (w32_term_init): Use w32_initialize_display_info. Do not set
12614 Vw32_num_mouse_buttons here, as it is not called for console
12615 frames. Build bitmaps for indicating truncated lines etc.
12616 (x_delete_display): Destroy pre-built bitmaps.
12617 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
12618 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
12619
4516715a
DL
126202000-02-27 Dave Love <fx@gnu.org>
12621
12622 * lisp.h: Add a bunch of prototypes.
12623
171ca836
KH
126242000-02-26 Kenichi Handa <handa@etl.go.jp>
12625
12626 * keyboard.c (read_char): Set `usec' correctly.
12627
4013921d
KH
126282000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12629
12630 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
12631 `lambda', set reg[RRR] to the map index.
12632 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
12633 reg[RRR] to 0. Otherwise, set it to -1.
12634
9244a058
GM
126352000-02-25 Gerd Moellmann <gerd@gnu.org>
12636
2df636f4 12637 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 12638
18e21ce8 126392000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 12640
f43d79c1
GM
12641 * fileio.c (Ffile_symlink_p): If result starts with a `/'
12642 and contains a `:', prepend `/:'.
12643
12644 * window.c (select_window_1): If selected_window is nil,
12645 don't "swap out" the buffer's point.
12646 (Fset_window_configuration): Set selected_window to nil
12647 before calling Fselect_window.
12648 (unshow_buffer): Don't set point in buffer from window's point
12649 if another more recently selected window also shows the buffer.
12650
bed0c171
GM
126512000-02-25 Gerd Moellmann <gerd@gnu.org>
12652
449c3c52
GM
12653 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12654
f5b58615
GM
12655 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12656 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12657 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12658 New variables.
f5b58615
GM
12659 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12660 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12661 (hide_busy_cursor): New functions.
12662 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12663
12664 * minibuf.c (read_minibuf): Cancel busy-cursor.
12665
12666 * keyboard.c (command_loop_1): Call start_busy_cursor before
12667 Fcommand_execute and cancel_busy_cursor after it.
12668 (timer_check): Remove busy-cursor code.
12669 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12670 cursor timer.
12671
12672 * process.c (wait_reading_process_input): Remove busy-cursor code.
12673
12674 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12675 Fx_hide_busy_cursor.
12676
12677 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12678 Remove prototyoes.
12679 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12680
12681 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12682
12683 * xterm.c (XTread_socket): Remove busy-cursor code.
12684
4eb8436f
GM
12685 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12686 (build_frame_matrix_from_leaf_window): Put code handling
12687 glyph row's not being a slice of a frame row in #if 0.
12688 (sync_window_with_frame_matrix_rows): New function.
12689 (frame_row_to_window): New function.
12690 (mirror_line_dance): Handle copies between windows.
12691
3cb65b0e
GM
12692 * lread.c (Fload): Use `xfree' instead of `free'.
12693 (init_obarray): Use `xmalloc' instead of `malloc'.
12694
bed0c171
GM
12695 * window.c (Fset_window_buffer): Set WINDOW to the window
12696 after decoding.
2add4349
GM
12697 (coordinates_in_window): Take frame's internal border width
12698 into account.
bed0c171 12699
42088c12
GM
127002000-02-24 Gerd Moellmann <gerd@gnu.org>
12701
12702 * xterm.c (x_display_and_set_cursor): Display cursor of
12703 non-selected windows depending on the setting of
12704 cursor_in_non_selected_windows.
12705
12706 * xdisp.c (cursor_in_non_selected_windows): New variable.
12707 (syms_of_xdisp): DEFVAR_BOOL it.
12708
d1e103b2
GM
127092000-02-23 Gerd Moellmann <gerd@gnu.org>
12710
723e779c
GM
12711 * data.c (Fstring_to_number): If number is greater than what
12712 fits into an integer, return a float.
12713
d1e103b2
GM
12714 * eval.c (specbind): Remove references to
12715 keyword_symbols_constant_flag.
12716
12717 * data.c (keyword_symbols_constant_flag): Removed.
12718 (Fmakunbound, set_internal, syms_of_data): Remove references to
12719 keyword_symbols_constant_flag.
12720
12721 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12722
214f877f
KH
127232000-02-23 Kenichi Handa <handa@etl.go.jp>
12724
12725 * syntax.c (multibyte_syntax_as_symbol): New variable.
12726 (syms_of_syntax): Declare it as a Lisp variable.
12727 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12728 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12729 nonzero, treat all multibyte characters as symbol.
52283633 12730 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12731
130adcb7
EZ
127322000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12733
3cb65b0e 12734 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12735 a deleted frame.
130adcb7 12736
17cbbf95
GM
127372000-02-21 Gerd Moellmann <gerd@gnu.org>
12738
12739 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
12740
12741 * xfns.c (x_window_to_frame, x_any_window_to_frame)
12742 (x_non_menubar_window_to_frame): Check the busy-cursor window.
12743
beb0bc36
DL
127442000-02-21 Dave Love <fx@gnu.org>
12745
12746 * frame.c (Vmouse_position_function): New variable.
12747 (Fmouse_position): Use it.
12748 (syms_of_frame): Install it.
12749
12750 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
12751
1d92afcd
GM
127522000-02-20 Gerd Moellmann <gerd@gnu.org>
12753
12754 * fileio.c (Finsert_file_contents): Unbind the binding of
12755 standard-output done by temp_output_buffer_setup.
329eed9f
GM
12756
12757 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
12758 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
12759 (specbind, unbind_to): Handle most common case of non-constant
12760 symbol with trivial value specially.
12761
12762 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
12763
18e21ce8 127642000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
12765
12766 * data.c (Fmake_variable_buffer_local): Doc fix.
12767 Init found_for_buffer to 0.
12768 (Fmake_variable_frame_local): If the variable has already
12769 been buffer-local, set the check_frame field.
12770
1d4311c3
EZ
127712000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
12772
12773 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
12774 produced for CODING_MODE_LAST_BLOCK requires.
12775
2dc95ddd
DL
127762000-02-18 Dave Love <fx@gnu.org>
12777
12778 * keyboard.c (echo_keystrokes): Remove declaration.
12779 (Vecho_keystrokes) New variable.
12780 (read_char, record_menu_key, read_key_sequence): Use it to allow
12781 use of float value.
12782 (syms_of_keyboard): Change Vecho_keystrokes declaration.
12783
12784 * lread.c: Undef feature selection macros before defining.
12785
f0930f35
GM
127862000-02-18 Gerd Moellmann <gerd@gnu.org>
12787
12788 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
12789 for symbols other than the symbol in question.
12790
e3d4de90
DL
127912000-02-17 Dave Love <fx@gnu.org>
12792
12793 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
12794
0b378936
GM
127952000-02-17 Gerd Moellmann <gerd@gnu.org>
12796
d621caf7
GM
12797 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
12798
0b378936
GM
12799 * alloc.c (enum mem_type): Compile unconditionally.
12800
3b451f74
EZ
128012000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
12802
12803 * xfaces.c (tty_defined_color): Don't return faulire indication
12804 for unspecified-fg and unspecified-bg pseudo-colors.
12805
10689a01
GM
128062000-02-17 Gerd Moellmann <gerd@gnu.org>
12807
1216f5e4
GM
12808 * alloc.c (mark_object): Don't mark symbol names in pure space.
12809 (gc_sweep): Don't unmark symbol names in pure space.
12810
12811 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
12812 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
12813 [GC_MARK_STACK]: New defines.
427ec082 12814 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
12815 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
12816
12817 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
12818
12819 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
12820 allocate_buffer instead of xmalloc.
12821
12822 * alloc.c (toplevel): Include setjmp.h.
12823 (PURE_POINTER_P): New define.
12824 (enum mem_type) [GC_MARK_STACK]: New enumeration.
12825 (Vdead) [GC_MARK_STACK]: New variable.
12826 (lisp_malloc): Add parameter TYPE, call mem_insert if
12827 GC_MARK_STACK is defined.
12828 (allocate_buffer): New function.
427ec082 12829 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
12830 (free_float) [GC_MARK_STACK]: Set type to Vdead.
12831 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
12832 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
12833 (MEM_NIL) [GC_MARK_STACK]: New define.
12834 (struct mem_node) [GC_MARK_STACK]: New structure.
12835 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
12836 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
12837 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
12838 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
12839 (mark_stack) [GC_MARK_STACK]: New functions.
12840 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
12841 (clear_marks): Removed.
12842 (gc_sweep): Set free conses' car, free floats' type, free
12843 symbols' function to Vdead. Use lisp_free to free buffers.
12844 (init_alloc_once): Initialize Vdead.
12845 (survives_gc_p): Return non-zero for pure objects.
12846
12847 * alloc.c: Add comments throughout the file.
12848
2503c8b1
GM
12849 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
12850 that unblocks alarms.
12851
8389e1e2
GM
12852 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
12853 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
12854 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
12855
10689a01 12856 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 12857
bfc17d18
KH
128582000-02-17 Kenichi Handa <handa@etl.go.jp>
12859
4a09dee0
KH
12860 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
12861 avoid infinite error signaling. Allocate sufficient memory for
12862 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 12863
2b927d02
SM
128642000-02-17 Stefan Monnier <monnier@cs.yale.edu>
12865
12866 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
12867 depends on the previous behavior.
12868
b49cb764
GM
128692000-02-16 Gerd Moellmann <gerd@gnu.org>
12870
12871 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
12872
99e95407
GM
128732000-02-15 Gerd Moellmann <gerd@gnu.org>
12874
12875 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
12876
12877 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 12878 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
12879 write(2).
12880
6ffd3cf7
RS
128812000-02-15 Richard M. Stallman <rms@gnu.org>
12882
12883 * data.c (set_internal): Don't make variable buffer-local
12884 if within a let-binding for the same buffer.
12885 (let_shadows_buffer_binding_p): New function.
12886
12887 * eval.c (specbind): For buffer-local value,
12888 record the current buffer also.
12889 (unbind_to): Cope with that change.
12890
cad53475
GM
128912000-02-15 Gerd Moellmann <gerd@gnu.org>
12892
12893 * window.c (Fsave_window_excursion): Doc fix.
12894
1aa963c8
SM
128952000-02-15 Stefan Monnier <monnier@cs.yale.edu>
12896
12897 * syntax.c (back_comment): Make sure we only consider comment-starters
12898 of the relevant style and return -1 in case of a failure to find the
12899 beginning of the comment.
12900 (Fforward_comment): If back_comment fails, go back to the position just
12901 after the comment-end.
12902 (scan_lists): Add comment describing a very minor bug.
12903
b9b84fd3
SM
129042000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12905
12906 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
12907 `completion-regexp-list' in the docstring.
12908
3a28db80
DL
129092000-02-14 Dave Love <fx@gnu.org>
12910
12911 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
12912
fb4a568d
SM
129132000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12914
12915 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
12916 to Emacs' syntax. Also fix the comment about set/not-set meanings
12917 since Emacs syntax is not the value 0 any more.
12918 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
12919 since it's now part of RE_SYNTAX_EMACS.
12920
1063ebb5
DL
129212000-02-12 Dave Love <fx@gnu.org>
12922
52283633 12923 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 12924
fb07a302
GM
129252000-02-12 Gerd Moellmann <gerd@gnu.org>
12926
12927 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
12928
aaf2320c
DL
129292000-02-12 Dave Love <fx@gnu.org>
12930
12931 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
12932
12933 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
12934 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
12935 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
12936
12937 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
12938
12939 * s/nextstep.h: Don't define HAVE_ALLOCA.
12940
12941 * config.in: Add vfork bits.
12942
eedf8bde
GM
129432000-02-12 Gerd Moellmann <gerd@gnu.org>
12944
12945 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
12946 unwind function to undo the effect of stopping atimers.
12947
52283633 12948 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
12949
12950 * atimer.c (stopped_atimers): New variable.
12951 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
12952 New functions.
12953
12954 * atimer.h (stop_other_atimers, run_all_atimers)
12955 (unwind_stop_other_atimers): Add function prototypes.
427ec082 12956
eedf8bde
GM
12957 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
12958
8476c2f8
KR
129592000-02-11 Ken Raeburn <raeburn@gnu.org>
12960
12961 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
12962 library may depend on jpeg.
12963 (atimer.o): Depends on atimer.c.
12964
0e85e4a3
KH
129652000-02-11 Kenichi Handa <handa@etl.go.jp>
12966
12967 * insdel.c (del_range_1): Call update_compositions.
12968 (del_range_both): Call update_compositions just once..
12969
97fa0cc8
DL
129702000-02-10 Dave Love <fx@gnu.org>
12971
12972 * xfns.c (create_frame_xic): Fix initialization of automatic
12973 aggregates for pcc.
12974
25566a3c
KH
129752000-02-09 Kenichi Handa <handa@etl.go.jp>
12976
12977 * ccl.c (CCL_MAKE_CHAR): New macro.
12978 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
12979 registers by CCL_MAKE_CHAR before calling translate_char.
12980 <CCL_TranslateCharacterConstTbl> Likewise.
12981
69da54ba
DL
129822000-02-08 Dave Love <fx@gnu.org>
12983
12984 * lread.c (__EXTENSIONS__): Define.
12985
f7136ee8
GM
129862000-02-08 Gerd Moellmann <gerd@gnu.org>
12987
12988 * puresize.h (BASE_PURESIZE): Increase to 650000.
12989
7768790b
EZ
129902000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12991
12992 * msdos.c (XMenuActivate): Turn off the cursor after displaying
12993 the help message.
12994
38fd211b
EZ
129952000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12996
12997 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12998 md, mh, mb, mr, and me to the fake termcap entry.
12999
66e4690f
KR
130002000-02-06 Ken Raeburn <raeburn@gnu.org>
13001
13002 * sound.c (sound_cleanup): Don't call device close routine if the
13003 function pointer is null.
13004
a75dfea0
AI
130052000-02-06 Andrew Innes <andrewi@gnu.org>
13006
13007 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13008 around image definitions and prototypes.
13009 (gamma_correct) [WINDOWSNT]: New prototype.
13010
13011 * w32term.c (x_make_frame_visible): Replace call to
13012 input_poll_signal with poll_for_input.
13013
13014 * window.c [WINDOWSNT]: Include w32term.h.
13015
13016 * xdisp.c [WINDOWSNT]: Include w32term.h.
13017
13018 * makefile.nt: Add dependencies on w32gui.h.
13019 (OBJ1): Include atimer.obj.
13020 ($(BLD)\atimer.obj): New dependency rule.
13021
13022 * w32.c (sigmask): New function (does nothing).
13023 (sigunblock): Ditto.
13024
13025 * frame.c [WINDOWSNT]: Include w32term.h.
13026
13027 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13028
13029 * lread.c (syms_of_lread): Fix literal newlines.
13030
13031 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13032 the string constant limit (2048 bytes) in MSVC.
13033 (main): Ditto.
13034
59ddecde
GM
130352000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13036
52283633 13037 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13038 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13039 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13040 dispatch the event.
13041
07590973
DL
130422000-02-04 Dave Love <fx@gnu.org>
13043
13044 * fileio.c: Remove some unused vars.
13045 (_GNU_SOURCE): Define (for euidaccess).
13046
13047 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13048
13049 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13050 gcpro1, gcpro2.
13051 (read_minibuf): Deal with allow_props correctly.
13052
649351f9
EZ
130532000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13054
13055 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13056
66e4690f 130572000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13058
13059 * search.c (compile_pattern): If a cache entry has a nil regexp,
13060 fill in that entry instead of clobbering a previously cached
13061 string regexp.
13062
66e4690f 130632000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13064
13065 * puresize.h (BASE_PURESIZE): Increase to 610000.
13066
d240a249
GM
130672000-02-02 Gerd Moellmann <gerd@gnu.org>
13068
13069 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13070 can GC.
13071
ca91fb26
KH
130722000-02-02 Kenichi Handa <handa@etl.go.jp>
13073
25660570
KH
13074 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13075 instead of incrementing ic directly.
13076 <CCL_WriteExprConst> Likewise.
13077 <ccl_set_expr>: Set ic to jump_address.
13078
ca91fb26
KH
13079 * fileio.c (e_write): Fix the handling of
13080 CODING_FINISH_INSUFFICIENT_SRC.
13081
2ede9689
DL
130822000-02-01 Dave Love <fx@gnu.org>
13083
13084 * editfns.c (Fpropertize): Doc fix.
13085
13086 * process.c (Fstart_process): Doc fix.
13087
13088 * eval.c: Fix various doc strings not to duplicate information
13089 from help-manyarg-func-alist.
13090
52283633 13091 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13092
13093 * doc.c (Vhelp_manyarg_func_alist): New variable.
13094 (Fdocumentation): Use it.
13095 (syms_of_doc): Define it.
13096
b6680a0e
GM
130972000-01-31 Gerd Moellmann <gerd@gnu.org>
13098
2cb750ba
GM
13099 * xterm.c (xim_open_dpy): Remove unused local variable.
13100
52283633 13101 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13102
13103 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13104 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13105
b6680a0e
GM
13106 * fns.c (sweep_weak_table): New function.
13107 (sweep_weak_hash_tables): Use it. Keep on marking until there
13108 is no more change.
13109
994c5afe
GM
131102000-01-30 Gerd Moellmann <gerd@gnu.org>
13111
13112 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13113 that XTread_socket does not crash by trying to call XNoOp on a
13114 closed display.
427ec082 13115
f00276e3
JR
131162000-01-30 Jason Rumney <jasonr@gnu.org>
13117
13118 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13119 Change selected_frame to SELECTED_FRAME ().
13120 (w32_console_mouse_position): Remove #ifndef MULE from around
13121 `insist' parameter.
13122
13123 * makefile.nt: Remove dosfns.obj.
13124
13125 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13126
13127 * w32fns.c (w32_defined_color): Check for valid frame before
13128 applying gamma correction. Eliminate dependency on frame elsewhere.
13129 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13130 (w32_to_x_font): Use resx and resy not height_in and width_in.
13131 (x_to_w32_font): Doc fix.
13132 (xlfd_strip_height): New function to strip and return font height.
13133 (w32_font_match): Compare height separately from rest of xlfd
13134 spec, using xlfd_strip_height.
13135
13136 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13137 width_in. Use w32_defined_color in place of defined_color.
13138
13139 * w32faces.c: Merge more of DOS and X specifics in preparation for
13140 merge with xfaces.c.
13141 (defined_color): Remove FIXME comment.
13142 (tty_color_name): Provide w32-specific function.
13143 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13144
13145 * w32console.c (turn_on_face, turn_off_face): Removed.
13146 (w32_face_attributes): New function.
13147 (Global_variables): Reduce scope where possible.
13148 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13149 fill attribute.
13150 (hl_mode): Don't modify text attributes.
13151 (write_glyphs): Don't do anything if len <= 0. Use
13152 w32_face_attributes to get attributes for drawing. Write
13153 terminating codes using char_attr_normal.
13154 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13155 (update_begin, update_end): Likewise.
13156 (vga_stdcolor_name): New function.
13157 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13158 (Fset_screen_color): Remove char_attr_reverse.
13159
b08e8bb2
GM
131602000-01-29 Gerd Moellmann <gerd@gnu.org>
13161
13162 * xfns.c (xic_set_preeditarea): Take window parameter and
13163 window-relative pixel-positions.
13164
13165 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13166 is its frame's selected window.
13167 (xim_instantiate_callback): Likewise.
13168
13169 * xfns.c (x_create_im): Removed.
13170 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13171 (supported_xim_styles): Renamed from supported_styles.
13172 (best_xim_style): Renamed from best_style.
13173 (create_frame_xic): Renamed from xic_create_frame.
13174 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13175
b08e8bb2
GM
131762000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13177
13178 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13179 our frames, call XFilterEvent with 2nd parameter `None'.
13180 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13181 returning XBufferOverflow.
52283633 13182 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13183 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13184 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13185 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13186 (xim_initialize, xim_close)
13187 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13188 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13189 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13190 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13191
13192 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13193 and `xim_styles'.
13194 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13195 `xic_style' and `xic_xfs'.
13196 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13197 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13198 (FRAME_XIM): Removed.
13199
13200 * xfns.c (supported_styles): New variable.
13201 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13202 (xic_create_xfontset, best_style, xic_create_frame)
13203 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13204 (xic_set_xfontset): New functions.
13205
142e109c
DL
132062000-01-28 Dave Love <fx@gnu.org>
13207
13208 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13209
13210 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13211
b02786f9
GM
132122000-01-28 Gerd Moellmann <gerd@gnu.org>
13213
d060bc9f
GM
13214 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13215 for *scratch* if it already existed.
13216
b02786f9
GM
13217 * emacs.c (USAGE): New macro.
13218 (main): Use it to display usage information.
13219
2c52d7e4
EZ
132202000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13221
13222 Support for the menu-help feature:
13223
52283633 13224 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13225
13226 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13227 part of the line to the termscript file.
13228 (IT_clear_to_end): Clear the entire line, not just its beginning.
13229 (menu_help_message, prev_menu_help_message): New variables.
13230 (IT_menu_make_room): Make room for the help_text member.
13231 (IT_menu_display): New argument disp_help; all callers changed.
13232 If disp_help is non-zero, store the help text of the active menu
13233 item in menu_help_message.
13234 (XMenuAddPane): Initialize the help_text member to NULL.
13235 (XMenuAddSelection): New argument help_text. Store it in the
13236 XMenu structure.
13237 (XMenuActivate): New argument help_callback. If the value of
13238 menu_help_message has changed since the last time, display the
13239 menu help message text while waiting for the mouse to move. Clear
13240 the echo area before exiting.
13241 (XMenuDestroy): Free the help_text member.
13242
ffe0bcd1
GM
132432000-01-27 Gerd Moellmann <gerd@gnu.org>
13244
13245 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13246 XMenuAddSelection. Pass help callback to XMenuActivate.
13247 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13248
50dbd23f
EZ
132492000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13250
13251 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13252 and EMACS_SET_USECS.
13253
f5941bf8
GM
132542000-01-26 Dave Love <fx@gnu.org>
13255
6c67ddee
DL
13256 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13257
f5941bf8
GM
13258 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13259 an error may be signalled.
13260
9e49c990
GM
132612000-01-26 Gerd Moellmann <gerd@gnu.org>
13262
fc3cb460
GM
13263 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13264 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13265
9e49c990
GM
13266 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13267
d0c037d8
GM
132682000-01-25 Gerd Moellmann <gerd@gnu.org>
13269
13270 * charset.c (Fstring): If there is a multibyte char among
13271 the args, always return a multibyte string.
13272
e12489f9
GM
132732000-01-25 Gerd Moellmann <gerd@gnu.org>
13274
13275 * sysdep.c (sys_select): Turn atimers off and on instead of
13276 recording and restoring old alarm handler
13277
13278 * process.c (toplevel): Include atimer.h.
13279 (create_process_1): Rewritten.
13280 (create_process): Use atimers instead of alarm.
13281 (wait_reading_process_input) [hpux]: Turn atimers off instead
13282 of turning off SIGALRM.
13283 (wait_reading_process_input): Turn off atimers instead off
13284 calling stop_polling.
13285
13286 * emacs.c (main): Call init_atimer.
13287
13288 * keyboard.c (toplevel): Include systime.h and atimer.h.
13289 (polling_for_input): Removed because unused.
13290 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13291 (poll_timer): New variable.
13292 (poll_for_input, poll_for_input_1): New functions.
13293 (start_polling, stop_polling): Rewritten.
13294
13295 * keyboard.h (polling_for_input): Removed.
427ec082 13296
e12489f9
GM
13297 * atimer.h, atimer.c: New files.
13298
13299 * Makefile.in (obj): Add atimer.o.
13300 (atimer.o): New target.
13301
13302 * blockinput.h (pending_atimers): Add extern declaration.
13303 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13304
13305 * lisp.h (popup_activated_flag): Add extern declaration.
13306
13307 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13308 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13309 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13310
13311 * xterm.c (toplevel): Include atimer.h.
13312 (toolkit_scroll_bar_interaction): New variable.
13313 (Fxt_process_timeouts): Removed.
13314 (x_process_timeouts): New function.
13315 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13316 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13317 (x_make_frame_visible): Call poll_for_input_1 instead of
13318 input_poll_signal. Don't call alarm.
13319 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13320
1e5279b9
DL
133212000-01-24 Dave Love <fx@gnu.org>
13322
6c67ddee 13323 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13324 Don't use -cckr -- apparently not now necessary.
13325
edf6aeb8
EZ
133262000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13327
13328 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13329 screen boundary.
13330
9badad41
JR
133312000-01-23 Jason Rumney <jasonr@gnu.org>
13332
13333 * w32fns.c (w32_defined_color): Apply gamma correction before
13334 trying to map to the palette.
13335 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13336 to w32_clear_rect.
13337
13338 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13339 here. Callers changed to always pass real device context.
13340 (w32_draw_bitmap): Likewise.
13341 (w32_get_glyph_overhangs): Likewise.
52283633 13342 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13343 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13344 pfnSetScrollInfo and SetScrollRange.
13345 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13346 back into MULE characters after decoding them.
13347 (x_get_glyph_face_and_encoding): Likewise.
13348 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13349 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13350 (x_produce_glyphs): Calculate per char metrics for a character
13351 that we know exists in default font when font_not_found_p is true.
13352
63bd786b
JR
133532000-01-22 Jason Rumney <jasonr@gnu.org>
13354
13355 * makefile.nt (intervals.obj, composite.obj): New modules.
13356 (composite.h): Added as dependency where appropriate.
13357
13358 * w32gui.h (XGCValue): New struct for emulating X GCs.
13359
13360 * w32term.h (XCharStruct): New struct for emulating X.
13361
13362 * w32console.c (turn_on_face, turn_off_face): New functions.
13363 (change_line_highlight): New prototype for new redisplay.
13364 (write_glyphs): Support multibyte text. Support faces.
13365
52283633 13366 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13367
13368 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13369 throughout. struct frame * in place of FRAME_PTR.
13370 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13371 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13372 (w32_get_arg): Renamed from x_get_arg.
13373 (Fx_file_dialog): New function.
13374 (w32_list_fonts): Check cache before asking system.
13375 (Vw32_enable_synthesized_fonts): New variable.
13376 (Vw32_enable_italics): Obsolete, removed.
13377
13378 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13379 Use SELECTED_FRAME macro.
13380
13381 * w32menu.c: Add skeleton support for help strings on menus.
13382 (add_menu_item): Native checkbox and radio support added, but not
13383 yet enabled due to bugs.
13384 (push_menu_item): Add parameters type, selection and help.
13385 Callers updated.
13386 Formatting changes to reduce unnecessary diffs with xmenu.c.
13387
13388 * w32select.c (Fw32_set_clipboard_data): Update call to
13389 find_charset_in_str.
13390
13391 * w32term.c: Complete rewrite for new redisplay based on new
13392 xterm.c with necessary sections merged back in from old w32term.c.
13393
6ffd3cf7 133942000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13395
13396 * data.c (set_internal): Further fix in same criterion.
13397
6ffd3cf7 133982000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13399
13400 * data.c (set_internal): Fix the criteria for whether
13401 to swap out the old cached binding.
13402
60af03f1
DL
134032000-01-19 Dave Love <fx@gnu.org>
13404
13405 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13406
f9be074f
KH
134072000-01-18 Kenichi Handa <handa@etl.go.jp>
13408
13409 * regex.c (re_compile_fastmap): While checking a range table for
13410 `charset', skip flag bits for a character class correctly.
13411
52b8dbf9
GM
134122000-01-17 Gerd Moellmann <gerd@gnu.org>
13413
d36100c9
GM
13414 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13415
52283633 13416 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
13417
13418 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 13419 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
13420
13421 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
13422 MENU_ITEMS_ITEM_.*.
13423 (MENU_ITEMS_ITEM_HELP): New enumerator.
13424 (push_menu_item): Add parameter HELP. Record help in menu_items.
13425 (single_menu_item, single_submenu, list_of_items): Call
13426 push_menu_item with new parameter.
13427 (single_submenu): Set help string in widget value.
13428 (menu_highlight_callback): New function.
13429 (set_frame_menubar): Call lw_create_widget with new
13430 parameter list.
13431 (xmenu_show, xdialog_show): Ditto.
13432
3139018f
GM
134332000-01-13 Gerd Moellmann <gerd@gnu.org>
13434
13435 * sound.c (Fplay_sound): Improve doc string.
13436
83c8f461
RS
134372000-01-11 Richard M. Stallman <rms@gnu.org>
13438
13439 * lisp.h (set_internal): Enter the new arg.
13440
13441 * eval.c (specbind): Record buffer-local variables specially,
13442 indicating which buffer's binding was saved.
13443 (unbind_to): Restore buffer-local variables specially
13444 in the proper buffer.
13445
13446 * data.c (set_internal): New arg BUF.
427ec082 13447
83c8f461
RS
13448 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
13449 * data.c (Fset): Pass new arg to set_internal.
13450 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 13451
1fab1775
GM
134522000-01-11 Gerd Moellmann <gerd@gnu.org>
13453
52283633 13454 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 13455
83c8f461 134562000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
13457
13458 * minibuf.c (Ftry_completion): Doc fix.
13459
7a85e4df
GM
134602000-01-11 Gerd Moellmann <gerd@gnu.org>
13461
13462 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
13463 vector, too.
13464
a970dae4
AS
134652000-01-11 Andreas Schwab <schwab@suse.de>
13466
13467 * coding.c (code_convert_region): Initialize total_skip.
13468
c65d14ee
DL
134692000-01-08 Dave Love <fx@gnu.org>
13470
13471 * eval.c (Fuser_variable_p): Check customizability too.
13472
834938d2
GM
134732000-01-07 Gerd Moellmann <gerd@gnu.org>
13474
13475 * minibuf.c (Fcompleting_read): Doc fix.
13476
e0303cd6
GM
134772000-01-05 Gerd Moellmann <gerd@gnu.org>
13478
8a26744b
GM
13479 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13480 -L /usr/local/lib.
13481
e0303cd6
GM
13482 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13483 Check that input style is supported before trying to create an
13484 IC for it.
13485 (x_window): Call x_create_im.
427ec082 13486
2e471eb5
GM
134872000-01-04 Gerd Moellmann <gerd@gnu.org>
13488
560a7bd2
GM
13489 * xfns.c (current_gif_memory_src): New variable.
13490 (gif_load): Record the address of the current memory source
13491 in current_gif_memory_src.
13492 (gif_read_from_memory): Use current_gif_memory_src.
13493
f9ee84a3
GM
13494 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13495 macros statement form.
13496
d1299cde
GM
13497 * sound.c (struct sound): Renamed from struct sound_file.
13498 (struct sound): Add members `data' and `header_size'.
13499 (enum sound_attr): Add SOUND_DATA.
13500 (current_sound, current_sound_device): Variables renamed from
13501 sound_file and sound_device.
13502 (parse_sound): Parse :data.
13503 (parse_sound): Handle sound data in strings.
13504 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 13505 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
13506 needed header size.
13507 (wav_play, au_play): Play sounds from string data.
13508
2e471eb5
GM
13509 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13510
13511 * lisp.h: Add prototype for allocate_string_data.
13512
52283633 13513 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
13514
13515 * alloc.c (mark_buffer): Remove code in #if 0.
13516 (gc_sweep): Ditto.
13517 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13518 (strings_consed): New variable.
13519 (allocate_string): Set it.
13520 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13521 (Fmemory_use_counts): Return strings_consed. Use Flist.
13522
13523 * alloc.c: General cleanup in comments etc. Remove conditional
13524 compilation for `standalone'.
13525
13526 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13527
13528 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13529 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13530 (DONT_COPY_FLAG): Removed.
13531 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13532 (struct sdata, struct sblock): New
13533 (struct string_block): Rewritten.
13534 (STRINGS_IN_STRING_BLOCK): New macro.
13535 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13536 (large_sblocks, string_blocks, string_free_list): New variables.
13537 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13538 (init_strings): Rewritten.
13539 (allocate_string, allocate_string_data, compact_small_strings)
13540 (free_large_strings, sweep_strings): New functions.
13541 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13542 (struct string_block_head, current_string_block)
13543 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13544 (STRING_PAD): Removed.
13545 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13546 (Fgarbage_collect): Don't set mark bit in large strings.
13547 (mark_object): Mark strings differently. Mark symbol names
13548 differently.
13549 (survives_gc_p): Test marked strings differently.
427ec082 13550 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13551 symbol names.
13552 (compact_strings): Removed.
13553
42608ba8
EZ
135542000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13555
13556 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13557 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13558
e0a09e1a
KH
135592000-01-04 Kenichi Handa <handa@etl.go.jp>
13560
dd9f0750 13561 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 13562 in a non-empty buffer.
dd9f0750 13563
3c0f3b15 13564 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 13565
44cd3ae5
GM
135662000-01-03 Gerd Moellmann <gerd@gnu.org>
13567
13568 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13569 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13570
13571 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13572
c182a70f
EZ
135732000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13574
13575 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13576 need to test for MSDOS frames.
13577
24480d5b
EZ
135782000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13579
13580 * dosfns.c (unspecified_colors): Remove.
13581 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13582 unspecified_bg.
13583 (msdos_stdcolor_name): Return strings for unspecified fore- and
13584 back-ground colors.
13585
13586 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 13587 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
13588 (tty_color_name): Return Lisp strings for unspecified fore- and
13589 back-ground colors.
13590 (Finternal_set_lisp_face_attribute): Remove the special treatment
13591 for Qunspecified_{f,b}g.
52283633 13592 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 13593
047f434a
GM
135942000-01-03 Gerd Moellmann <gerd@gnu.org>
13595
13596 * xdisp.c (reseat_at_next_visible_line_start): Position before
13597 newline only if ending up on a newline.
13598 (next_element_from_ellipsis): Return success. Handle case of
52283633 13599 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
13600 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13601 returns 0.
13602
d684c676
EZ
136032000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13604
13605 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
13606 (Fcolor_supported_p): Renamed from face-color-supported-p.
13607
5fe1d139
EZ
136082000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13609
13610 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
13611 list of colors renamed to tty-defined-color-alist.
13612 (tty_color_name): Pass the frame to tty-color-by-index.
13613 (realize_tty_face): tty-color-alist is now a function which
13614 accepts the frame as argument.
13615
52283633 13616 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 13617
816be8b8
EZ
136182000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13619
13620 * term.c (insert_glyphs): Pass glyph, not &glyph, to
13621 encode_terminal_code.
13622
b635321e
EZ
136232000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13624
13625 * dispnew.c (mode_line_string): Support termcap frames as well.
13626
9b784e96
GM
136272000-01-01 Gerd Moellmann <gerd@gnu.org>
13628
27189709
GM
13629 * syntax.c (Fforward_word): Undo previous change.
13630
13631 * editfns.c (Fconstrain_to_field): Don't constrain if
13632 inhibit-field-text-motion is non-nil.
13633 (Fline_beginning_position): Undo previous change.
13634 (Fline_end_position): Ditto.
13635
13636 * syntax.c (Fforward_word): Notice field boundaries only if
13637 inhibit-field-text-motion is nil.
13638
13639 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
13640
13641 * editfns.c (Vinhibit_field_text_motion): New variable.
13642 (inhibit-field-text-motion): New DEFVAR_LISP.
13643 (Fline_beginning_position, Fline_end_position): Notice field
13644 boundaries only if inhibit-field-text-motion is nil.
13645
45158a91
GM
13646 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
13647 All calls adjusted.
13648 (x_build_heuristic_mask): Likewise.
13649 (xbm_load_image_from_file): Change error output.
13650 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13651 (gif_load, gs_load, x_kill_gs_process): Ditto.
13652
9b784e96
GM
13653 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13654 color indices when accessing raster pixels.
63cec32f
GM
13655 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13656 one of :file or :data.
13657 (enum pbm_keyword_index): Add PBM_DATA.
13658 (pbm_format): Add :data.
13659 (pbm_image_p): Allow either :file or :data.
13660 (pbm_read_file): New function.
13661 (pbm_scan_number): Rewritten to read from string.
13662 (pbm_load): Support :data.
9b784e96 13663
2cb085db 13664See ChangeLog.8 for earlier changes.
6922b018
KH
13665
13666;; Local Variables:
49b3bd82 13667;; coding: iso-2022-7bit
6922b018 13668;; End:
2a34a036
GM
13669
13670 Copyright (C) 2001 Free Software Foundation, Inc.
13671 Copying and distribution of this file, with or without modification,
13672 are permitted provided the copyright notice and this notice are preserved.